🪖 Даём отпор армии ботов с помощью CloudFlare
Год назад я подготовил подробную инструкцию и записал видео, о том как отбиваться от ботов с помощью CloudFlare. Неожиданно для меня самого, инструкция начала расходится по чатам.
Через какое-то время на меня посыпались вопросы, о том, что интерфейс сервиса поменялся и требуется новая инструкция. Но боты меня не беспокоили, поэтому я отвечал, что подготовлю в тот момент, когда будет актуально.
Вселенная меня услышала и на один из сайтов навалились десятки тысяч ботов с прямыми заходами и из поиска, и я понял что это знак.
➡️ Ниже список правил и краткий мануал о том, как за 5 минут отбиться. Здесь надо понимать, что последний тренд разворачивать ботовые сетки на IPv6, скорее всего этого правила вам будет достаточно, но заодно актуализируем все остальные.
🖍 Все правки происходят через Edit expression, чтобы не перепечатывать правила, вставляете строчку и жмете Use expression builder.
Итак, заходим в CloudFlare, добавляем сайт, переходим в Security – WAF, жмём Creat rule и погнали:
🧡Правило #1: Пускаем хороших ботов
Rule name: Good Bots
Правило – (cf.client.bot) or (http.user_agent contains “Mail.RU_Bot”)
Action: Skip (пропускаем) и ниже выбираем все доступные галочки. Жмём Save.
🧡Правило #2: Фильтруем IPv6 и заход на HTTP
Rule name: IPv6 / HTTP
Правило: (ip.src in {::/0}) or (not ssl)
Action: Managed Challenge
🧡Правило #3: Проверяем всех, кто идет с протоколом меньше HTTP2 или заходит напрямую
Rule name: HTTP<2 / Direct
Правило: (not http.request.version in {"HTTP/2" "HTTP/3" "SPDY/3.1"}) or (http.referer eq "")
Action: JS Challenge
🧡Правило #4: (доп.) Блокируем страны. В метрике открываем Отчёты - Аудитория - География и проверяем на аномалии.
Rule name: Country Block
Правило: (ip.geoip.country ne "RU" and ip.geoip.country ne "BY" and ip.geoip.country ne "KZ") или (ip.geoip.country eq "GB")
Action: Block (всех кроме указанных стран - заблокировать, либо блокируем только выбранную страну).
🖥 Пошаговая инструкция уже на канале 🖥