CentOS: Установка и настройка Apache mod_security

В статье описан способ быстрого запуска ModSecurity в CentOS . Web Application Firewall (ModSecurity) - это сетевой экран веб приложений, позволяющий блокировать атаки на уровне веб сервера, до того как они "достигнут" веб-приложения.

ModSecurity

ModSecurity - является брандмауэром веб-приложений (WAF) с открытым исходным кодом. Первоначально разработанный как модуль для Apache HTTP Server, он развивался, чтобы обеспечить множество возможностей фильтрации запросов и ответов протокола Hypertext Transfer Protocol наряду с другими функциями безопасности на ряде различных платформ, включая Apache HTTP Server, Microsoft IIS и Nginx.

Установка mod_security в CentOS

До окончания настройки не стоит перезапускать веб-сервер, это приведет к блокировки всех запросов.

Перед установкой пакета, дополнительно ставим пакет git, он понадобиться для получения правил работы

yum install git

Устанавливаем mod_security

yum install mod_security

Настройка правил mod_security

В качестве правил будем использовать правила OWASP

Скачиваем правила:

git clone https://github.com/coreruleset/coreruleset.git

копируем файл crs-setup.conf, без него mod_security будет блокировать все запросы

cp coreruleset/crs-setup.conf.example /etc/httpd/modsecurity.d/activated_rules/00-crs-setup.conf

копируем правила, в директорию /etc/httpd/modsecurity.d/activated_rules/

cp coreruleset/rules/* /etc/httpd/modsecurity.d/activated_rules/

после этого можно перезапустить apache

systemctl restart httpd

Дополнительной настройки не требуется, так как ModSecurity настроен на блокирование всех обнаруженных атак.

Ошибка при запросе

Если журналах веб сервиса присутствует следующая ошибка

[Fri Mar 04 07:26:04.516164 2022] [:error] [pid 2078:tid 140249942456064] [client 192.168.153.1:2203] [client 192.168.153.1] ModSecurity: Access denied with code 500 (phase 1). Operator EQ matched 0 at TX. [file "/etc/httpd/modsecurity.d/activated_rules/REQUEST-901-INITIALIZATION.conf"] [line "63"] [id "901001"] [msg "ModSecurity Core Rule Set is deployed without configuration! Please copy the crs-setup.conf.example template to crs-setup.conf, and include the crs-setup.conf file in your webserver configuration before including the CRS rules. See the INSTALL file in the CRS directory for detailed instructions"] [severity "CRITICAL"] [ver "OWASP_CRS/3.4.0-dev"] [hostname "192.168.153.128"] [uri "/"] [unique_id "YiIFXIj7rlMc5p57Jzu2sAAAAEA"]

значит не был скопирован файл "crs-setup.conf.example" отключающий правило 900990

Добавить комментарий