Отключить modsecurity для определенного каталога


11

Как отключить modsecurity только для определенного каталога. Я получаю ошибки в phpMyAdmin, которые вызваны отключением modsecurity на основе правил. У меня установлены следующие файлы:

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

Из того, что я могу найти, первый файл должен отключить его, но он все еще срабатывает, поэтому я попытался добавить идентификаторы правил, которые он отключает, в файл 60, но он все еще жалуется.

Я запускаю следующие пакеты на CentOS 5.3:

  • mod_security-2.5.0-jason.2
  • HTTPD-2.2.8-jason.3
  • мод-php5-apache2-Зенд-се-5.2.10-65

Утвержденный ответ не является безопасным. См. Serverfault.com/a/766395/345813
SherloxTV

Ответы:


17

SecRuleEngine Off должен работать. Вы пытались поместить SecRuleEngine в каталог:

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

вместо LocationMatch?


1
Попытка добавить это в 15 файл и все еще получать те же ошибки, обнаруженные в modsecurity_audit.log
dragonmantank

Включены ли (не комментированы) ли файлы modsecurity_crs_15_customrules.conf и modsecurity_crs_60.custom.conf в /etc/httpd/conf.d/mod_security.conf?
hdanniel

Facepalm Нет, они не были. Это позаботилось об этом.
dragonmantank

3

На некоторых серверах и веб-хостах возможно отключить ModSecurity через .htaccess, но только полностью (не отдельные правила).

Чтобы ограничить это конкретными URL-адресами, вы можете указать регулярное выражение в приведенном <If>ниже утверждении ...

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

Никогда не отключайте все правила! Это может вызвать серьезные проблемы с безопасностью!

Вам нужно проверить файл журнала modsecurity с

tail -f /var/log/apache2/modsec_audit.log

и исключите каждое правило одно за другим, воспроизводя ошибки в интерфейсе phpmyadmin.

Далее добавьте:

<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

Тег, который вам нужно удалить, будет в лог-файле вот так . Полное описание правил удаления для определенной папки см. На вики- сайте Github проекта .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.