Как установить и настроить modsecurity в nginx
5 (100%) 1 vote

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

Платформа предоставляет язык конфигурации правил, известный как «SecRules» для мониторинга в реальном времени, регистрации и фильтрации сообщений протокола Hypertext Transfer Protocol на основе пользовательских правил.

Хотя это не единственная конфигурация, ModSecurity чаще всего развертывается для обеспечения защиты от общих классов уязвимостей с использованием набора правил OWASP ModSecurity Core Rule Set (CRS).  Это набор правил с открытым исходным кодом, написанный на языке SecRules ModSecurity. Проект является частью OWASP , проекта Open Web Application Security.

Для обнаружения угроз механизм ModSecurity развертывается встроенным в веб-сервер или в качестве прокси-сервера перед веб-приложением. Это позволяет движку сканировать входящий и исходящий HTTP- поток данных. В зависимости от конфигурации правила движок будет решать, как следует обрабатывать связь, которая включает в себя возможность передавать, удалять, перенаправлять, возвращать определенны код состояния, выполнять пользовательский скрипт и многое другое.

В целом ModSecurity помогает блокировать возможность использования существующих уязвимостей сайта и предотвратить его взлом.

Устраняем уязвимость веб приложения

Скачаем исходные коды nginx и modsecurity, которые понадобятся для сборки

Сборка и установка

Конфигурируем режим работы modsecurity и затем собираем nginx с этим модулем

Первоначальная настройка

Применяем реккомендуемые конфигурации по умолчанию

Далее для включения возможностей использования модуля необходимо добавить в /usr/local/nginx/conf/nginx.conf в раздел “location /” строки

ModSecurityEnabled on;
ModSecurityConfig modsecurity.conf;

В файле конфигурации это выглядит так:

Запуск

Запуск модно произвести двумя способами

или

Локальная проверка

Настройка фаервола

Редактируем правила

Добавляем после правила разрешения ssh

Применяем изменения

Проверяем

Браузером или с помощью curl

Получение рабочей копии owasp

Скачиваем правила OWASP и копируем в конфигурацию веб сервера nginx

Подготовка файла правил:

За основу берем подготовленный пример правил:

Редактируем файл конфигурации:

добавляем строки в начале

Далее выполняем

Перезапуск nginx

или

При работе правил записи вносятся в фалы журналов

 

Проверки:

при нелегальном запросе должно выдавать 403 ошибку!

/aphpfilethatdonotexist.php?something=../../etc

при обращении по ИП сайта

Так же вы можете запустить бесплатное сканирование на уязвимости

https://pentest-tools.com до и после и сравнить результат

Хотите защитить свой сайт от уязвимости, тогда обращайтесь к нам [email protected]