mod_security вообще не работает

mod_security вообще не работает

Я пытаюсь заставить работать mod_security, я много искал в Интернете и следовалэтот урокдля настройки mod_security (все мои файлы конфигурации такие же, как в руководстве), и когда я запускаю httpd -M | grep -Ei '(evasive|security)'его, выводится

 security2_module (shared)
 evasive20_module (shared)

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

Я пробовал загружать модули раньше остальных, после остальных, в середине, перезапускал Apache несколько раз, но ничего не получалось.

Я использую Amazon Linux (это что-то вроде CentOS) с Apache 2.4 Prefork.

решение1

Для оказания помощи необходимо больше информации (все соответствующие конфигурации Apache из httpd.conf и modsecurity.conf).

Однако вот несколько советов, которые могут помочь вам решить проблему самостоятельно:

Вы используете правильную команду IfModule? Я использую mod_security2.c, но не уверен, имеет ли это значение:

<IfModule mod_security2.c>
    Include conf/modsecurity.conf
</IfModule>

Пробовали ли вы полностью остановить и запустить Apache (не плавный перезапуск)?

Есть ли что-нибудь в журналах ошибок после полной остановки и перезапуска? Там должны быть записи [:notice] вроде этой:

ModSecurity for Apache/2.9.0 (http://www.modsecurity.org/) configured.
ModSecurity: APR compiled version="1.5.0"; loaded version="1.5.0"
...etc.

Это означает, что ModSecurity загрузился.

Есть ли ошибки PCRE в файле журнала ошибок (которые могут возникнуть, если ModSecurity был скомпилирован с другой версией PRCE, чем Apache)? Запустите команду ldd для httpd и mod_security.so, чтобы убедиться, что они совпадают. К вашему сведению, я НЕ получаю никаких модулей безопасности, отображаемых при запуске команды "httpd -M" в моей рабочей версии - я думаю, потому что они не загружаются, пока не запущен Include.

Журнал отладки создается, но он пустой? Если он создается, то это хороший признак того, что сам ModSecurity загружается.

Все ли настройки Apache находятся в каталоге /etc/httpd/conf, как предлагает руководство, которое вы использовали? Не исключено, что установлено несколько версий Apache, и та, для которой вы редактируете конфигурацию, не является используемой :-)

Я рекомендую руководство по ModSecurity Ивана Ристича, ознакомительная версия которого доступна бесплатно:https://www.feistyduck.com/library/modsecurity-handbook-free/и это касается установки. Иван изначально написал ModSecurity, поэтому я бы рекомендовал купить всю книгу. Она отстает на пару версий, но в основном все еще актуальна. Главное изменение, не охваченное книгой, заключается в том, что идентификатор правила теперь обязателен.

Связанный контент