Боты могут оуказывать различные негативные эффекты на работу сайту, в данной статье описан пример политики CloudFlare для успешной борьбы (блокировки) различных ботов, с использованием настроек CloudFlare Free.
Вред от плохих ботов
Вот несколько способов, которыми плохие боты могут навредить вашему бизнесу
- Подбор цен. Используя плохих ботов, конкуренты соскабливают ваши цены, чтобы обойти вас на рынке. Вы теряете бизнес, потому что ваш конкурент выигрывает SEO-поиск по цене. Это наносит значительный ущерб прогнозируемой пожизненной стоимости ваших клиентов.
- Негативно влияет на SEO - боты, занимающиеся веб-скреппингом, могут копировать и извлекать с сайтов данные, защищенные авторским правом или торговой маркой, и повторно использовать их - часто в конкурентных целях - на других сайтах. Поскольку в сети существует две версии контента, это может значительно снизить поисковый авторитет вашего сайта.
- Захват учетных записей. Вредоносные боты крадут учетные данные законных пользователей и проверяют их на вашем сайте. В случае успеха хакеры могут привести к блокировке учетных записей, финансовым махинациям и увеличению числа жалоб клиентов, что сказывается на их лояльности и будущих доходах.
- Снижение доверия клиентов - боты могут заполнять почтовые ящики ваших клиентов нежелательными письмами с вредоносными ссылками, писать фальшивые обзоры продуктов, создавать фальшивые аккаунты в социальных сетях для написания ложного или необъективного контента, накручивать количество просмотров или подписчиков, писать провокационные комментарии в Интернете для разжигания споров, подтасовывать голоса и многое другое. Такие действия могут разочаровать клиентов, оттолкнуть их от вашего сайта и испортить вашу репутацию.
- Искажение аналитики - Злоумышленники могут использовать бот-сети для проведения DDoS-атак, которые делают недоступными приложения или сети, что может повлиять на показатели трафика. Кроме того, боты могут создавать несуществующие лиды, создавая и затем бросая корзины на сайте электронной коммерции. Плохие показатели могут привести к неправильным маркетинговым решениям.
- Разрушение рентабельности инвестиций в рекламу - боты могут совершать мошенничество с кликами, автоматически нажимая на рекламу. Это искажает данные, предоставляемые рекламодателям, и обходится компаниям в кругленькую сумму, поскольку они в итоге платят за нечеловеческие клики. Еще хуже то, что эти компании не получают никакого дохода от поддельных "покупателей". Мошенничество с кликами также может использоваться компаниями для намеренного повышения стоимости рекламы своих конкурентов.
- Потеря дохода - Вредоносные боты могут негативно повлиять на итоговую прибыль, будь то не реагирующий на запросы или помеченный сайт, посетители, перенаправленные к конкурентам, торговый персонал, преследующий ложные возможности или лиды, платящий больше за клики по рекламе, или просто принимающий неверные бизнес-решения на основе плохих данных.
- Боты создают нагрузку на сайт и повышают требования к серсусам сервера
Настройка политики CloudFlare
Перен началом настройки убедитесь, что у вас установлена опция CloudFlare - Always Use HTTPS
SSl\TLS - Edge Certificates
Вторым шагом, переходим в раздел Security - Bots и включаем: Bot Fight Mode
Прочитайте подробное о данном функционале: Bot Fight Mode
Далее, переходим в раздел Security - WAF, здесь нам понадобиться создать несколько политик
Политика pre-filter
Создаем политику pre-filter она у нас будет первой в списке, с действием block. Так как CloudFlare не позволяет добавить пустые политики, добавим одно правило
1 | (http.user_agent eq "") |
Блокирующее пользователей с пустым User-Agent.
Читайте подробнее: Обязателен ли User-Agent
Исключение хороших ботов
В качестве действия выбираем Skip и в разделе "WAF components to skip" устанавливаем все галки.
Более подробно: Плохие боты и краулеры
Основной фильтр
1 | (ip.geoip.country eq "T1") or (cf.threat_score gt 0) or (ip.src in $bad_ip) or (not ssl) or (not http.request.version in {"HTTP/2" "HTTP/3" "SPDY/3.1" "HTTP/1.2"}) or (http.request.uri contains "/wp-login.php") |
Список то где dpznm с IP адресами?
Составить самостоятельно, можно анализировать 404 ошибки.
Можно тут: https://myip.ms/files/blacklist/general/latest_blacklist.txt
проявите фантазию)
Ну в общем спасибо за материал.
Их в сети есть, но ваш оказался самый понятный.
Единственный вопрос, почему не блокируем тех, кто пришел с IPV6 и как это сделать?
Спасибо за обратную связь.
В список можно добавлять IPv6, но с ним есть определенные проблемы.
"Отдельные адреса не поддерживаются в контексте списков, можно настроить только весь диапазон /64"
т.е. нельзя добавить один адрес, только предварительно преобразовав в подсеть указав ее всю.
В крайнем случае, IPv6 можно заблокировать или направить на принудительную проверку через капчу
https://g-soft.info/articles/9852/cloudflare-blokirovka-podklyucheniy-s-ipv6/
А базу IP я собрал из логов сервера.
Взял всех, у кого нет refer.
Смелое решение, можно заблокировать всех кто напрямую заходит на сайт, к примеру из закладок.
Если веб сервер стоит за Cloudflare, то не все запросы будут доходить до него, если требуется отправлять все прямые заходы на капчу, то использует следующую конструкцию
(http.referer eq "")
>> Смелое решение, можно заблокировать всех кто напрямую заходит на сайт, к примеру из закладок
Стоп. Vs же не блокируем, а отправляем на капчу. Я внес себя в список и проверил.
Даже галочку не нужно нажимать. CF крутит пару секунд колесо проверки и пускает на сайт.
>> В крайнем случае, IPv6 можно заблокировать или направить на принудительную проверку через капчу
Да, на капчу. Но не подумал про поисковые системы, которые могут использовать IPv6...
Ладно, завтра проверим ботность.
Вообще интересная проблема. Наплыв ботов начался у сразу нескольких сайтов. И все они были в Cloudflare. Вернул DNS своего сервера - и боты отвалились.
Спустя лето по неким причинам перенес сайт с Cloudflare на сторонний хостинг. Трафик с 15к упал до 1.5к, то есть до своей нормы.
Вывод: На некоторые сайты, работающие на Cloudflare происходит дикий набег ботов.
Написал пост об этом в комьюнити сервиса, показал график роботности с метрики. Сказали, красивый график ))), но разбирайтесь с метрикой. Проверил данные с Google Analitycs - все совпадает. Но выводить сайты из Cloudflare не вариант. Поэтому пробую вашу настройку.
Но факт подтвержден инструментально: некоторые сайты под Cloudflare страдают от аномальных набегов ботов (время сессии 1 секунда).
на это можно не обращать внимаение, так как поисковых ботов мы уже разрешили политикой "Исключение хороших ботов"
Подозреваю что это прямую никак не связано, сайты за Cloudflare лучше ранжируються у поисковых системы, так как отвечают и работают быстрее.
Ну в общем правила работают, вижу статистику.
pre-filter 49
Known Bots 4.33k
Managed Challenge 2.13k
Это за сутки при трафике 6.5к
Но! Количество ботов в метрике не изменилось.
Это как так?
метрика как и алгоритмы яндекса вообще странно работают, попробуйте ограничить прямые заходы (отдельной политикой) и посмотреть на результат.
(http.referer eq "")
>> отдельной политикой
Создать отельное правило или можно включить ее в набор Score ?
Можно и туда, просто для отслеживания работы политики.
Так проще отлаживать на первом этапе, так как можно прямо по ней посмотреть как она работает и внести необходимые белые списки.