Вимкнення безпеки безпеки для конкретного каталогу


11

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

# /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
  • mod-php5-apache2-zend-ce-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

Ніколи не відключайте всі правила !! Це може спричинити серйозні проблеми із безпекою!

Вам потрібно перевірити файл журналу модних безпеки

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.