Jak wyłączyć modsecurity tylko dla określonego katalogu. Dostaję błędy w phpMyAdmin, które są spowodowane przez wyzwalanie modsecurity na podstawie reguł. Mam skonfigurowane następujące pliki:
# /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>
Z tego, co mogę znaleźć, pierwszy plik powinien go wyłączyć, ale nadal się wyłącza, więc próbowałem dodać identyfikatory reguły, które się potykają do pliku 60, ale nadal narzeka.
Korzystam z następujących pakietów na 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
apache-2.2
centos
httpd
mod-security
Dragonmantank
źródło
źródło
Odpowiedzi:
SecRuleEngine Off musi działać. Czy próbowałeś umieścić SecRuleEngine w katalogu:
zamiast LocationMatch?
źródło
Na niektórych serwerach i hostach internetowych możliwe jest wyłączenie ModSecurity poprzez
.htaccess
, ale tylko w całości (nie poszczególne reguły).Aby ograniczyć to do określonych adresów URL, możesz określić wyrażenie regularne w
<If>
poniższym zestawieniu ...źródło
Nigdy nie wyłączaj wszystkich zasad !! Może to powodować poważne problemy z bezpieczeństwem!
Musisz sprawdzić plik dziennika modsecurity za pomocą
i wykluczaj każdą regułę jeden po drugim, odtwarzając błędy w interfejsie phpmyadmin.
Następnie dodaj:
do /etc/apache2/mods-enabled/modsecurity.conf
Tag, który musisz usunąć, będzie w pliku dziennika takim jak ten . Pełny opis usuwania reguł dla określonego folderu można znaleźć na wiki projektu Github .
źródło