SecRuleEngine Off deve funcionar. Você tentou colocar o SecRuleEngine dentro do diretório:
<Directory /var/www/site/phpMA>
SecRuleEngine Off
</Directory>
em vez de LocationMatch?
Como você desabilita o modsecurity para apenas um diretório específico. Estou recebendo erros no phpMyAdmin que são causados por modsecurity trip baseado em regras. Eu tenho os seguintes arquivos configurados:
# /etc/httpd/modsecurity.d/modsecurity_crs_15_customrules.conf
<LocationMatch "^/phpMA/">
SecRuleEngine Off
</LocationMatch>
# /etc/httpd/modsecurity.d/modsecurity_crs_60.custom.conf
<LocationMatch '^/phpMA/*'>
SecRuleRemoveById 950004
SecRuleRemoveById 950005
SecRuleRemoveById 950006
SecRuleRemoveById 960010
SecRuleRemoveById 960012
</LocationMatch>
Pelo que posso encontrar, o primeiro arquivo deve desabilitá-lo, mas ele ainda desarma, então tentei adicionar as IDs de regra que ele está desarmando para o arquivo 60, mas ele ainda reclama.
Estou executando os seguintes pacotes no CentOS 5.3:
Nunca desative todas as regras !! Isso causará sérios problemas de segurança!
Você precisa observar o arquivo de log do mod security com o comando tail -f /var/log/apache2/modsec_audit.log
e excluir cada regra, uma por uma, reproduzindo os erros na interface do phpmyadmin.
Em seguida, adicione:
<Directory /path/to/phpmyadmin>
<IfModule security2_module>
SecRuleRemoveByTag "WEB_ATTACK/SQL_INJECTION"
{And other rules you need to disable ...}
</IfModule>
</Directory>
para /etc/apache2/mods-enabled/modsecurity.conf
A tag que você precisa remover estará no arquivo de log como this . Para obter uma descrição completa da remoção de regras para uma determinada pasta, consulte o wiki do Github do projeto .
Em alguns servidores e hosts da web, é possível desabilitar o ModSecurity via .htaccess
, mas somente em sua totalidade (não em regras individuais).
Para limitar isso a URLs específicos, você pode especificar um regex na declaração <If>
abaixo ...
### DISABLE mod_security firewall
### Some rules are currently too strict and are blocking legitimate users
### We only disable it for URLs that contain the regex below
### The regex below should be placed between "m#" and "#"
### (this syntax is required when the string contains forward slashes)
<IfModule mod_security.c>
<If "%{REQUEST_URI} =~ m#/admin/#">
SecFilterEngine Off
SecFilterScanPOST Off
</If>
</IfModule>