Comment désactivez-vous ModSecurity pour un répertoire spécifique. Je reçois des erreurs dans phpmyadmin qui sont causées par le déclenchement de modsecurity basé sur des règles. J'ai les fichiers suivants mis en place:
# /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>
D'après ce que je peux trouver le premier dossier devrait le désactiver, mais cela voyage toujours, j'ai essayé d'ajouter les ID de la règle, il s'agit du déclenchement du fichier 60, mais il se plaint toujours.
Je cours les paquets suivants sur Centos 5.3:
Secruleengine Off doit travailler. Avez-vous essayé de mettre Secruleengine Inside Directory:
<Directory /var/www/site/phpMA>
SecRuleEngine Off
</Directory>
au lieu d'emplacementMatch?
Sur certains serveurs et hôtes Web, il est possible de désactiver le modsecurity via .htaccess
, mais seulement dans son intégralité (pas des règles individuelles).
Pour limiter cela à des URL spécifiques, vous pouvez spécifier une regex dans le <If>
déclaration ci-dessous ...
### 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>
Ne jamais désactiver toutes les règles !! Cela pourrait causer de graves problèmes de sécurité!
Vous devez vérifier le fichier journal de modsecurity avec
tail -f /var/log/Apache2/modsec_audit.log
et exclure chaque règle une à une sur une reproduction des erreurs sur l'interface phpmyadmin.
Suivant, ajoutez:
<Directory /path/to/phpmyadmin>
<IfModule security2_module>
SecRuleRemoveByTag "WEB_ATTACK/SQL_INJECTION"
{And other rules you need to disable ...}
</IfModule>
</Directory>
à /etc/apache2/mods-enabled/modsecurity.conf
La balise que vous devez supprimer sera dans le fichier journal comme Ceci . Pour une description complète de la suppression des règles pour un dossier particulier, reportez-vous au GitHub Wiki du projet .