Как использовать Cloudflare для блокировки ботов

Каждый день на сайт заходят тысячи поисковых роботов/ботов, и очень немногие из них помогают. Некоторые из них вообще являются продуктами злоумышленных целей ботами или спамом.

Начни обучение в IT бесплатно

Вводная часть любого курса — без оплаты и привязки карты. DevOps, сети, программирование, QA и ещё 50+ курсов

  • Практика с первого урока
  • Эксперты-практики
  • Сертификат
Начать бесплатно

Откуда можно узнать, сколько разных ботов посещают ваши веб-сайты?

На самом деле, однозначного ответа нет. Для этого необходимо просмотреть файл access.log веб-сервера и найти столбец User-Agent. Допустим, вы хотите перечислить все боты, кроме Googlebot, тогда вы можете выполнить следующую команду на вашем веб-сервере, где существует файл access.log.

grep bot access.log |grep -v Googlebot

Вас тоже удивил результат? Вот, что выдал тот же запрос на моем сервере:

root@gf-prod:nginx# grep bot access.log |grep -v Googlebot | wc -l
616834
root@gf-prod:nginx#

Прежде чем блокировать что-либо, необходимо просмотреть их и убедиться, что вы не блокируете то, что используется вашим приложением. Вообще, есть много способов блокировки ботов, но я всегда предпочитаю блокировать их на границе.

Причина проста - бесполезные запросы вообще не должны попадать и обрабатываться веб-сервером.

А теперь, давайте узнаем, как блокировать ботов, которые вам не нужны, с помощью брандмауэра Cloudflare.

  • Заходим на панель управления Cloudflare;
  • Переходим на вкладку Firewall, затем - правила firewall и нажимаем на кнопку создать правило firewall.
правила firewall Cloudflare
  • Вводим название правила;
  • В качестве фильтра выбираем User Agent, оператор - contains, а в качестве значения - название бота, которое нужно заблокировать;
  • Чтобы добавить несколько критериев в одно правило используйте оператор OR.
Создание правила
Примечание: боты, указаны в целях демонстрации, они не обязательно вредоносные.
  • Затем в качестве действия выбираем Block и нажимаем Deploy;
  • Если умеете работать с выражениями, то тоже самое можете сделать кликнув на ссылку Edit expression. Сразу после применения, можно будет увидеть созданное правило. Чтобы данное правило применялось к трафику, переключатель состояния должен быть ON.

Легко, не так ли?


Что еще можно сделать, экспериментируя с правилами межсетевого экрана?

Для повышения безопасности можно применять указанные ниже критерии блокировки:

  • Блокировать если запрос идет с конкретного ASN или IP адреса;
  • По соответствию ключевым словам cookie, referrer, X-Forwarder-for;
  • Блокировка запросов из конкретной страны;
  • Отключение нежелательных HTTP-методов в роде PUT, DELETE, OPTIONS, PURGE и т.д.

И другие подобные опции. Все это можно выполнить как с помощью графического интерфейса, так и редактированием выражений. Изменения применяются почти сразу.


Заключение

Правила брандмауэра Cloudflare - отличный способ без простоев повысить защиту веб-приложений на границе сети. Если еще не применяете данное решение, вы также можете рассмотреть возможность использования Cloud WAF для повышения безопасности приложений и защиты от DDoS и других сетевых уязвимостей.

Ссылка
скопирована
Для читателей Базы
Мы приготовили тебе подарок

Бесплатный урок и промокод на курс

Эта скидка − тебе!

Промокод на скидку −15% на любой курс и бесплатная часть

Эта скидка − тебе!

Промокод на скидку −15% на любой курс и бесплатная часть

−15%
Твой подарок ещё ждёт

Промокод на скидку
−15% на любой курс и бесплатная часть

Выбрать курс
Еще по теме:
10 крутых AI промптов для быстрого решения проблем Kubernetes, CI/CD, Terraform и мониторинга
Наверняка ты постоянно слышишь про микросервисы. Микросервисы то, микросервисы сё, переписали все на микросервисы, развернули микросервисы в контейнерах. А че это вообще такое? Ща все объясним.
О том, как создать локальную DevOps-лабораторию с Docker, Kubernetes, Vagrant, Ansible и Terraform на обычном ноутбуке без затрат, смс, и прочего.
Git Flow - это специальная система ветвления для Git. Она помогает команде лучше контролировать и добавлять различные версии проекта. В статье рассказываем, как ее использовать.
Мы рассмотрим несколько простых способов, с помощью которых вы можете управлять и отслеживать логи для своих контейнеров.
ОСЕННИЕ СКИДКИ
30%
40%
50%
До конца акции: 30 дней 24 : 59 : 59