WAF — что это, защита от XSS и SQL-инъекций, ModSecurity | Глоссарий FREEHOSTING

WAF

Web Application Firewall
WAF — WAF — межсетевой экран уровня приложений, фильтрующий HTTP/HTTPS-запросы по правилам и сигнатурам. Останавливает SQL-инъекции, XSS, RCE и L7-атаки до того, как трафик дойдёт до бэкенда. Развёртывается на edge-узле, перед бэкендом или встраивается в веб-сервер.

Определение простыми словами

WAF — это прокси, который читает каждый HTTP-запрос целиком и проверяет его на признаки атаки до того, как пропустить к приложению. Если в параметре формы видит UNION SELECT, в URL скрипт <script>alert, в заголовке Cookie подозрительный шаблон — WAF блокирует запрос или показывает капчу.

В отличие от обычного firewall, который работает на L3/L4 по IP и портам, WAF знает синтаксис HTTP, HTML, JSON. Самое известное opensource-решение — ModSecurity с правилами OWASP CRS, защищающими от Top-10 угроз. Коммерческие WAF (Cloudflare, F5, Imperva, AWS WAF) добавляют поведенческий анализ, ML-детект ботов и интеграцию с CDN.

Сравнение

Тип Где стоит Плюсы Минусы
Network WAF аппаратный appliance максимальная скорость цена от $30k
Host-based модуль в Apache/Nginx контекст приложения нагрузка на сервер
Cloud (Cloudflare, AWS) edge-узлы CDN защита от L7-DDoS зависимость от провайдера
Open-source (ModSecurity) обратный прокси бесплатно, гибко требует настройки
RASP внутри runtime знает контекст SQL/ORM интрузивно, привязка к стеку

Кейсы использования

  • Интернет-магазин на Bitrix защищается WAF от типовых SQL-инъекций в формы поиска и фильтров.
  • API SaaS-сервиса блокирует автоматизированный парсинг через rate-limit и поведенческий анализ.
  • Сайт регистрации избирателей переживает целенаправленную DDoS L7-атаку благодаря Cloudflare WAF.
  • Корпоративный портал на 1С-Битрикс ставит WAF перед админкой, ограничивает доступ по геолокации и ASN.
  • Негативный сценарий: WAF включили в режим обучения, забыли перевести в блокировку — три месяца атак прошли мимо. Решение — обязательный переход в блок-режим после 1–2 недель обучения с мониторингом ложных срабатываний.

Технические детали

# Установка ModSecurity с OWASP CRS на Nginx
sudo apt install libnginx-mod-http-modsecurity
sudo git clone https://github.com/coreruleset/coreruleset 
  /etc/nginx/modsec/owasp-crs
sudo cp /etc/nginx/modsec/owasp-crs/crs-setup.conf.example 
  /etc/nginx/modsec/owasp-crs/crs-setup.conf

# Базовый конфиг modsecurity.conf
echo 'SecRuleEngine On' > /etc/nginx/modsec/main.conf
echo 'Include /etc/nginx/modsec/owasp-crs/crs-setup.conf' >> /etc/nginx/modsec/main.conf
echo 'Include /etc/nginx/modsec/owasp-crs/rules/*.conf' >> /etc/nginx/modsec/main.conf

# Включение в server-блоке Nginx
server {
    modsecurity on;
    modsecurity_rules_file /etc/nginx/modsec/main.conf;
    location / { proxy_pass http://backend; }
}

# Тест блокировки SQL-инъекции
curl 'http://example.com/search?q=1%27%20OR%201=1--'
# WAF должен ответить 403 Forbidden

# Анализ заблокированных запросов
sudo tail -f /var/log/modsec_audit.log | grep -E 'Anomaly Score|Severity'

WAF дополняет защиту от XSS и SQL-инъекций, но не заменяет валидацию на стороне приложения. В связке с защитой от DDoS закрывает большую часть L7-угроз.

Частые вопросы

WAF заменяет необходимость валидации в коде?

Нет, это дополнительный слой. WAF ловит известные паттерны атак, но обходится новыми вектoрами. Валидация и параметризованные запросы в приложении остаются обязательными — это эшелонированная защита.

Сильно ли WAF замедляет сайт?

ModSecurity с полным OWASP CRS добавляет 5–15 мс на запрос при средней нагрузке. Cloud-WAF на edge-узлах не замедляет, а часто ускоряет — за счёт того же CDN-кэша. Бенчмарк до и после включения обязателен.

Можно ли защитить WordPress без WAF?

Можно через комбинацию плагинов (Wordfence, Patchstack), сильных паролей, 2FA, ограничения wp-login и регулярных обновлений. Но WAF на edge-узле снимает большую часть автоматизированных атак раньше, чем они доходят до PHP.