CloudFlare: Эффективная политика для борьбы с ботами и спамом на сайте

cloudflare

Боты могут оуказывать различные негативные эффекты на работу сайту, в данной статье описан пример политики CloudFlare для успешной борьбы (блокировки) различных ботов, с использованием настроек CloudFlare Free.

Вред от плохих ботов

Вот несколько способов, которыми плохие боты могут навредить вашему бизнесу

  • Подбор цен. Используя плохих ботов, конкуренты соскабливают ваши цены, чтобы обойти вас на рынке. Вы теряете бизнес, потому что ваш конкурент выигрывает SEO-поиск по цене. Это наносит значительный ущерб прогнозируемой пожизненной стоимости ваших клиентов.
  • Негативно влияет на SEO - боты, занимающиеся веб-скреппингом, могут копировать и извлекать с сайтов данные, защищенные авторским правом или торговой маркой, и повторно использовать их - часто в конкурентных целях - на других сайтах. Поскольку в сети существует две версии контента, это может значительно снизить поисковый авторитет вашего сайта.
  • Захват учетных записей. Вредоносные боты крадут учетные данные законных пользователей и проверяют их на вашем сайте. В случае успеха хакеры могут привести к блокировке учетных записей, финансовым махинациям и увеличению числа жалоб клиентов, что сказывается на их лояльности и будущих доходах.
  • Снижение доверия клиентов - боты могут заполнять почтовые ящики ваших клиентов нежелательными письмами с вредоносными ссылками, писать фальшивые обзоры продуктов, создавать фальшивые аккаунты в социальных сетях для написания ложного или необъективного контента, накручивать количество просмотров или подписчиков, писать провокационные комментарии в Интернете для разжигания споров, подтасовывать голоса и многое другое. Такие действия могут разочаровать клиентов, оттолкнуть их от вашего сайта и испортить вашу репутацию.
  • Искажение аналитики - Злоумышленники могут использовать бот-сети для проведения DDoS-атак, которые делают недоступными приложения или сети, что может повлиять на показатели трафика. Кроме того, боты могут создавать несуществующие лиды, создавая и затем бросая корзины на сайте электронной коммерции. Плохие показатели могут привести к неправильным маркетинговым решениям.
  • Разрушение рентабельности инвестиций в рекламу - боты могут совершать мошенничество с кликами, автоматически нажимая на рекламу. Это искажает данные, предоставляемые рекламодателям, и обходится компаниям в кругленькую сумму, поскольку они в итоге платят за нечеловеческие клики. Еще хуже то, что эти компании не получают никакого дохода от поддельных "покупателей". Мошенничество с кликами также может использоваться компаниями для намеренного повышения стоимости рекламы своих конкурентов.
  • Потеря дохода - Вредоносные боты могут негативно повлиять на итоговую прибыль, будь то не реагирующий на запросы или помеченный сайт, посетители, перенаправленные к конкурентам, торговый персонал, преследующий ложные возможности или лиды, платящий больше за клики по рекламе, или просто принимающий неверные бизнес-решения на основе плохих данных.
  • Боты создают нагрузку на сайт и повышают требования к серсусам сервера

Настройка политики CloudFlare

Перен началом настройки убедитесь, что у вас установлена опция CloudFlare - Always Use HTTPS

SSl\TLS - Edge Certificates

CloudFlare - Always Use HTTPS Вторым шагом, переходим в раздел Security - Bots и включаем: Bot Fight Mode

Прочитайте подробное о данном функционале: Bot Fight Mode

Bot Fight Mode

Далее, переходим в раздел Security - WAF, здесь нам понадобиться создать несколько политик

Политика pre-filter

Создаем политику pre-filter она у нас будет первой в списке, с действием block. Так как CloudFlare не позволяет добавить пустые политики, добавим одно правило

Блокирующее пользователей с пустым User-Agent.

Читайте подробнее: Обязателен ли User-Agent

(http.user_agent eq "")

Исключение хороших ботов

Второе правило позволит исключить из проверки всех хороших ботов (в основном поисковые системы)
Назовем его: Known Bots

В качестве действия выбираем Skip и в разделе "WAF components to skip"  устанавливаем все галки.

(cf.client.bot) or (http.user_agent contains "Mail.RU_Bot")
Это позволит работать ботам поисковых машин без ограничений, к сожалению эта политика пропускает еще часть SEO ботов, которые нам не очень нужны, по этому мы сможем вернуться в правило pre-filter  и заблокировать их по user-agent.

Более подробно: Плохие боты и краулеры

Основной фильтр

И создаем третье правило: Score
Это основное правило блокировки ботов, нам понадобиться несколько полей.
Первым в списке выбираем [Country] - TOR
Вторым [Threat Score ] Greater than 0 - Для всех адресов у которых есть не положительная репутация.
Далее, необходимо создать  список IP адресов и добавить его в правило
Следующие параметр [SSL/HTTPS] в режиме OFF - что пользователь к нам пришел по HTTP, так как сайт настроен на работу по HTTPS по HTTP к нам будут приходить боты.
Так же добавляем [HTTP Version] в формате is not in и перечисляем "HTTP/2" "HTTP/3" "SPDY/3.1" "HTTP/1.2" - боты в большинстве случаев, используют HTTP 1.1 и соответственно не смогут пройти дальше
И бонусом настраиваем поле URL, где добавляем URL страницы авторизации вашей CMS, к примеру для WordPress это будет /wp-login.php
Полностью правило выглядит следующим образом
(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")
В качестве действия выбираем Manage Challenge это позволит легитимным пользователям пройти проверку и получить доступ к сайту.
Общий список политик
Пример работы подобной политики
Пример работы подобной политики
В результате на сайте пропал спам, совсем и значительно сократилось количество 404 ошибок, теперь они только от легитимных ботов.
Комментарии: 0