img

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

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

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

На самом деле, однозначного ответа нет. Для этого необходимо просмотреть файл 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 и других сетевых уязвимостей.

Ссылка
скопирована
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
  В современном технологическом мире контейнерные технологии используются везде. Самой популярной платформой для управления конт
img
  На сегодняшний день контейнеры – это то, без чего не обходится запуск приложений. А самая популярная контейнерная технология
img
Введение Разработчик при написании кода должен быть максимально продуктивным. Однако бывают ситуации, когда им приходится выпо
img
  Kubernetes стал незаменимым инструментом для оркестровки, масштабирования, автоматического развертывания и управления контей
img
  С помощью контейнеров вы можете упаковать свое приложение и сделать его, таким образом, переносимым. В результате оно сможет р
img
Введение Kubernetes – это платформа, которая предоставляет возможность работать с модулями, службами и внешними ресурсами и пр
Комментарии
ЛЕТНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59