3000 ботов в день с чужих серверов: как выглядит атака на поведенческие изнутри логов

Я двадцать лет занимаюсь продвижением сайтов и повидал разное: и апдейты, обнуляющие позиции за ночь, и фильтры, и странные просадки без видимой причины. Но летом 2025 года на мои собственные проекты пришло то, что я до этого видел только у клиентов — массированная накрутка поведенческих факторов ботами с чужих серверов. Три тысячи визитов в день с дата-центров, поддельные мобильные телефоны, идеально имитированное «человеческое» поведение. А через год, летом 2026-го, всё повторилось, только грамотнее.

Эта статья — не теория. Это рассказ от первого лица: как я заметил атаку, как разбирал её по IP и логам, что именно нашёл, как остановил за час и чему в итоге научился. Со всеми цифрами, адресами подсетей и командами. Если вы владелец бизнеса и подозреваете, что вашему сайту «крутят» поведенческие, — здесь вы найдёте пошаговый план, что делать. А если хотите переложить всю эту рутину на специалиста, у меня есть SEO-продвижение сайта под ключ, где такие вещи я отслеживаю за клиента постоянно.

Коротко

  • Симптом. Резкий рост трафика (до 90–92% всех визитов) и «прямых заходов», при этом заявок и звонков — ноль. Идеальные поведенческие цифры, которых в реальности не бывает.
  • Диагноз. Мобильный User-Agent (Chrome на Android) при IP из дата-центра — это стопроцентный бот. Живой телефон в интернет через сервер хостинга не выходит.
  • Инструмент. Реальную картину показывает только Logs API Яндекс.Метрики — сырые данные мимо фильтра отображения. В обычных отчётах ботов маскирует галочка «Фильтровать роботов».
  • Концентрация. 99% ботов пришли всего с 6 подсетей дата-центров. Это и есть слабое место атаки — её можно точечно заблокировать.
  • Лечение. Блок подсетей через .htaccess уронил накрутку с ~250 до ~13 визитов в час (−95%) за час. Риск для живых посетителей и индексации — нулевой.
  • Вторая волна. Параллельно шла накрутка CTR через выдачу — её на сервере не видно вообще, лечится только жалобой в Яндекс.

Как всё началось: цифры, которые слишком хороши

Первый звоночек прозвучал не в панике, а наоборот — в приятном удивлении. Я открыл Яндекс.Метрику и увидел, что трафик на один из моих сайтов вырос в несколько раз буквально за неделю. График визитов пополз вертикально вверх. Любой владелец сайта в этот момент радуется: «Наконец-то продвижение пошло!»

Но радость длилась недолго. Я привык смотреть не на красивую вершину графика, а на то, что под ней. И вот что меня насторожило сразу:

  • Источник — «прямые заходы». Люди якобы вбивали адрес сайта вручную или заходили из закладок. Для нового, не раскрученного бренда доля прямых заходов в 60–70% — это нонсенс. Так не бывает.
  • Ноль реакции бизнеса. Трафик вырос втрое, а заявок, звонков, писем — ровно столько же, сколько было. То есть ни один из «новых посетителей» не оставил контакт. Живые люди так себя не ведут: хоть кто-то да напишет.
  • Слишком гладкие поведенческие. Отказы упали до 9%, среднее время на сайте держалось около 15–17 секунд у всех подряд. У нормальных живых посетителей на этом сайте отказы были в районе 30%, а время — под 78 секунд с большим разбросом.

Именно эта «идеальность» и выдаёт накрутку. Живой трафик всегда неровный: кто-то ушёл через две секунды, кто-то читал десять минут. Когда все посетители ведут себя одинаково хорошо — это не люди, это скрипт. Подробно про то, какие цифры на самом деле важны, я разбирал в отдельном материале — почему 80% владельцев смотрят не те цифры в Метрике.

Почему обычные отчёты Метрики врут

Здесь важно понять одну вещь, о которой мало кто задумывается. В Яндекс.Метрике по умолчанию включена галочка «Фильтровать роботов по поведению». Звучит успокаивающе: мол, система сама отсеет ботов, вы увидите чистые данные. На деле это ловушка.

Фильтр всего лишь прячет распознанных ботов из ваших отчётов. Он не мешает им заходить, грузить сервер и — самое главное — портить поведенческие факторы, которые Яндекс учитывает при ранжировании. То есть в кабинете вы видите красивую очищенную картинку, а поисковый алгоритм в это время получает сигнал: «на сайте творится что-то странное».

Получается, штатный фильтр маскирует масштаб атаки. Пока я смотрел стандартные отчёты, я видел только верхушку айсберга. Чтобы понять реальный размах, нужны были сырые данные — те, что Метрика собирает до всякой фильтрации. Об этой изнанке счётчика я писал отдельно: как счётчик Метрики может убивать ваш сайт.

Как я копал: Logs API и сырые данные

У Яндекс.Метрики есть инструмент, о котором большинство владельцев сайтов даже не слышали, — Logs API. Это выгрузка сырых логов визитов и просмотров: каждая строчка — один визит со всеми техническими параметрами. Никакой фильтрации, никакого сглаживания, только факты. Именно туда я и полез.

Что можно вытащить из Logs API по каждому визиту:

  • IP-адрес посетителя (с маской последнего октета, то есть до подсети /24 — этого достаточно, чтобы опознать сеть и её владельца);
  • полный User-Agent — какой браузер, какая операционная система, какая версия;
  • источник перехода, глубину просмотра, длительность визита;
  • тип устройства — телефон, десктоп, планшет.

Я выгрузил данные за подозрительный период и начал разбирать. И вот тут картина сложилась мгновенно. Про то, что вообще можно найти в логах и как это меняет понимание трафика, у меня есть большой разбор — что я увидел в логах 50 сайтов после апдейта. Здесь же — конкретика по этой атаке.

Что нашёл: телефоны, которые выходят в сеть через сервер

Главная улика лежала на поверхности, стоило только сопоставить два поля: User-Agent и IP.

User-Agent ботов выглядел абсолютно правдоподобно: «Chrome Mobile, Android 12», «Chrome Mobile, Android 13», «Android 14», «Android 15». Причём версии ОС были аккуратно размазаны по всему диапазону — как будто заходят реальные разные телефоны. Слишком аккуратно размазаны. У живой аудитории всегда есть перекос: одних версий больше, других меньше. Здесь же — искусственно ровная ротация, как из генератора.

А вот IP всё расставил по местам. Адреса принадлежали не мобильным операторам, а хостинг-провайдерам и дата-центрам: Miran, IMAQLIQ, Evro Telecom, TimeWeb и подобным. И вот здесь — ключевой момент, который должен понять каждый владелец сайта:

Реальный телефон никогда не выходит в интернет через сервер хостинга. Живой человек с Android заходит через МТС, Мегафон, Билайн, Tele2 или через домашний Wi-Fi. Его IP принадлежит оператору связи или провайдеру. Если же «телефон» выходит в сеть с адреса дата-центра — это не телефон. Это программа на арендованном сервере, которая притворяется телефоном. Мобильный User-Agent плюс серверный IP равно стопроцентный бот. Без исключений.

Как боты имитировали живое поведение

Отдельно меня впечатлила проработка поведения. Боты не просто открывали страницу и уходили. Они:

  • смотрели ровно одну страницу (глубина визита — 1);
  • проводили на ней 15–17 секунд;
  • давали отказов всего около 9%.

Число 15 здесь не случайное. В Яндекс.Метрике визит считается отказом, если человек пробыл на сайте менее 15 секунд и посмотрел одну страницу. Боты держали 15–17 секунд намеренно — чуть выше порога, чтобы не попадать в отказы. Это не самодеятельность школьника, это продуманный инструмент, заточенный под конкретные метрики Яндекса. Кто-то заплатил за то, чтобы поведение выглядело идеальным. Как отличить такую подделку от реальной вовлечённости, я подробно расписывал здесь — как определить накрутку поведенческих факторов.

Концентрация атаки: всего 6 подсетей

Когда я сгруппировал все ботовые визиты по подсетям, выяснилась приятная деталь: 99% фейкового трафика шло всего с шести сетей /24 плюс один диапазон IPv6. Вот они (привожу как есть, для наглядности масштаба):

Подсеть Тип
91.142.85.0/24 дата-центр
45.135.94.0/24 дата-центр
81.29.135.0/24 дата-центр
81.29.136.0/24 дата-центр
109.248.57.0/24 дата-центр
37.77.107.0/24 дата-центр
2a00:f2a0::/32 IPv6, дата-центр

Это отличная новость для защищающегося. Когда атака размазана по тысячам разных адресов, блокировать её тяжело. А здесь вся мощь идёт из нескольких сетей — значит, закрыть их можно буквально несколькими строчками. Концентрация, которая делала атаку эффективной, же её и погубила.

Как я остановил: блок через .htaccess за час

Способ защиты выбрал самый простой и надёжный — блокировку на уровне сервера. Сайт работал на Apache, поэтому я прописал запрет по подсетям прямо в файле .htaccess в корне сайта. Для современного Apache это директива Require not ip, для старого — Deny from.

Логика простая: любой запрос с этих шести подсетей сервер отбивает ещё до того, как отдать страницу. Бот получает отказ, до счётчика Метрики дело даже не доходит, поведенческие не портятся.

Результат был почти мгновенным. Трафик с дата-центров упал примерно с 250 визитов в час до 13 — минус 95% за час. График в Метрике, который до этого шёл вертикально вверх, обрушился обратно к нормальным значениям. Осталось только то, что и должно быть, — живые люди.

А не заблокирую ли я заодно живых людей и поисковики?

Это первый вопрос, который задаёт каждый осторожный владелец. Отвечаю честно: риск здесь нулевой, и вот почему.

  • Живых посетителей с дата-центров не бывает. Ваши реальные клиенты не сидят на серверах хостинга. Они на мобильных операторах и домашних провайдерах. Блокируя дата-центр, вы не теряете ни одного покупателя.
  • Поисковые роботы там тоже не ходят. YandexBot ходит с адресов 77.88.*, Googlebot — с 66.249.*. Это официальные сети поисковиков, и они не пересекаются с подсетями накрутчиков. Индексация не страдает.

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

Почему не Cloudflare

Меня часто спрашивают: «А почему бы просто не поставить Cloudflare, он же от ботов защищает?» Для Рунета это опасный совет, и я объясню почему.

Cloudflare защищает через JS-челлендж — страницу-проверку, которая заставляет браузер выполнить скрипт, прежде чем пустить на сайт. Проблема в том, что YandexBot и Googlebot на такие челленджи спотыкаются. Робот приходит индексировать сайт, упирается в проверку и уходит ни с чем. Результат — страницы выпадают из индекса, позиции проседают. Вы защитились от ботов ценой собственной видимости в поиске. Плюс Cloudflare по умолчанию гонит трафик через зарубежные серверы, что для российских сайтов дополнительный минус к скорости и стабильности.

Что использовать вместо этого:

  • блок на уровне сервера — .htaccess для Apache, конфиг для nginx (самый дешёвый и точный вариант);
  • российские антибот-сервисы — Qrator, DDoS-Guard, Variti, которые понимают специфику Рунета и не режут своих поисковиков.

Две волны: лето 2025 и лето 2026

Самое интересное, что атака была не разовой. Она повторилась.

Первая волна — лето 2025. Всё то, что я описал выше. Заметил по аномальному росту прямых заходов, разобрал по Logs API, нашёл шесть подсетей, закрыл через .htaccess. Ушло на всё про всё несколько часов. После блока трафик вернулся в норму, и я решил, что история закрыта.

Вторая волна — лето 2026. Ровно через год, почти в те же даты, накрутка вернулась. И вот здесь я получил горький урок: мой блок слетел. При очередном обновлении сайта файл .htaccess перезаписался, мои правила исчезли, и дыра снова открылась. Боты, видимо, периодически прощупывали сайт и, обнаружив, что заслон убран, тут же возобновили атаку.

Второй заход был грамотнее. Часть подсетей совпадала с прошлогодними, часть — новые. Плюс добавился IPv6-диапазон, которого в первую волну почти не было. Вывод простой: это не случайный залётный ботнет, а целенаправленная, повторяющаяся история. Кому-то мои сайты сильно мешают. Очень похоже на негативное SEO — когда конкурент «крутит вас в минус», чтобы Яндекс наложил на сайт фильтр за накрутку поведенческих, а сам в это время спокойно продвигается чисто. Механику такого давления я разбирал в статье как конкуренты пытаются выдавить сайт из ТОП-1.

Невидимый второй фронт: накрутка CTR через выдачу

И вот теперь — самое коварное. Пока я боролся с ботами на сервере, шла ещё одна атака, которую на сервере не видно в принципе.

Это накрутка CTR (кликабельности) прямо в поисковой выдаче Яндекса. Боты не заходят на сайт. Они вбивают в поиск специальные запросы-конструкторы — обычно вида «название услуги + бренд» или «услуга + домен» — находят ваш сайт в выдаче и кликают по нему. Кликают массово.

Как это выглядит по цифрам: в Яндекс.Вебмастере вы видите тысячи показов и кликов по странным запросам, с невозможным CTR — 50, 70, 84% на позициях с 5-й по 12-ю. В реальности на пятой позиции по коммерческому запросу CTR редко превышает несколько процентов. А в Метрике при этом — десятки реальных визитов. Тысячи кликов в Вебмастере против десятков визитов в Метрике — это и есть подпись накрутки CTR.

Почему её нельзя заблокировать на сервере? Потому что боты физически не заходят на сайт. Они работают внутри выдачи Яндекса, кликая и возвращаясь. До вашего сервера запрос не доходит — блокировать нечего, IP не видно. Это принципиально другой тип атаки, и лечится он иначе:

  • жалоба в службу Яндекса (Платон) с приложением данных из Вебмастера;
  • если накрутку заказали через какой-то сервис под видом «продвижения» — отказ от этой услуги.

Опасность этой второй накрутки в том, что именно она сильнее всего провоцирует фильтр за накрутку ПФ. Яндекс видит аномальную кликабельность и делает вывод, что владелец сам крутит себе поведенческие. О том, как поисковик сам загнал себя в ловушку с этими фильтрами, я рассуждал здесь — бан за накрутку поведенческих.

Чему я научился: пять уроков

  1. Красивые цифры — повод для тревоги, а не радости. Резкий рост трафика без роста заявок, идеальные отказы, много прямых заходов — это симптомы накрутки, а не успеха.
  2. Штатный фильтр Метрики маскирует масштаб. Он прячет ботов из отчётов, но не защищает. Реальную картину даёт только Logs API.
  3. Мобильный UA + серверный IP = бот. Это железное правило. Живой телефон через дата-центр в интернет не выходит.
  4. Блок слетает при обновлении сайта. Правила в .htaccess нужно бэкапить и проверять после каждого обновления. Иначе дыра откроется снова, и вы этого не заметите.
  5. Есть атаки, невидимые на сервере. Накрутку CTR через выдачу видно только в Вебмастере. Сервер и Метрика тут бессильны — нужен другой инструмент и другая тактика.

Что делать владельцу: пошаговый план

Если вы подозреваете, что вашему сайту крутят поведенческие, вот конкретная последовательность действий.

  1. Проверьте структуру трафика в Метрике. Смотрите на долю прямых заходов и на соотношение «трафик / заявки». Если трафик вырос, а обращений нет — это красный флаг.
  2. Посмотрите на поведенческие. Отказы ниже 10% и одинаковое время у всех посетителей — признак скрипта, а не людей.
  3. Выгрузите сырые данные через Logs API. Сопоставьте User-Agent и IP. Мобильные браузеры с адресов дата-центров — ваши боты.
  4. Определите подсети. Сгруппируйте ботовые визиты по сетям /24. Скорее всего, окажется, что почти всё идёт с нескольких сетей.
  5. Заблокируйте их на сервере. Через .htaccess (Apache) или конфиг nginx. Дата-центры блокировать безопасно — живых людей и поисковиков там нет.
  6. Забэкапьте правила и проверяйте их регулярно. После каждого обновления сайта убеждайтесь, что блок на месте.
  7. Проверьте Вебмастер на накрутку CTR. Ищите запросы-конструкторы с невозможным CTR. Если нашли — жалоба в Яндекс.
  8. Не бросайтесь на Cloudflare. Для Рунета это риск выпасть из индекса. Начните с серверного блока.

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

Вывод

Атака на поведенческие факторы — это не мистика и не «магия Яндекса». Изнутри логов она выглядит предельно конкретно: мобильные телефоны, выходящие в сеть через серверы, идеально ровное поведение, концентрация в нескольких подсетях. Всё это видно, всё это диагностируется, и всё это лечится — если знать, куда смотреть.

Главная проблема не в самих ботах, а в том, что штатные инструменты показывают владельцу приукрашенную картинку. Пока вы смотрите отфильтрованные отчёты и радуетесь росту трафика, алгоритм получает сигналы о подозрительной активности, а конкурент, возможно, целенаправленно тянет вас под фильтр. Разберитесь с сырыми данными — и туман рассеется. А если разбираться самому некогда, я всегда готов посмотреть ваш сайт и сказать, что с ним происходит на самом деле.

Анатолий Кузнецов — SEO-оптимизатор

Остались вопросы по продвижению?

Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.

Связаться со мной →

Комментарии

Дмитрий

Прочитал и полез в Метрику. У меня как раз прямых заходов 65%, а заявок как не было, так и нет. Теперь понятно, куда смотреть. Спасибо за конкретику, а не за «улучшайте контент».

Марина

А как вообще получить доступ к этому Logs API? Звучит сложно, я не программист. Реально ли самому владельцу разобраться или обязательно нужен специалист?

Анатолий Кузнецов автор

Марина, Logs API включается в настройках Метрики, но выгрузка идёт в сыром виде — без навыков работы с таблицами разобрать её тяжело. Для первичной проверки хватит обычных отчётов: посмотрите долю прямых заходов и отказы. Если увидите аномалию — уже тогда есть смысл лезть в сырые логи или обратиться за помощью.

Сергей В.

Вот про то, что фильтр «Фильтровать роботов» только прячет ботов, а не защищает, — для меня открытие. Я был уверен, что галочка всё решает. Получается, жил в иллюзии два года.

Ольга

У нас похожая ситуация была прошлой осенью. Трафик скакнул, а по факту тишина. Подрядчик разводил руками. Жаль, статьи такой тогда не было.

Игорь

Вопрос: а если сайт на nginx, а не на Apache? .htaccess ведь там не работает. Как блокировать подсети в этом случае?

Анатолий Кузнецов автор

Игорь, всё верно, на чистом nginx .htaccess не читается. Там блок прописывается в конфиге сайта директивой deny по нужным подсетям, либо через отдельный map/geo-блок, если сетей много. Логика та же — отбиваем запрос до отдачи страницы. Если доступа к конфигу нет, вопрос решается через хостинг или админа.

Алексей

Самое ценное — раздел про накрутку CTR через выдачу. Я как раз ломал голову, почему в Вебмастере тысячи кликов, а в Метрике пусто. Думал, глюк счётчика. А оно вон что.

Наталья П.

Страшно немного. Получается, любой конкурент может заказать такую накрутку и подвести мой сайт под фильтр, а я даже не сразу пойму? Есть от этого какая-то профилактика?

Анатолий Кузнецов автор

Наталья, полностью застраховаться нельзя, но можно быстро замечать. Настройте себе привычку раз в неделю смотреть на структуру трафика и на Вебмастер. Чем раньше поймаете аномалию, тем меньше вреда. И держите крепкими реальные поведенческие — сайт с живой вовлечённостью алгоритм прощает охотнее, чем «пустой».

Владимир

Про Cloudflare прямо в точку. Ставил год назад, через месяц половина страниц вылетела из индекса Яндекса. Долго не мог понять причину. Снял — вернулось. Теперь знаю, почему так вышло.

Екатерина

Спасибо, что пишете без воды и с реальными цифрами. Обычно в статьях по SEO одна вода, а тут прям инструкция. Забрала в закладки.

Роман

А эти шесть подсетей универсальные? Можно их сразу забить в блок превентивно, или у каждого сайта будут свои?

Анатолий Кузнецов автор

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

Павел

Два года подряд одна и та же атака, да ещё грамотнее — это уже не случайность. Похоже, кому-то вы реально мешаете в выдаче. По-своему это даже показатель, что сайт хороший.

Анатолий Кузнецов автор

Павел, примерно так я к этому и отношусь. Целенаправленно крутят обычно тех, кто занимает хорошие позиции и мешает конкуренту. Неприятно, но это обратная сторона результата. Главное — вовремя замечать и не давать атаке слететь незаметно, как случилось у меня во вторую волну.

Юлия

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

Увеличьте позиции и продажи вашего сайта

Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:

Анатолий Кузнецов — SEO-оптимизатор

Остались вопросы по продвижению?

Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.

Связаться со мной →
Прокрутить вверх