Você pode desativar o ModSecurity em uma URL específica com a diretiva LocationMatch, algo assim:
<LocationMatch "/node/181/edit">
<IfModule mod_security2.c>
SecRuleEngine Off
</IfModule>
</LocationMatch>
Oi eu tenho mod_security habilitado em um servidor centos5 e uma das regras é manter um usuário de postar algum texto em um formulário. O texto é legítimo, mas tem as palavras 'criar' e uma tag html <table>
mais tarde, portanto, está causando um falso positivo.
O erro que estou recebendo está abaixo:
[Sun Apr 25 20:36:53 2010] [error] [client 76.171.171.xxx]
ModSecurity: Access denied with code 500 (phase 2). Pattern match "((alter|create|drop)[[:space:]]+(column|database|procedure|table)|delete[[:space:]]+from|update.+set.+=)" at ARGS:body. [file "/usr/local/apache/conf/modsec2.user.conf"] [line "352"] [id "300015"] [rev "1"] [msg "Generic SQL injection protection"] [severity "CRITICAL"] [hostname "www.mysite.com"] [uri "/node/181/edit"] [unique_id "@TaVDEWnlusAABQv9@oAAAAD"]
e aqui está /usr/local/apache/conf/modsec2.user.conf (linha 352)
#Generic SQL sigs
SecRule ARGS "((alter|create|drop)[[:space:]]+(column|database|procedure|table)|delete[[:space:]]+from|update.+set.+=)" "id:1,rev:1,severity:2,msg:'Generic SQL injection protection'"
As perguntas que tenho são:
Obrigado rapazes
Você pode desativar o ModSecurity em uma URL específica com a diretiva LocationMatch, algo assim:
<LocationMatch "/node/181/edit">
<IfModule mod_security2.c>
SecRuleEngine Off
</IfModule>
</LocationMatch>
Tags apache-2.2 web mod-security