BotBan

WAF или антибот: в чём разница и что нужно вам

Их часто путают и продают вместе, хотя решают они разные задачи. На примерах: что поймает один и что пропустит другой.

3 мин чтения

WAF и антибот смотрят на разное. WAF — на содержимое запроса, антибот — на того, кто его прислал.

Что делает WAF

Web Application Firewall проверяет запросы на признаки атак на уязвимости: SQL-инъекции, попытки выполнить чужой скрипт, обращения к файлам вне разрешённых каталогов, эксплойты известных дыр.

Пример запроса, который поймает WAF:

GET /catalog?id=1' OR '1'='1

Здесь опасно именно содержимое: в параметр подставлен кусок SQL. Кто прислал запрос, для WAF почти не важно.

Что делает антибот

Антибот отвечает на другой вопрос: это человек или программа. Он смотрит на заголовки запроса, на темп обращений, на то, грузит ли клиент картинки и стили, двигал ли посетитель мышью, управляется ли его браузер автоматикой.

Пример запроса, который поймает антибот:

GET /catalog?page=417
User-Agent: python-requests/2.31.0

Здесь всё безупречно с точки зрения безопасности. Никакой инъекции, никакого эксплойта. Это просто четыреста семнадцатая страница каталога, которую забирает чужой скрипт. WAF пропустит и будет прав: атаки нет.

Что каждый пропустит

WAF пропустит: парсинг каталога, скликивание рекламы, накрутку поведенческих факторов, спам через обычную форму, перебор паролей корректными запросами. Всё это технически безупречные обращения.

Антибот пропустит: SQL-инъекцию от живого человека, эксплойт уязвимости плагина, попытку прочитать чужой файл через параметр. Если запрос прислал настоящий браузер настоящего человека, антибот не найдёт причин вмешаться.

Где они пересекаются

Есть область, которую закрывают оба: массовое сканирование уязвимостей. Сканер шумный — он перебирает сотни адресов подряд, и антибот отсечёт его по темпу и по обращениям к /.env и /.git. WAF отсечёт его же по содержимому конкретных запросов.

Поэтому в маркетинге их часто объединяют. Но пересечение — это край каждой задачи, а не её суть.

Что нужно вам

Только WAF хватит, если проблема в атаках на уязвимости, а автоматический трафик вам не мешает. Такое бывает у сайтов без каталога, без рекламы и без форм.

Только антибот хватит, если сайт на актуальной CMS с обновлениями, а болит от парсинга, спама и скликивания. Это подавляющее большинство коммерческих сайтов.

Оба нужны, когда есть и то, и другое: интернет-магазин с личным кабинетом, самописной частью и рекламным бюджетом.

Чем не заменить ни то, ни другое

Обновлениями. Устаревший плагин с известной дырой — это дыра, которую WAF прикрывает временно и не гарантированно. Антибот к этому не относится вовсе.

И ещё: ни один из них не защищает от слабого пароля администратора.

Читайте также