fbpx

Настраиваем защиту веб-сайта от атак ботов через Cloudflare

Данная статья предлагает подробное руководство по использованию Cloudflare для эффективного сокращения присутствия на вашем веб-ресурсе от 70% до 99% нежелательных ботов, обходя дорогостоящие услуги агентств. Это становится особенно актуальным, когда ваш сайт поднимается в поисковых результатах, привлекая внимание ботов, имитирующих действия пользователей для искажения статистики.

Для начала вам просто понадобится бесплатный аккаунт на Cloudflare. Процесс регистрации и подключения к вашему сайту прост и широко известен, поэтому мы опустим подробности.

Ключевым этапом является настройка правил фильтрации. В бесплатной версии Cloudflare доступно до пяти таких правил, что обычно достаточно для наших целей.


Пример добавления правил в WAF

Вам потребуется:

  • Разрешить доступ ботам от поисковых систем Яндекс и Google.
  • Разрешить запросы с вашего собственного хостинга, чтобы не нарушить работу внутренних сервисов, таких как почта или планировщик задач.
  • Запретить доступ для пользователей из стран, трафик из которых для вас не важен.
  • Блокировать известных ботов, которые уже идентифицированы как вредоносные.
  • Блокировать неизвестных ботов, которые потенциально представляют опасность.


Пример заполненных команд для сайта

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

Разрешить доступ ботам от поисковых систем Яндекс и Google

Пример команды разрешения доступа к сайту ботов Google и Яндекса

Кликаем на » Edit Expression «, вводим следующую команду:

(http.user_agent contains "Google") or (http.user_agent contains "Yandex")

Затем выбираем » Use expression builder», устанавливаем действие на » SKIP», отмечаем все необходимые флажки и нажимаем на » Deploy».


Правило доступа полезных ботов на сайт

Разрешить запросы с вашего собственного хостинга

Вам нужно будет определить IP-адрес или его ASNUM. Если вы не знаете, как это сделать, обратитесь за помощью в службу поддержки вашего хостинга. Также не забудьте разрешить все запросы к wp-cron.php, если ваш сайт работает на WordPress. Для этого используйте конструктор выражений, чтобы ввести соответствующую команду.

Пример команды:

(ip.geoip.asnum eq 22612) or (ip.geoip.asnum eq 62371) or (ip.geoip.asnum eq 47583) or (http.request.uri contains "/wp-cron.php")

Затем, используйте конструктор выражений, установите действие на «Пропустить», пометьте все необходимые флажки и внесите изменения, нажав «Развернуть».

Запретить доступ для пользователей из стран

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

Первая часть обработки включает блокировку посетителей из определенных стран и ботов по их идентификаторам в User Agent. Пример для вставки:

(ip.geoip.country eq "CN") or (ip.geoip.country eq "UA") or (ip.geoip.country eq "IR") or (ip.geoip.country eq "IN") or (ip.geoip.continent eq "AF") or (ip.geoip.country eq "SG") or (ip.geoip.country eq "GB") or (ip.geoip.country eq "PL") or (ip.geoip.country eq "ID") or (ip.geoip.country eq "TH") or (ip.geoip.country eq "HK") or (ip.geoip.country eq "CH") or (ip.geoip.country eq "BG") or (ip.geoip.country eq "CZ") or (ip.geoip.country eq "SC") or (ip.geoip.country eq "CA") or (http.user_agent contains "ahrefs.com") or (http.user_agent contains "Abonti") or (http.user_agent contains "AspiegelBot") or (http.user_agent contains "aggregator") or (http.user_agent contains "AhrefsBot") or (http.user_agent contains "Aport") or (http.user_agent contains "asterias") or (http.user_agent contains "Baiduspider") or (http.user_agent contains "BDCbot") or (http.user_agent contains "bidswitchbot") or (http.user_agent contains "Birubot") or (http.user_agent contains "BLEXBot") or (http.user_agent contains "BUbiNG") or (http.user_agent contains "BuiltBotTough") or (http.user_agent contains "Bullseye") or (http.user_agent contains "BunnySlippers") or (http.user_agent contains "Butterfly") or (http.user_agent contains "ca-crawler") or (http.user_agent contains "CamontSpider") or (http.user_agent contains "CCBot") or (http.user_agent contains "Cegbfeieh") or (http.user_agent contains "CheeseBot") or (http.user_agent contains "CherryPicker") or (http.user_agent contains "coccoc") or (http.user_agent contains "CopyRightCheck") or (http.user_agent contains "cosmos") or (http.user_agent contains "crawler")

После настройки выражения переходим к использованию конструктора выражений, устанавливаем действие как «BLOCK», затем активируем это правило, нажимая на «Развернуть».

Для второй части ваших настроек:

(http.user_agent contains "Crescent") or (http.user_agent contains "CyotekWebCopy/1.7") or (http.user_agent contains "CyotekHTTP/2.0") or (http.user_agent contains "DataForSeoBot") or (http.user_agent contains "DeuSu") or (http.user_agent contains "discobot") or (http.user_agent contains "DittoSpyder") or (http.user_agent contains "DnyzBot") or (http.user_agent contains "DomainCrawler") or (http.user_agent contains "DotBot") or (http.user_agent contains "Download Ninja") or (http.user_agent contains "EasouSpider") or (http.user_agent contains "EmailCollector") or (http.user_agent contains "EmailSiphon") or (http.user_agent contains "EmailWolf") or (http.user_agent contains "EroCrawler") or (http.user_agent contains "Exabot") or (http.user_agent contains "ExtractorPro") or (http.user_agent contains "Ezooms") or (http.user_agent contains "FairShare") or (http.user_agent contains "Fasterfox") or (http.user_agent contains "FeedBooster") or (http.user_agent contains "Foobot") or (http.user_agent contains "Genieo") or (http.user_agent contains "GetIntent Crawler") or (http.user_agent contains "Gigabot") or (http.user_agent contains "gold crawler") or (http.user_agent contains "GrapeshotCrawler") or (http.user_agent contains "grub-client") or (http.user_agent contains "Harvest") or (http.user_agent contains "hloader") or (http.user_agent contains "httplib") or (http.user_agent contains "HTTrack") or (http.user_agent contains "humanlinks") or (http.user_agent contains "HybridBot") or (http.user_agent contains "ia_archiver") or (http.user_agent contains "ieautodiscovery") or (http.user_agent contains "Incutio") or (http.user_agent contains "InfoNaviRobot") or (http.user_agent contains "InternetSeer") or (http.user_agent contains "IstellaBot") or (http.user_agent contains "Java") or (http.user_agent contains "Java/1.") or (http.user_agent contains "JamesBOT") or (http.user_agent contains "JennyBot") or (http.user_agent contains "JS-Kit") or (http.user_agent contains "k2spider") or (http.user_agent contains "Kenjin Spider") or (http.user_agent contains "Keyword Density/0.9") or (http.user_agent contains "kmSearchBot") or (http.user_agent contains "larbin") or (http.user_agent contains "LexiBot") or (http.user_agent contains "libWeb") or (http.user_agent contains "libwww") or (http.user_agent contains "Linguee") or (http.user_agent contains "LinkExchanger") or (http.user_agent contains "LinkextractorPro") or (http.user_agent contains "linko") or (http.user_agent contains "LinkScan/8.1a Unix") or (http.user_agent contains "LinkWalker") or (http.user_agent contains "LinkpadBot") or (http.user_agent contains "lmspider") or (http.user_agent contains "LNSpiderguy") or (http.user_agent contains "ltx71") or (http.user_agent contains "lwp-trivial") or (http.user_agent contains "lwp-trivial") or (http.user_agent contains "magpie") or (http.user_agent contains "Mata Hari") or (http.user_agent contains "MaxPointCrawler") or (http.user_agent contains "MegaIndex")

Аналогично, через конструктор выражений устанавливаем действие на «BLOCK» и применяем изменения, выбрав «Развернуть».

Блокировать известных ботов, уже известных как вредоносные

Большая часть ботов не использует шифрование SSL и посещает сайт с необычных IP-адресов. Данная информация взята с partnerkin.com  и немного адаптирована. Вот соответствующее правило:

(ip.src in {::/0}) or (not ssl) or (not http.request.version in {"HTTP/2" "HTTP/3" "SPDY/3.1"})

Если вы наблюдаете множество ботов, приходящих напрямую без реферера, то необходимо использовать такое условие:

or (http.referer eq "")

Это правило принудит посетителей, пришедших напрямую на сайт без реферера, проходить проверку капчей. Обдумайте, подходит ли такой подход в вашем случае.

Далее, выберите опцию «Управляемый вызов» в действиях и примените настройку, кликнув «Развернуть».

Теперь ваш сайт стал более защищенным! Благодаря этим настройкам, удаётся отфильтровывать до 99% ботов, но, к сожалению, некоторые могут всё равно просочиться.

АКЦИЯ! Бесплатное обслуживание до конца месяца!
Спасибо!
Ваши данные успешно отправлены.
Другие статьи
Удаленное администрирование серверов: преимущества, недостатки и лучшие практики
В современном мире, где гибкость и эффективность являются ключевыми факторами успеха, удаленное администрирование...
Первые признаки, что у вашего сервера проблемы
В мире, где цифровые технологии являются основой практически любого бизнеса, стабильная и бесперебойная работа серверов...
Полный IT-аутсорсинг vs. частичная поддержка: что выбрать для вашей компании?
В современном бизнесе, где технологии являются движущей силой успеха, эффективное управление IT-инфраструктурой...
Скрытые затраты на содержание собственной IT-команды, о которых вы не догадывались
В современном мире, где технологии являются движущей силой любого бизнеса, многие компании стремятся обзавестись...
IT-сленг: разбираемся в языке цифрового мира
Мир информационных технологий постоянно развивается, и вместе с ним растет и его собственный язык – IT-сленг. Для...
Как хакеры взламывают офисные компьютеры: Методы, примеры и защита
В современном мире, где информация является ключевым активом, офисные компьютеры становятся привлекательной мишенью для...
HTTP/3: что меняет и какие плюсы?
Интернет, каким мы его знаем, постоянно эволюционирует. Загрузка веб-страниц, стриминг видео, онлайн-игры – всё это...
Какие российские операционные системы есть?
В условиях современных геополитических реалий и стремительного развития цифровых технологий вопрос о технологическом...
CI/CD Pipeline: пошагово автоматизируем IT-разработку
В современном мире разработки программного обеспечения скорость, надежность и эффективность являются ключевыми...
Внедрение DevOps в свой IT-отдел: зачем и как?
В современном динамично развивающемся мире IT, где скорость вывода продукта на рынок, стабильность работы систем и...
Архитектура Kubernetes: Control Plane и Worker Nodes
В современном мире облачных вычислений и контейнеризации Kubernetes стал де-факто стандартом для оркестрации...
VPN для бизнеса: когда и почему нужно использовать Virtual Private Network
VPN – это технология, которая создает зашифрованный, безопасный "туннель" через общедоступную сеть (например, Интернет)...