Конфигурация WAF ModSecurity v3 с правилами OWASP CRS для Nginx
Готовая конфигурация 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>`.
Рекомендуемые смежные конфигурации
Дополнительные рецепты и калькуляторы для полной оптимизации данного серверного стека.