WAF (Web Application Firewall) — специализированный обратный прокси, анализирующий HTTP/HTTPS трафик на уровне приложения (Layer 7 OSI). Анализирует содержимое запросов: URL, заголовки, тело POST-данных, cookie — и блокирует вредоносные паттерны.
Атаки, от которых защищает WAF
- SQL Injection — вставка SQL-кода в поля форм:
1' OR 1=1 --. - XSS (Cross-Site Scripting) — внедрение JavaScript в страницы.
- CSRF — межсайтовая подделка запросов.
- Path Traversal —
/../../../etc/passwd. - Remote File Inclusion — загрузка внешних скриптов.
- HTTP Flood — DDoS на уровне запросов.
ModSecurity + OWASP CRS
ModSecurity — самый популярный open-source WAF-модуль для Nginx и Apache:
# Установка ModSecurity для Nginx
apt install libmodsecurity-dev
# Подключение OWASP Core Rule Set
git clone https://github.com/coreruleset/coreruleset /etc/nginx/owasp-crs
# В nginx.conf
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
Облачные WAF
- Cloudflare WAF — встроен в Cloudflare Pro/Business. OWASP rules + ML-обнаружение.
- AWS WAF — управляемый WAF для ALB и CloudFront.
- Imperva, Barracuda — enterprise WAF.
Режимы работы
Detection mode (только логирование, без блокировки) — для начального обучения. Prevention mode (активная блокировка) — рабочий режим. Важно тестировать правила перед включением — ложные срабатывания могут блокировать легитимный трафик.
История
Первый коммерческий WAF — NetSol (1999). ModSecurity создан Иваном Ристичем (Thinking Stone) в 2002 году. OWASP Core Rule Set (CRS) — 2006. Cloudflare запустил managed WAF в 2012 году. В 2024 году WAF-рынок оценивается в $7.6 млрд (MarketsandMarkets).
Связь с хостингом
WAF — обязательный элемент защиты для WordPress и других CMS на VDS. ModSecurity с OWASP CRS снижает риск успешной атаки. Cloudflare WAF (Free: базовые правила, Pro: полные OWASP) — популярный выбор для защиты без настройки сервера. Вместе с брандмауэром и fail2ban формирует эшелонированную защиту.
История WAF
Первый коммерческий WAF — NetScreen-IDP (1999). ModSecurity (2002) стал первым open-source WAF для Apache. OWASP ModSecurity Core Rule Set (CRS) — стандартный набор правил, появился в 2006 году. AWS WAF запущен в 2015 году. Cloudflare WAF включён в платные планы с 2012 года. В 2021 году OWASP CRS 3.3 включил защиту от Log4Shell (CVE-2021-44228). WAF стал обязательным требованием PCI DSS (стандарт безопасности платёжных карт) для всех e-commerce сайтов.
Типы WAF по расположению
| Тип | Где работает | Пример |
|---|---|---|
| Network WAF | аппаратное устройство | F5 BIG-IP ASM |
| Host WAF | на веб-сервере | ModSecurity, Nginx WAF |
| Cloud WAF | перед сервером | Cloudflare, AWS WAF |
OWASP Top 10 и WAF
WAF защищает от большинства угроз из OWASP Top 10: SQL-инъекции, XSS, CSRF, Path Traversal, Remote File Inclusion. Для WordPress WAF блокирует известные эксплойты плагинов до выхода патча (виртуальный патчинг). ModSecurity с CRS рекомендован для любого VPS с веб-приложением.
Типичные ошибки
- WAF в режиме detection only без blocking — атаки логируются, но не блокируются.
- Слишком агрессивные правила в blocking mode — легитимные запросы блокируются (false positive).
- Отсутствие мониторинга WAF-логов: атаки фиксируются, но никто не смотрит.
- WAF не заменяет обновление приложения — уязвимости в коде должны быть исправлены.