Конфигурация WAF ModSecurity v3 с правилами OWASP CRS для Nginx

Обновлено: Август 2026 Стек: ModSecurity v3, OWASP CRS 3.3+, Nginx Проверено: Production-Ready

Готовая конфигурация Web Application Firewall (WAF) ModSecurity v3 и набора правил OWASP Core Rule Set: защита от SQLi, XSS, RCE и LFI атак.

Интерактивный генератор под ваши параметры
Параметры подставляются в код в реальном времени
/etc/nginx/modsec/main.conf
# /etc/nginx/modsec/main.conf
Include /etc/nginx/modsec/modsecurity.conf
Include /etc/nginx/modsec/coreruleset/crs-setup.conf
Include /etc/nginx/modsec/coreruleset/rules/*.conf

# /etc/nginx/modsec/modsecurity.conf
SecRuleEngine On
SecRequestBodyAccess On
SecResponseBodyAccess Off
SecStatusEngine On
SecAuditEngine RelevantOnly
SecAuditLog /var/log/nginx/modsec_audit.log

Разбор ключевых директив конфигурации

Техническое обоснование директив и их прямое влияние на процессор (CPU), оперативную память (RAM) и дисковый ввод-вывод (NVMe I/O).

Директива / Блок Рекомендуемое значение Зачем нужно и системное влияние (CPU / RAM / I-O)
SecRuleEngine On On Активирует блокирующий режим WAF (отклоняет вредоносные запросы с кодом 403).
SecRequestBodyAccess On On Проверяет тело POST-запросов (формы, JSON) на наличие эксплойтов.
ufw default deny incoming deny incoming Блокирует все входящие порты по умолчанию, оставляя доступными только явно разрешенные сервисы (HTTP/HTTPS/SSH).
bantime = 24h 24h Блокирует IP адрес атакующего на 24 часа при превышении порога неудачных попыток авторизации.

Рекомендуемые системные требования VDS под этот стек

Расчет минимальной и оптимальной конфигурации виртуального сервера для стабильной работы без сбоев.

Оптимальный сайзинг: 2-4 vCPU, 4 GB RAM, Debian 12 / Ubuntu 24.04
Timeweb Cloud
2 CPU / 4 GB NVMe
Рекомендуемые ресурсы
2-4 vCPU / 4 GB RAM / 40 GB NVMe
🔷 Selectel
2 vCPU / 4 GB RAM
Рекомендуемые ресурсы
2-4 vCPU / 4 GB RAM / 40 GB NVMe
🟠 Beget
Turbo 4 GB
Рекомендуемые ресурсы
2-4 vCPU / 4 GB RAM / 40 GB NVMe

Онлайн-утилиты SysKit для проверки этого сервера

Протестируйте корректность применения конфигурации прямо сейчас в один клик.

Частые ошибки при настройке и их решение (FAQ)

Типовые проблемы вебмастеров и сисадминов при внедрении данной конфигурации.

Как отключить ложные срабатывания (False Positive)?
Используйте директиву `SecRuleRemoveById 942100` для отключения конкретного правила.
Как не заблокировать собственный IP адрес?
Добавьте ваш IP в директиву `ignoreip = 127.0.0.1/8 ::1 ВАШ_IP` в файле `/etc/fail2ban/jail.local`.
Как разблокировать ошибочно забаненный IP?
Выполните команду `fail2ban-client set <jail_name> unbanip <IP_ADDRESS>`.