Frage Deaktivieren Sie ModSecurity für ein bestimmtes Verzeichnis


Wie deaktivierst du ModSecurity nur für ein bestimmtes Verzeichnis? Ich bekomme Fehler in phpMyAdmin, die durch modsecurity triping basierend auf Regeln verursacht werden. Ich habe folgende Dateien eingerichtet:

# /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>

Von dem, was ich finden kann, sollte die erste Datei es deaktivieren, aber es stolpert immer noch, also habe ich versucht, die Regel-IDs hinzuzufügen, die es auf die Datei 60 stößt, aber es klagt immer noch.

Ich führe die folgenden Pakete auf 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

8
2017-08-21 15:28


Ursprung




Antworten:


SecRuleEngine Off muss funktionieren. Haben Sie versucht, SecRuleEngine in Directory zu setzen:

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

anstelle von LocationMatch?


13
2017-08-21 15:53



Versucht, das zu der 15-Datei hinzuzufügen und immer noch dieselben Fehler zu bekommen, die in modsecurity_audit.log abgefangen werden - dragonmantank
Sind die Dateien modsecurity_crs_15_customrules.conf und modsecurity_crs_60.custom.conf in Ihrer /etc/httpd/conf.d/mod_security.conf enthalten (nicht kommentiert)? - hdanniel
Facepalm Nein, waren sie nicht. Das hat dafür gesorgt. - dragonmantank


Auf etwas Server und Web-Hosts ist es möglich, ModSecurity über zu deaktivieren .htaccess, aber nur in seiner Gesamtheit (nicht einzelne Regeln).

Um dies auf bestimmte URLs zu beschränken, können Sie eine Regex in der <If> Aussage unten ...

### 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>

1
2017-09-01 02:07





Deaktiviere niemals alle Regeln !! Es wird ernsthafte Sicherheitsprobleme verursachen!

Sie müssen die Protokolldatei der Mod-Sicherheit mit ansehen tail -f /var/log/apache2/modsec_audit.log Befehl, und schließen Sie jede Regel nacheinander aus und reproduzieren Sie die Fehler auf der phpmyadmin-Schnittstelle.

Als nächstes fügen Sie hinzu:

<Directory /path/to/phpmyadmin>
    <IfModule security2_module>
        SecRuleRemoveByTag "WEB_ATTACK/SQL_INJECTION"
        {And other rules you need to disable ...}
    </IfModule>
</Directory>

nach /etc/apache2/mods-enabled/modsecurity.conf

Das Tag, das Sie entfernen müssen, wird in der Protokolldatei angezeigt diese. Eine vollständige Beschreibung zum Entfernen von Regeln für einen bestimmten Ordner finden Sie unter Github Wiki des Projekts.


0
2018-03-27 23:59