Атака ботов на сайт: как распознать, чем опасна и что делать
Проблема с ботами была актуальна всегда, но летом прошлого года они просто заполонили отечественные сайты, что привело к потере позиций и качественных показателей. При резком снижении поискового трафика наблюдается огромное количество переходов из соцсетей и прямых заходов. Когда это закончится неизвестно, разработчики Яндекс отказываются признавать существующую проблему, поэтому борьба с ботами полностью возлагается на оптимизаторов.
Почему на сайте появляются боты? Чаще всего это связано с тематикой и конкурентами, которые накручивают поведенческие факторы. Они могут использовать ваш ресурс для «прогрева» ботов, получения опыта, собирая куки и создавая видимость посещения сайта человеком. Это все плохо, а хорошо в данной ситуации только одно – если на ваш сайт пришли боты, то он качественный.
Как распознать наплыв ботов
На самом деле существует множество признаков, которые позволяют обнаружить DDoS атаку. Резкий скачок трафика за последние дни – один из прямых сигналов. Обязательно проанализируйте метрику, чтобы понять причину происходящего. Рассмотрим 10 самых явных признаков:
1. Основной показатель – резкий скачок прямых заходов, переходов из соцсетей и ссылающихся сайтов. Для DDoS атак боты выбирают чаще всего сайты, которые находятся в тройке лидеров поисковой выдачи, ресурсы с низким трафиком их мало интересуют.
2. Снижение показателя отказов, когда продолжительность пребывания на сайте и глубина просмотра также сокращаются.
3. Когда бот переходит из поиска, то он проведет на сайте минимум 15 секунд, чтобы исключить отказ. В результате мы наблюдаем множество посетителей, которые пробыли всего 15 секунд, а за это время посетили всего одну страницу. Естественный поисковый трафик выглядит иначе.
4. Когда мы анализируем ботов с помощью Вебвизора, то видим четкую имитацию действий человека. Они также спускаются вниз по страницу, даже могут задержаться на определенном участке. Но именно по действиям их и можно отличить от обычных пользователей, так как люди действуют совершенно иначе. Как действует бот:
- Он обращает внимание на второстепенный текст, а не на основную информацию.
- Совершают хаотичные движения мышкой, водят курсором вокруг отдельных элементов, очерчивая круги.
- Просматривают страницу в быстром темпе, реальный человек не успеет прочесть даже названия товаров.
- Часто боты используют не короткие, а долгие сессии, которые могут длиться до 20 минут, при этом большую часть времени займет судорожное перемещение курсора в случайные области и бездействие.
5. Современные боты уже более совершенны, они могут заходиться на сайт не через прямые заходы, а через поиск, выбирая наиболее маржинальные запросы. Их легко вычислить, так как ip адрес бота, который пришел к вам из поиска и бота, который атаковал ваш сайт с прямого захода будут совпадать.
6. Часто боты переходят на сайт с сомнительных ресурсов, которые должны содержать ссылку на ваш ресурс, но по факту ссылка на источнике отсутствует.
7. Чаще всего боты навещают сайты, которые имеют высокую посещаемость, но могут заглянуть и на более скромные ресурсы.
8. Основная масса ботов будет заходить к вам с мобильных IP, принадлежащих операторам сотовой связи Москвы и области. Среди самых популярных Metropolitan branch of OJSC MegaFon и IPv4 address block not managed by the RIPE NCC. Еще один важный факт все они имеют очень скромное разрешение экрана.
9. Атаку ботов выдает постоянное увеличение количества заходов. В среднем ботный трафик постоянно увеличивается на 20%, это еще может считаться нормой. Когда их вес составляет уже порядка 50%, следует незамедлительно принимать меры.
10. Сигналом присутствия ботов на вашем сайте также может стать резкий рост количества входящих ссылок со странных площадок и явно спамных источников.
Где можно отследить информацию по прямым заходам?
Она находится в разделе «Посетители». Просто перейдите в данный раздел, создайте фильтр «Люди у которых», затем введите параметры «Источники» -> «Тип источника» -> «Первый источник трафика». Установите галочку в ячейке «Прямые заходы».
Может ли Метрика обнаружить бота?
К сожалению, алгоритмы Яндекс.Метрики не позволяют распознавать ботов. В сервисе имеется раздел «Роботы», выйти на него вы можете через Отчеты – Стандартные – Мониторинг – Роботы. Здесь указывается процентное соотношение роботов, которые посещали ваш ресурс, но никакой пользы эти данные не несут, так как в этом показатели боты не учитываются. И даже жесткая фильтрация в настройках не изменит ситуацию.
Чем опасна DDoS атака?
Результат атаки ботов для любого ресурса будет отрицательным, но для некоторых ресурсов такие последствия оказываются поистине разрушительными:
-
Снижение поискового трафика. Он уменьшается медленно, но уверенно. Трафик с Гугла может до определенного времени оставаться на прежнем уровне, а если повезет, то может и вообще не сократиться, все индивидуально.
- Потеря позиций в выдаче. Визит ботов может вас откинуть из лидеров выдачи в ТОП-100 и далее.
- Попадание в бан. Яндекс не может определить бота, воспринимает происходящее как накрутку поведенческих факторов и отправляет вас в бан.
- Бан в РСЯ и Adsense. Современные боты не преследуют цель – скликивать рекламу, на так как они хаотично движутся по сайту и кликают мышкой в разных местах, то это происходит само собой.
Зачем используют DDoS атаки?
Точно ответить на это вопрос невозможно, но специалисты выдвигают две версии:
-
Чтобы уничтожить поведенческие факторы своих конкурентов. Сомнения вызывает то, что атаки происходят не только в пользу коммерческих сайтов. Боты выносят ресурсы различной тематики и посещаемости, без конкретного точечного воздействия.
-
Для накрутки поведенческих на своем сайте посредством уже «опытных» ботов. В чем смысл? За основу выбирается база сайтов из поисковой выдачи по нужному запросу. На всех ресурсах должна быть установлена метрика. Боты навещают эти сайта и «нарабатывают» себе вес. Изначально они используют прямые заходы и стараются максимально подлинно имитировать действия пользователя. Когда такой бот накапливает определенную историю, уровень экспертности в глазах Яндекса, его действия становятся больше похожи на человеческие, то он отправляется в выдачу и совершает переходы уже на заказные сайты для накрутки ПФ.
Кому это выгодно?
В первую очередь это выгодно оптимизаторам. Белое продвижение не дает таких результатов и преимущества при ранжировании, как запрещенные методы накрутки ПФ. Да, не все конторы об этом говорят, но существует ряд агентств, которые делают это в открытую.
Как уберечь сайт от DDoS атаки?
Сразу ответим – на 100% предостеречь ресурс или избавить от бота нельзя никак. На сегодня нет ни единого инструмента, который бы позволил блокировать только ботов, не касаясь реальных посетителей. Да, вы можете использовать капчу, но юзабилити сайта сократиться в разы. Теперь разберем, что можно предпринять в данной ситуации:
1. Игнорировать и оставить все как есть.
Некоторые оптимизаторы отказываются реагировать и уверены, что Яндекс должен сам решить проблему, только Яндекс не спешит вмешиваться. Вполне можно остаться в стороне, особенно если боты не мешают жизни и развития вашего ресурса, не понижают сайт в выдаче, не понижают поисковый трафик и т.д. Но бездействовать можно только до тех пор, пока статистика позволяет. Боты могут уйти, а затем вернуться с новой волной. Рано или поздно может возникнуть ситуация, что вам придется принимать экстренные меры.
2. Удалить метрику с некоторых страниц
Если вы видите, что боты выбрали определенные страницы, то можете на время убрать код метрики с них. Если они уйдут из метрики, то и на ПФ никакого влияния оказывать уже не будут. С одной стороны, это выход, но так происходит крайне редко. Боты посещают чаще всего много страниц, с каждой снимать метрику бессмысленно, тем более что на атаку это никак не повлияет.
3. Демонстрировать метрику только пользователям с поиска
Когда на сайт идут боты из социальных сетей, а вы в них не продвигаете сайт, то зачем собирать этот трафик вообще. Конечно, соцсети могут дать вам новых клиентов, но если это не основной ваш поток, то лучше зафильтровать соцсети и прямые заходы, если процент пользователей, которые набирают ваш сайт вручную не велик. Сразу отметим, в метрике таких фильтров нет, поэтому отсечь можно только через Cloudflare JS Challenge.
В метрике вы можете только настроить фильтр по IPчтобы система не учитывала заходы ботов. Но это ни на что не влияет, и не избавит сайт от их визитов. Не забывайте, разработчики Яндекс неоднократно говорили, что Метрика отражает только статистику и не передает ее поиск, поэтому данные никак не влияют на вашу позицию в выдаче.
4. Забанить IP-адреса или подсети
Да, мы уже говорили ранее, что боты идут преимущественно с мобильных айпи определенных московских операторов. Теоретически, их можно забанить, но на практике делать это не рекомендуется. Во-первых, это рутинная работа. Во-вторых, высока вероятность того, что в вашем списке окажутся реальные пользователи. Поэтому такой способ используется в крайне редких и особо тяжелых случаях.
Сделать это можно разными способами. Проще всего — добавить нужные правила в .htaccess. Еще легче и быстрее воспользоваться генератором и не копаться с кодом.
5. Отключить IPv6
Именно с айпи адресом данного протокола очень часто приходят боты на сайт. Причина в том, что такие адреса стоят копейки, поэтому их покупают чаще всего, а реальные пользователи такими адресами практически не пользуются. Исключить ботов можно блокировкой или отключением в DNS.
Алгоритм удаления всех AAAA-записей в NS
Прописываем в регистраторе домена DNS-сервера, используемые для вашего ресурса. В тех случаях, когда там имеются сервера Сloudflare, сразу переходим к установке «Запрета на IPv6 через Сloudflare». Если же указаны DNS вашего хостера, то используйте «блокировку через панель управления хостинга».
Встречаются ситуации, когда в регистраторе будет прописан совершенно другой вариант. При такой ситуации необходимо перейти в управление нужным доменом, найти все IP адреса, которые привязаны к домену и отключить IPv6.
Накладываем запрет на IPv6 через Сloudflare
В настройках (административной части) сайта на Cloudflare изменение параметров DNS вынесено отдельным блоком в правом верхнем углу административной панели.
Анализируем NS-записи. Если на АААА установлено «DNS Only», то в вашем случае все отлично. Он означает, что запросы будут обходить Cloudflare. Если вы видите статус «Proxied», то для данной DNS все запросы будут идти напрямую через Cloudflare.
Блокируем через панель управления хостинга
Необходимо перейти в раздел «Безопасность», выбрать Блокировка IP и прописать. подсеть. Использовать IPv6 на данном этапе не обязательно. Даже когда у мобильных операторов закончатся свободные четвертые адреса, то они не будут спешить раздавать айпи шестого протокола. Многие оптимизаторы не рекомендуют блокировать и накладывать запреты, так как это негативно воспринимают роботы Гугл и определенную долю реальных посетителей вы все равно заблокируете.
6. Блокировка или установка фильтра по AS
Специалисты на тематических форумах часто рекомендуют отсекать ботов из соцсетей, блокируя целые автономные сети. Сделать это тоже можно разными способами:
-
Через .htaccess аналогично блокировке IP. Узнать адреса, которые включают автономные сети можно с помощью сервиса ASN-blocklist. Вводите номер системы и получаете готовый код, которые остается перенести в .htaccess. Способ хороший, но затратный по времени
-
Через Cloudflare накладывается фильтр в разделе «Firewall». Бесплатная версия позволяет добавлять до 5 правил, в нашем вопросе будет достаточно добавить всего одно. Плюс метода в том, что мы не блокируем трафик, а просто будем показывать капчу.
7. CloudFlare Firewall
Если вы используете режим I’am Under Attack, то мы вынуждены вас огорчить - он не работает, это точно. Этот сервис с большей степени формата AntiDDoS, поэтому он не может распознать накрутку ПФ ботами. Но в данном сервисе есть ряд настроек, которые позволяют отсекать прямые заходы путем добавления правил.
-
Вы также можете отфильтровать трафик с социальных сетей. Он не будет блокироваться, просто будет отображаться капча.
-
Исключить доступ для «плохих» ботов. Включить редирект с HTTP на HTTPS ( при наличии SSL сертификата), активируем настройку Always Use HTTPS перемещением значка в положение ON. Разрешаем доступ белым ботам. А для техз, кто приходит к нам по HTTP даём ему 5-секундную задержку. Далее блокируем переход на сайт пользователям с протоколами HTTP/1.0 и HTTP/1.1 (их используют 99,5% ботов и 0,5% пользователей)
8. BotFAQtor
Это одно из популярных антифрод-решений, которое позволяет отвести ботов с вашего ресурса. Для ВордПресса даже предусмотрен готовы плагин, который устанавливается из коробки. Дополнительно имеется защита от скликивания и укорачиватель URL. Сам сервис функционирует по принципу редиректа на свою платформу при каждом http-запросе к сайту. Сервис проверяет каждого пользователя и, при обнаружении человеческих характеристик, разрешает переход на сайт. К сожалению, программа имеет множество негативных отзывов, так как выявляет очень низкий процент ботов.
9. Antibot.cloud
На сегодня данный сервис является одним из лучших средств избавления от атаки ботов. Полной защиты не обеспечивает, но в борьбе реально помогает. Как и во многих программа, здесь тоже имеется платная и бесплатная версии, и всем понятно, что бесплатная имеет очень низкий функционал, поэтому останавливаться на ней не будем.
Регистрируемся, получаем бесплатный тестовый период на 10 дней. Если возникают проблемы с установкой, можно перейти в Телеграмм, чтобы связаться с ботом создателя. Он помогает со всеми настройками продукта. С ним же можно обсудить любые вопросы и уточнить интересующие моменты.
Требования для установки
Техническая часть должна отвечать следующим требованиям:
-
Обязательно PHP 5.5-7.4 с расширениями: SQLite3 и Mbstring
-
Желательно: ZIP и Memcached.
Порядок установки
Загружаем распакованный архив в корень сайта. Внутри папки устанавливаем data права на запись:
Для тех, кто использует WordPress, добавляем в файл wp-config строчку
require_once($_SERVER['DOCUMENT_ROOT'].'/antibot/code/include.php');
Если вы работаете не с Вордпресс, то размещаете эту строку в любой другой php-скрипт, который выполняется на сайте. Перед установкой учитывайте, что данный Антибот имеет проблемы с некоторыми кэширующими плагинами WP.
Настраиваем и редактируем конфиг
Чтобы правильно выполнить настройку необходимо отредактировать конфиг (/antibot/data/conf.php). Данные, которые подлежат замене, будут указаны в личном кабинете.
Полное описание конфига с подробным объяснением настроек — antibot.cloud/static/conf_ru.txt
Обязательно установите и настройте модуль Memcached. Без него раздел статистики будет пустым.
Если вы хотите запретить прямые заходы, то должны это сделать еще до установки путем замены строки, которую вы прописывали в файле wp-config. Здесь следует прописать:
if (@trim($_SERVER['HTTP_REFERER']) == '') {
require_once($_SERVER['DOCUMENT_ROOT'].'/antibot/code/include.php');
}
Настраиваем дизайн заглушки. Изначально ее внешний вид будет стандартным, но вы можете изменить ее дизайн самостоятельно в файле tpl.txt.
Utm-метки. Если метрика считывает все переходы как внутренние, то вам следует включить utm-метки.
Настройка Cloudflare. Для отключения IPv6 в необходимо перейти на страницу cloudflare.mikfoxi.com и заполните данные (понадобится Api key).
Ошибка 071. Свидетельствует о том, что вы забанены сервисом за чрезмерную активность. Арест будет снят примерно через сутки, но нужно понимать, что бан действует не на сайт, а на ваш IP.
Недостатки Анитбота
Кроме того, что сервис не обеспечивает 100% защиты, он имеет еще ряд других недостатков:
-
Блокирует доступ для сервисных ботов гугла. В результате Google Page Speed всегда будет показывать 100%, так как будет оценивать скорость загрузки заглушки. Добавление сервиса в белый список не решает проблему
-
Бан в Google Ads (ex-Adwords). Иногда проблему решает повторная модерация
-
Возникают проблемы с установкой на CMS Битрикс
-
Не защищает турбо-страницы.