web-dev-qa-db-fra.com

Désactiver le modsecurity pour un répertoire spécifique

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:

  • mod_security-2.5.0-Jason.2
  • httpd-2.2.8-jason.3
  • mod-php5-apache2-zend-CE-5.2.10-65
10
dragonmantank

Secruleengine Off doit travailler. Avez-vous essayé de mettre Secruleengine Inside Directory:

<Directory /var/www/site/phpMA>
SecRuleEngine Off
</Directory>

au lieu d'emplacementMatch?

16
hdanniel

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>
2
Simon East

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 .

2
SherloxFR