Различия

Показаны различия между двумя версиями страницы.


Предыдущая версия
mod_security [2024/06/28 19:09] (текущий) darkfire
Строка 1: Строка 1:
 +====== Настройка ModSecurity в Apache  ======
 +{{htmlmetatags>
 +metatag-description=(ModSecurity представляет собой firewall для Web-приложений.)
 +}}
 +{{ ::modsecurity-01.jpg?nolink&400 |}}
 +
 +
 +[[https://github.com/owasp-modsecurity/ModSecurity|ModSecurity]] — это [[waf|WAF (web application firewall)]], т.е. файервол для веб-приложений. Его смысл заключается в том, что он проверяет все приходящие на веб-сервер запросы и отфильтровывает те из них, которые соответствуют правилам безопасности. WAF может предотвратить атаки самого разного рода — инъекции (инжекты) в базы данных, межсайтовый скриптинг.
 +
 +Разберем установку и настройку [[WAF|WAF]] с использованием ModSecurity. Для тестирования используйте [[https://dieg.info/articles/bystraya-arenda-vps-dlya-eksperimentov/|VPS для кратковременного использования]].
 +
 +⏺Установка ModSecurity
 +
 +Для примера рассмотрим настройку WAF с использованием ModSecurity — одного из самых популярных и мощных инструментов для защиты веб-приложений.
 +
 +Установите ModSecurity на ваш сервер:
 +
 +<file bash>
 +sudo apt-get install libapache2-mod-security2
 +</file>
 +
 +⏺Активация конфигурационного файла
 +
 +Скопируйте рекомендуемый конфигурационный файл:
 +
 +<file bash>
 +sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
 +</file>
 +
 +<file bash>
 +# Включить (On) или выключить (Off) механизм фильтрации
 +SecRuleEngine On
 +# Механизм аудита работает независимо и может быть включен (On) или
 +# выключен (Off) на уровне сервера или директории
 +SecAuditEngine RelevantOnly
 +# Имя файла журнала для записи событий аудита
 +SecAuditLog /var/log/apache2/modsec_audit.log
 +# Имя файла журнала
 +SecDebugLog /var/log/apache2/modsec_debug.log
 +# Maximum request body size we will
 +# accept for buffering
 +SecRequestBodyLimit 131072
 +</file>
 +
 +⏺Включение правил защиты
 +
 +Активируйте модуль security2 и перезапустите Apache:
 +
 +<file bash>
 +sudo a2enmod security2
 +sudo systemctl restart apache2
 +</file>
 +
 +⏺Проверка работы WAF
 +
 +Чтобы убедиться, что WAF работает, попробуйте отправить подозрительный запрос:
 +
 +<file bash>
 +curl -H "User-Agent: <script>alert(1)</script>" http://<your_server>
 +</file>
 +
 +Если WAF настроен правильно, он заблокирует этот запрос, обнаружив потенциальную XSS-атаку.
 +
 +⏺Настройка дополнительных правил
 +
 +Для повышения уровня защиты вы можете добавить дополнительные правила в конфигурационный файл:
 +
 +<file bash>
 +sudo vim /etc/modsecurity/modsecurity.conf
 +</file>
 +
 +<file bash>
 +# Пример добавления правила
 +SecRule REQUEST_HEADERS:User-Agent "curl" "id:1000,deny,log,msg:'Curl tool detected'"
 +</file>
 +
 +⏺Логирование и мониторинг
 +
 +ModSecurity ведет журналы всех заблокированных запросов, что позволяет проводить анализ инцидентов и улучшать защиту. Логи можно найти по пути:
 +
 +<file bash>
 +/var/log/apache2/modsec_audit.log
 +</file>
  

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!