WAF: что это и как защищает сайт
Что такое WAF
Web Application Firewall (WAF) — это защитный экран, который фильтрует HTTP-трафик между интернетом и вашим веб-приложением. В отличие от обычного файрвола, который работает на сетевом уровне (IP геолокацию и проверку портов), WAF анализирует содержимое HTTP-запросов и ответов, блокируя вредоносные паттерны.
WAF работает на 7 уровне модели OSI (прикладной уровень) и понимает специфику веб-протоколов: HTTP-методы, заголовки, cookies, параметры URL и тело запроса.
От каких атак защищает WAF
SQL-инъекции
WAF обнаруживает попытки внедрения SQL-кода в параметры запросов. Например, запрос с ' OR 1=1 -- в поле логина будет заблокирован до того, как достигнет базы данных.
Cross-Site Scripting (XSS)
WAF фильтрует запросы, содержащие JavaScript-код в параметрах, заголовках или теле запроса. Попытка отправить <script>alert('xss')</script> через форму будет остановлена.
Атаки на загрузку файлов
WAF проверяет загружаемые файлы: блокирует исполняемые файлы, веб-шеллы и файлы с двойным расширением вроде image.php.jpg.
DDoS на уровне приложения (Layer 7)
WAF может ограничивать частоту запросов (rate limiting) и обнаруживать аномальные паттерны трафика, защищая от HTTP flood и slowloris-атак.
Другие угрозы из OWASP Top 10
- Local/Remote File Inclusion (LFI/RFI)
- Server-Side Request Forgery (SSRF)
- XML External Entity (XXE)
- Command Injection
- Path Traversal
- HTTP Request Smuggling
Типы WAF
Облачный WAF (Cloud-based)
Развёртывается как DNS-прокси — вы направляете DNS на WAF-провайдера, который фильтрует трафик перед отправкой на ваш сервер. Примеры: Cloudflare WAF, AWS WAF, Akamai.
Плюсы: быстрое развёртывание, не требует серверных ресурсов, автоматические обновления правил, встроенная CDN и DDoS-защита.
Минусы: трафик проходит через третью сторону, ограниченная кастомизация правил, зависимость от провайдера.
Аппаратный WAF (Hardware appliance)
Физическое устройство, устанавливаемое в сети перед веб-серверами. Примеры: F5 BIG-IP, Fortinet FortiWeb.
Плюсы: высокая производительность, полный контроль, не зависит от внешних сервисов.
Минусы: высокая стоимость, требует квалификации для настройки, ручные обновления.
Программный WAF (Software/Host-based)
Устанавливается как модуль веб-сервера или приложения. Примеры: ModSecurity (для Apache/nginx), NAXSI (для nginx).
Плюсы: бесплатные решения, полная кастомизация, работает на том же сервере.
Минусы: потребляет ресурсы сервера, требует ручной настройки и обновления правил.
Как работает WAF: режимы и правила
Модель позитивной безопасности (Whitelist)
Разрешается только то, что явно описано в правилах. Всё остальное блокируется. Безопаснее, но сложнее в настройке — требуется детальное описание легитимного трафика.
Модель негативной безопасности (Blacklist)
Блокируется то, что соответствует известным атакам. Остальной трафик пропускается. Проще в настройке, но может пропустить новые (zero-day) атаки.
Гибридный подход
Комбинация обоих подходов: базовые blacklist-правила для известных атак плюс whitelist для критических эндпоинтов (формы авторизации, API документацию платежей).
Режимы работы
- Detection mode (мониторинг сайтов) — WAF логирует подозрительные запросы, но не блокирует. Используйте при первоначальной настройке.
- Prevention mode (блокировка) — WAF активно блокирует вредоносные запросы. Включайте после тестирования правил.
Лучшие практики настройки WAF
- Начните с режима мониторинга. Запустите WAF в detection mode на 1-2 недели, проанализируйте логи, убедитесь что легитимный трафик не блокируется.
- Настройте правила под ваше приложение. Стандартные правила могут блокировать легитимные запросы (false positives). Например, CMS с визуальным редактором может отправлять HTML в POST-запросах.
- Обновляйте правила регулярно. Новые уязвимости появляются постоянно. Автоматические обновления правил — важное преимущество облачных WAF.
- Не полагайтесь только на WAF. WAF — это дополнительный слой защиты, а не замена безопасного кода. Исправляйте уязвимости в приложении.
- Логируйте и анализируйте. Регулярно просматривайте заблокированные запросы для обнаружения атак и ложных срабатываний.
- Защитите сам WAF. Убедитесь, что прямой доступ к серверу закрыт, и трафик идёт только через WAF.
WAF и производительность
WAF добавляет задержку к каждому запросу — обычно 1-5 мс для облачных решений. Облачные WAF часто компенсируют это за счёт CDN и оптимизации доставки контента.
Для минимизации влияния на производительность:
- Используйте выборочную проверку — не все URL требуют глубокого анализа
- Кэшируйте статические ресурсы до WAF
- Оптимизируйте набор правил — отключите неприменимые правила
Как проверить защищённость сайта
Используйте сканер безопасности Enterno.io для проверки заголовков безопасности вашего сайта. Хотя сканер не тестирует WAF напрямую, он покажет наличие security headers, которые работают в связке с WAF для комплексной защиты.
Итоги
WAF — необходимый компонент защиты современного веб-приложения. Он фильтрует вредоносный трафик на уровне HTTP, защищая от SQL-инъекций, XSS, DDoS и других атак из OWASP Top 10. Выберите тип WAF под ваши задачи, начните с режима мониторинга и постепенно настройте правила под специфику вашего приложения.
Проверьте ваш сайт прямо сейчас
Проверить →