ModSecurity WAF: защита веб-приложений на Apache/Nginx

Безопасность · 19.04.2026
ModSecurity WAF: защита веб-приложений на Apache/Nginx

ModSecurity — это открытый Web Application Firewall (WAF), работающий как модуль Apache или Nginx. Он анализирует HTTP-трафик в реальном времени и блокирует SQL-инъекции, XSS, RFI и другие атаки.

Установка ModSecurity на Ubuntu/Apache

sudo apt update
sudo apt install -y libapache2-mod-security2

# Включить модуль
sudo a2enmod security2
sudo systemctl restart apache2

# Проверить
apachectl -M | grep security

Базовая настройка

# Копировать конфиг
sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

# Изменить режим с DetectionOnly на On
sudo sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/modsecurity/modsecurity.conf

Установка OWASP CRS (Core Rule Set)

sudo apt install -y modsecurity-crs

# Или вручную:
cd /etc/modsecurity
sudo git clone https://github.com/coreruleset/coreruleset.git
cd coreruleset
sudo cp crs-setup.conf.example crs-setup.conf
✅ OWASP CRS — стандартный набор правил, защищающий от OWASP Top 10 атак. Обновляйте его регулярно.

Режимы работы

РежимКонфигДействие
Detection OnlySecRuleEngine DetectionOnlyЛогирует, не блокирует
Active (On)SecRuleEngine OnБлокирует запросы
OffSecRuleEngine OffПолностью отключён

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

# Отключить правило для конкретного URL
SecRule REQUEST_URI "@beginsWith /wp-admin/post.php"     "id:1000001,phase:1,pass,nolog,ctl:ruleRemoveById=941100"

# Отключить правило глобально (не рекомендуется)
SecRuleRemoveById 941100
⚠️ Начинайте с DetectionOnly режима на 2–4 недели, изучайте логи и только потом переключайте в On. Иначе рискуете заблокировать легитимных пользователей.

Логи ModSecurity

# Посмотреть заблокированные запросы
sudo tail -f /var/log/apache2/modsec_audit.log | grep "HTTP 403"

# Статистика атак
sudo grep "OWASP" /var/log/apache2/modsec_audit.log | awk '{print $NF}' | sort | uniq -c | sort -rn
← Назад в базу знаний Задать вопрос поддержке