Wie deaktiviere ich Modsecurity nur für ein bestimmtes Verzeichnis? Ich erhalte Fehler in phpMyAdmin, die durch das Auslösen von Modsecurity basierend auf Regeln verursacht werden. Ich habe die folgenden 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>
Soweit ich weiß, sollte die erste Datei sie deaktivieren, aber sie wird immer noch ausgelöst. Daher habe ich versucht, die Regel-IDs, die sie auslöst, zur 60-Datei hinzuzufügen, aber sie beschwert sich immer noch.
Ich führe die folgenden Pakete unter CentOS 5.3 aus:
- mod_security-2.5.0-jason.2
- httpd-2.2.8-jason.3
- mod-php5-apache2-zend-ce-5.2.10-65
apache-2.2
centos
httpd
mod-security
Drachenmantel
quelle
quelle
Antworten:
SecRuleEngine Off muss funktionieren. Haben Sie versucht, SecRuleEngine in das Verzeichnis aufzunehmen:
anstelle von LocationMatch?
quelle
Auf einigen Servern und Webhosts ist es möglich, ModSecurity über zu deaktivieren
.htaccess
, jedoch nur in seiner Gesamtheit (keine einzelnen Regeln).Um dies auf bestimmte URLs zu beschränken, können Sie in der folgenden
<If>
Anweisung einen regulären Ausdruck angeben ...quelle
Deaktiviere niemals alle Regeln !! Dies kann schwerwiegende Sicherheitsprobleme verursachen!
Sie müssen die Protokolldatei von modsecurity mit überprüfen
und schließen Sie jede Regel einzeln aus, um die Fehler auf der phpmyadmin-Schnittstelle zu reproduzieren.
Als nächstes fügen Sie hinzu:
zu /etc/apache2/mods-enabled/modsecurity.conf
Der Tag , das Sie entfernen müssen werden wie in der Protokolldatei sein dies . Eine vollständige Beschreibung zum Entfernen von Regeln für einen bestimmten Ordner finden Sie im Github-Wiki des Projekts .
quelle