Что такое WAF и нужен ли он сайту: как работает и чего не закрывает
Содержание · 9

WAF (web application firewall) — фильтр перед сайтом. Он разбирает HTTP-запросы, сверяет их с правилами и блокирует типовые атаки: SQL-инъекции, XSS, подбор путей, часть ботов. Нужен ли он сайту: если на нём есть формы, личный кабинет, оплата или он на популярной CMS, то обычно да. Но WAF не заменяет обновления: он снижает риск, пока вы ставите исправления, и сам требует настройки.
Как работает WAF
Обычный межсетевой экран смотрит на адреса и порты. WAF работает на уровне приложения: читает адрес, заголовки и тело запроса и решает, пропустить его, заблокировать или показать проверку. Решения принимаются по наборам правил, по репутации адресов и по поведению (слишком частые запросы, подозрительные последовательности).
Самый известный открытый набор правил — OWASP Core Rule Set (CRS), который используют с ModSecurity и совместимыми движками. У него есть уровни «паранойи» (Paranoia Level): первый рассчитан на минимум ложных срабатываний, каждый следующий добавляет правила и риск блокировать нормальных пользователей. Документация CRS прямо говорит, что ложные срабатывания неизбежны и их «вылечивают» исключениями для правил, то есть настройкой под конкретный сайт.
Виды WAF
| Тип | Где стоит | Плюсы | Минусы |
|---|---|---|---|
| Облачный WAF (перед сайтом, через DNS) | У провайдера защиты | Быстрое подключение, фильтрует нагрузку до сервера | Зависимость от провайдера, нужно настроить реальный IP |
| WAF на сервере (ModSecurity + CRS, Coraza) | На вашем nginx или Apache | Полный контроль, нет третьей стороны | Нужны навыки и время на настройку |
| WAF у хостера | В тарифе или панели | Просто включить | Правила общие, настроить трудно |
| Плагин CMS (например, Wordfence) | Внутри приложения | Знает свою CMS | Работает после запуска PHP, может грузить сайт |
| Встроенная защита платформы | Например, модуль «Проактивная защита» в Битриксе | Знает структуру продукта | Защищает только эту платформу |
От чего WAF защищает
- SQL-инъекции, XSS и попытки обхода каталогов в запросах;
- сканеры и боты, которые перебирают служебные адреса (
/wp-admin,/.env,/phpmyadmin); - часть автоматического перебора паролей и спам-отправок форм;
- массовые атаки на свежие уязвимости, пока обновление ещё не поставлено: правила появляются быстрее, чем вы успеваете обновить сайт.
Последний пункт хорошо виден на новостях: когда у WordPress появилась подтверждённая атака на уязвимость ядра, фильтр Wordfence блокировал около 13 тысяч попыток в сутки (разбор). Но защитным решением там остаётся обновление до 7.1.4, а WAF лишь покупает время.
Чего WAF не закрывает
| Угроза | Поможет ли WAF | Что нужно |
|---|---|---|
| Уязвимость, для которой ещё нет правила | Нет | Обновление, мониторинг |
| Украденный пароль администратора | Нет | 2FA, смена паролей |
| Ошибка в бизнес-логике (скидка, цена, права доступа) | Нет | Тестирование и аудит |
| Заражённый плагин, уже установленный на сайте | Частично | Проверка, удаление |
| Мощный DDoS на каналы | Только облачный | Защита на уровне провайдера |
| Утечка резервной копии с сервера | Нет | Правильное хранение копий |
О том, что на самом деле помогает против DDoS, у нас есть отдельный материал: защита сайта от DDoS. А чтобы выявить логические ошибки, которые WAF не увидит, нужен аудит безопасности.
Когда WAF нужен, а когда можно подождать
- На сайте есть вход, кабинет, оплата, заявки с персональными данными. WAF нужен: утечка станет проблемой не только для репутации.
- Сайт на популярной CMS (WordPress, Битрикс, Joomla) со множеством плагинов. Нужен: бот ищет такие сайты массово.
- Простая визитка на статике. Можно обойтись обновлениями и правильными настройками хостинга.
- Сайт под высокой нагрузкой и атаками. Облачный WAF вместе с защитой от DDoS.
- Сайт без обновлений и поддержки. WAF не лечит: сначала приведите сайт в порядок.
Как внедрять без поломок
Главная проблема WAF — не пропущенные атаки, а заблокированные клиенты. Неправильные правила режут оформление заказа, оплату, вебхуки платёжных систем, обмен с CRM, ботов поисковых систем и обновления из Telegram. Поэтому включайте защиту по этапам.
- Режим обнаружения. Правила только пишут события в журнал, ничего не блокируя. Продержите его одну-две недели.
- Разбор журнала. Найдите срабатывания на нормальные действия: оформление заказа, редактор в админке, загрузка файлов, вебхуки.
- Исключения. Добавьте исключения для конкретных правил и адресов, а не отключайте защиту целиком.
- Блокировка. Включите блокировку для надёжных правил, оставьте остальные в режиме проверки.
- Проверка после изменений. После каждого обновления CMS и после смены темы повторите тест заказа, оплаты и форм.
- Проверка ботов поисковиков. Убедитесь, что Googlebot и Яндекс не получают капчу, как разобрано в статье про Googlebot и капчу.
Что мы советуем на практике
Это наше мнение, а не универсальное правило. Для небольшого сайта разумная схема такая: актуальные версии CMS и плагинов, двухфакторная аутентификация для администраторов, резервные копии вне сервера и WAF от хостера или облачный в режиме обнаружения, затем в режиме блокировки. На серверах с высокой нагрузкой и личными кабинетами лучше разворачивать WAF вместе с мониторингом: защита сайта и мониторинг строятся именно по такой схеме. Работы по настройке и сопровождению входят в поддержку сайта.
Чек-лист выбора WAF
- Какие приложения нужно защитить: CMS, API, личный кабинет?
- Видит ли WAF реальный IP клиента, и видит ли сайт его в логах?
- Есть ли режим обнаружения без блокировки?
- Как добавляются исключения и кто будет их разбирать?
- Какие журналы доступны и как долго хранятся?
- Что произойдёт с сайтом, если WAF выйдет из строя: есть ли способ быстро его отключить?
Вопросы и ответы
Что такое WAF простыми словами?
Это фильтр между посетителями и сайтом. Он проверяет каждый запрос по правилам и блокирует те, что похожи на атаку.
Чем WAF отличается от обычного файрвола?
Обычный файрвол смотрит на адреса и порты, а WAF разбирает содержимое HTTP-запросов и понимает, что внутри них попытка SQL-инъекции или подбора путей.
Заменяет ли WAF обновления сайта?
Нет. Он снижает риск, пока вы обновляетесь, но не закрывает уязвимости сам. Надёжное решение — исправление в коде.
Может ли WAF помешать работе сайта?
Да, ложные срабатывания блокируют заказы, вебхуки и поисковых ботов. Поэтому начинают с режима обнаружения и добавляют исключения.
Нужен ли WAF для WordPress?
Для сайта с кабинетом, оплатой и множеством плагинов обычно да, как дополнение к обновлениям и 2FA. Для простой визитки можно обойтись обновлениями и защитой хостинга.
Читайте также
Волна фейковых регистраций: одноразовая почта, адреса «от имени» сервиса и бан, который не работал
БезопасностьСайт за CDN: почему баны и лимиты не работали и как приложение доверяло чужому IP
SEOllms.txt: что это за файл и нужен ли он вашему сайту
БезопасностьЗащита сайта от DDoS: что реально работает
БезопасностьКибербезопасность для бизнеса: с чего начать защиту
НовостиBeget 7 ноября: что уже работает после атаки, а что ещё нет