TrafficVeil проанализировал входящий HTTP-трафик по защищаемым сайтам и увидел не абстрактную «угрозу из интернета», а конкретную картину: миллионы запросов к xmlrpc.php, wp-login.php, .env, .git, резервным копиям, config-файлам, админ-панелям и другим типовым точкам входа.
Главный вывод исследования простой: бот-трафик и автоматическое сканирование — это не редкое событие. Это постоянный фон работы современного сайта.
Ключевые цифры за 90 дней
Почти полмиллиарда запросов — это не только действия реальных пользователей. Внутри этого объёма есть поисковые роботы, AI-краулеры, SEO-боты, мониторинговые сервисы, сканеры безопасности, автоматические HTTP-клиенты, headless-браузеры и распределённые ботнеты.
Особенно важны 14,03 млн защитных и блокирующих ответов. Это запросы, которые не должны были свободно доходить до сайта: часть была ограничена, часть заблокирована, часть получила ошибочный или защитный ответ из-за подозрительного поведения.
Что показали детальные логи за месяц
| Показатель | Значение |
|---|---|
| HTTP-запросов за месяц | 181,3 млн |
| Доменов в детальной выборке | 2162 |
| Уникальных IP-адресов | 2,52 млн |
| Явно распознанных bot-запросов | 1,86 млн |
| Запросов, похожих на поиск уязвимостей | 44,1 млн |
| IP, участвовавших в сканировании | 776 тыс. |
| Активных доменов, где были проверки слабых мест | 275 |
Из чего состоял месячный трафик
| Сегмент | Запросов | IP | Доменов | Доля |
|---|---|---|---|---|
| Люди / обычные браузеры | 126,1 млн | 2,23 млн | 279 | 70,03% |
| Сканеры уязвимостей | 44,1 млн | 776 тыс. | 275 | 24,51% |
| Вредоносные / технические клиенты | 8,7 млн | 25,8 тыс. | 278 | 4,85% |
| AI-боты | 441 тыс. | 4 тыс. | 22 | 0,25% |
| Прочие боты | 364 тыс. | 8,5 тыс. | 25 | 0,20% |
| Поисковые боты | 227 тыс. | 7,4 тыс. | 23 | 0,13% |
| SEO-боты | 84,6 тыс. | 5,7 тыс. | 21 | 0,05% |
Эта структура показывает, что сайт посещают не только клиенты и поисковые системы. Вокруг каждого публичного ресурса существует большой слой автоматических клиентов: одни индексируют контент, другие собирают данные, третьи проверяют слабые места, четвёртые маскируются под браузеры.
Что именно ищут автоматические сканеры
За месяц почти все активные сайты, по которым был трафик, сталкивались с автоматическим поиском слабых мест. Скрипты массово проверяли xmlrpc.php, wp-login.php, админ-панели, .env, .git, backup-файлы, config-файлы и другие типовые точки утечки.
| Проверяемый путь | Запросов за месяц | Активных доменов |
|---|---|---|
| xmlrpc.php | 12,03 млн | 274 |
| wp-login.php | 6,7 млн | 273 |
| Административные панели | 4,79 млн | 273 |
| .env | 912 тыс. | 275 |
| config-файлы | 578 тыс. | 275 |
| backup / .sql / .bak | 280 тыс. | 273 |
| .git | 121 тыс. | 275 |
| debug / actuator | 47 тыс. | 275 |
| composer / vendor | 20,6 тыс. | 259 |
| Web Shell | 17,6 тыс. | 269 |
| PHPUnit | 5,3 тыс. | 254 |
| phpMyAdmin | 3,9 тыс. | 114 |
Почему именно эти пути проверяют чаще всего
| Что проверяют | Что пытаются найти | Возможные последствия |
|---|---|---|
| xmlrpc.php | Включённый XML-RPC WordPress | Брутфорс, DDoS через pingback, эксплуатация старых сценариев |
| wp-login.php | Страницу авторизации WordPress | Подбор паролей и проверка украденных учётных данных |
| .env | Конфигурацию приложения | Утечка API-ключей, паролей, доступов к БД и SMTP |
| config.php | Файлы конфигурации CMS | Доступ к внутренним параметрам сайта |
| .git | Публичный репозиторий | Восстановление исходного кода и истории изменений |
| backup.sql / backup.zip | Резервную копию | Утечка базы данных или файлов проекта |
| phpMyAdmin | Панель управления БД | Попытки авторизации и атаки на интерфейс БД |
| PHPUnit / vendor | Старые библиотеки | Эксплуатация известных RCE-уязвимостей |
| Web Shell | Уже загруженные шеллы | Проверка ранее скомпрометированных сайтов |
Большинство автоматических проверок направлено не на поиск неизвестных уязвимостей, а на эксплуатацию типовых проблем, которые годами повторяются на тысячах сайтов: забытые бэкапы, открытые панели, устаревшие компоненты и неправильные настройки веб-сервера.
Динамика: сканирование идёт каждый день
Попытки поиска уязвимостей идут каждый день, без выходных и пауз. В отдельные дни количество таких запросов приближалось к 2 млн в сутки. Это не разовая атака, а постоянный автоматический фон, с которым сталкиваются почти все активные сайты.
| День | Попыток поиска уязвимостей | IP | Доменов |
|---|---|---|---|
| 2026-06-03 | 1,15 млн | 49,1 тыс. | 262 |
| 2026-06-04 | 1,38 млн | 44,6 тыс. | 262 |
| 2026-06-12 | 1,77 млн | 51,3 тыс. | 261 |
| 2026-06-16 | 1,99 млн | 42 тыс. | 266 |
| 2026-06-18 | 1,68 млн | 51,8 тыс. | 265 |
| 2026-06-21 | 1,53 млн | 63,8 тыс. | 265 |
| 2026-06-24 | 1,95 млн | 63 тыс. | 265 |
| 2026-06-25 | 1,94 млн | 60,4 тыс. | 264 |
| 2026-06-26 | 1,88 млн | 63,6 тыс. | 265 |
| 2026-06-27 | 1,93 млн | 58,2 тыс. | 264 |
| 2026-06-29 | 1,67 млн | 64,7 тыс. | 261 |
| 2026-06-30 | 1,58 млн | 62,2 тыс. | 271 |
| 2026-07-01 | 1,57 млн | 60,1 тыс. | 269 |
Кто именно приходит на сайт: топ User-Agent
В логах видно не только «ботов вообще», а конкретные автоматические клиенты: AI-краулеры, SEO-боты, WordPress-сервисы, Java/Go/Python-клиенты и маскирующиеся браузеры. Часть из них полезна, часть спорная, а часть явно не похожа на обычных посетителей.
| User-Agent / бот | Запросов | IP | Доменов |
|---|---|---|---|
| Meta ExternalAgent | 2,9 млн | 748 | 235 |
| Bytespider | 1,91 млн | 9,3 тыс. | 229 |
| WordPress.com | 1,82 млн | 26,4 тыс. | 218 |
| Jetpack by WordPress.com | 1,82 млн | 26,4 тыс. | 216 |
| Chrome 120 fake / automation | 1,28 млн | 29,4 тыс. | 270 |
| Chrome 78 fake / automation | 1,15 млн | 1,1 тыс. | 270 |
| Chrome 95 fake / automation | 1,05 млн | 1,6 тыс. | 269 |
| Chrome 142 fake / automation | 1 млн | 9,8 тыс. | 199 |
| Applebot | 714 тыс. | 2,1 тыс. | 206 |
| Apache-HttpClient Java | 662 тыс. | 48 | 86 |
| Empty User-Agent | 541 тыс. | 1,9 тыс. | 272 |
| GPTBot | 524 тыс. | 299 | 233 |
| Amazonbot | 508 тыс. | 439 | 227 |
| TikTokSpider | 340 тыс. | 1 тыс. | 159 |
| Bingbot | 280 тыс. | 265 | 223 |
| ClaudeBot | 235 тыс. | 341 | 225 |
| Go-http-client/2.0 | 223 тыс. | 2,3 тыс. | 261 |
Отдельного внимания заслуживают фейковые и автоматизированные версии Chrome. На бумаге такой клиент может выглядеть как обычный браузер, но по поведению, частоте запросов, TLS-профилю и последовательности обращений он отличается от реального пользователя.
Откуда приходят сканеры
После доидентификации IP через репутационную базу самый большой источник сканирования — США: 12,75 млн запросов за месяц. Часть трафика всё ещё остаётся без точной GeoIP-привязки: 5,22 млн запросов от 162,7 тыс. IP. Такие IP корректнее показывать отдельно как «GeoIP не определён», а не как страну Unknown.
Почему GeoIP уже недостаточно
Страна источника помогает увидеть общую картину, но не объясняет природу запроса. Один и тот же регион может содержать домашние сети, мобильных операторов, дата-центры, CDN, VPN-провайдеров, облачные платформы и инфраструктуру ботов.
Поэтому TrafficVeil нужно дополнительно обогащать IP-профиль следующими признаками:
| Поле | Зачем нужно |
|---|---|
| asn | Номер автономной системы, из которой пришёл запрос. |
| asn_org | Организация или провайдер: облако, хостинг, CDN, оператор связи. |
| network_type | Классификация сети: hosting, residential, mobile, proxy, vpn. |
| is_datacenter | Признак дата-центра. Помогает отделять инфраструктурный трафик от обычных пользователей. |
| is_proxy / is_vpn / is_tor | Признаки анонимизирующих сетей и обхода ограничений. |
Это следующий уровень аналитики. Владелец сайта должен видеть не просто IP и страну, а ответ на вопрос: кто именно пришёл, из какой сети, насколько этот клиент похож на человека и почему система считает его подозрительным.
Средний сайт тоже получает ботов
Распространённое заблуждение: «мой сайт небольшой, злоумышленникам он не интересен». Данные TrafficVeil показывают обратное.
| Метрика по доменам с 1000+ запросов за месяц | Значение |
|---|---|
| Средний сайт получил всего запросов | 273 тыс. |
| Медианный сайт получил всего запросов | 29,8 тыс. |
| Средний сайт получил bot-запросов | 2813 |
| Средний сайт получил уникальных bot-IP | 137 |
| Средний сайт получил запросов на поиск уязвимостей | 66,8 тыс. |
| Медианный сайт получил запросов на поиск уязвимостей | 6080 |
Даже если сайт не является крупным медиа или интернет-магазином, он всё равно попадает в автоматические списки сканирования. Скриптам не важна известность бренда. Им важно, открыт ли сайт в интернете и есть ли на нём типовая точка входа.
Как это выглядит на реальных сайтах
Ниже — обезличенные примеры из сети TrafficVeil. Названия проектов заменены на «Сайт №1», «Сайт №2» и так далее. Цифры сохранены.
| Сайт | Всего запросов | Поиск уязвимостей | Bot-запросы | IP сканеров | Защитные ответы | Доля сканирования |
|---|---|---|---|---|---|---|
| Сайт №1 | 1,39 млн | 729 тыс. | 0 | 21 тыс. | 5,4 тыс. | 52,59% |
| Сайт №2 | 1,76 млн | 652 тыс. | 0 | 10,5 тыс. | 10,8 тыс. | 37,04% |
| Сайт №3 | 1,92 млн | 622 тыс. | 0 | 26,1 тыс. | 5,4 тыс. | 32,39% |
| Сайт №4 | 913 тыс. | 499 тыс. | 0 | 16,9 тыс. | 2 тыс. | 54,65% |
| Сайт №5 | 954 тыс. | 476 тыс. | 163 тыс. | 14,4 тыс. | 138 тыс. | 49,9% |
| Сайт №6 | 829 тыс. | 474 тыс. | 0 | 6,8 тыс. | 11,6 тыс. | 57,21% |
| Сайт №7 | 641 тыс. | 414 тыс. | 0 | 5,7 тыс. | 6,1 тыс. | 64,53% |
Разбор одного кейса
| Показатель | Значение |
|---|---|
| Всего запросов | 954 тыс. |
| Попыток поиска уязвимостей | 476 тыс. |
| Явно распознанных bot-запросов | 163 тыс. |
| IP, участвовавших в сканировании | 14,4 тыс. |
| Защитных и блокирующих ответов | 138 тыс. |
| Доля сканирования | 49,9% |
За месяц один из сайтов получил 954 тыс. запросов, из них 476 тыс. были похожи на поиск уязвимостей. Это почти половина всего трафика. Дополнительно TrafficVeil распознал 163 тыс. bot-запросов и зафиксировал 138 тыс. защитных или блокирующих ответов. В сканировании участвовали 14,4 тыс. IP.
В браузере сайт может «просто работать», но в логах видно, что его постоянно проверяют автоматические скрипты.
Во что бизнесу обходится автоматический трафик
Проблема не всегда выглядит как «сайт упал». Чаще она выглядит как медленная работа, странные пики нагрузки, мусорные заявки, рост ошибок, непонятная аналитика и постепенная потеря контроля.
- Нагрузка на сервер. Каждый запрос требует CPU, RAM, сетевых ресурсов и записи в логи.
- Рост ошибок 404 и 403. Логи забиваются обращениями к несуществующим техническим URL.
- Искажение аналитики. В отчётах появляются всплески, странные страницы и некачественные визиты.
- Риск брутфорса. Особенно для WordPress, админок и API.
- Парсинг контента. SEO-боты, AI-краулеры и парсеры собирают тексты, карточки товаров, цены и изображения.
- Риск утечек. Один забытый backup-файл или открытый .env может стать точкой компрометации.
Как понять, что сайт уже сканируют
Если в логах регулярно встречаются обращения к следующим путям, сайт уже находится в поле зрения автоматических сканеров:
/wp-login.php/xmlrpc.php/.env/.git/phpmyadmin/backup.zip,/database.sql,/dump.sql/config.php/vendor/phpunit/actuator,/debug
Дополнительные признаки: большое количество IP с единичными запросами, всплески ночью, много 404, обращения из стран без целевой аудитории, пустые User-Agent, Go/Python/Java-клиенты и подозрительные версии Chrome.
Как TrafficVeil снижает нагрузку и риск
TrafficVeil работает как защитный слой перед сайтом. Все входящие запросы сначала поступают в инфраструктуру TrafficVeil, проходят проверку и только после этого передаются на origin-сервер.
Система анализирует десятки признаков: IP-репутацию, User-Agent, частоту запросов, поведение клиента, географию, ASN, тип сети, признаки дата-центра, VPN/Proxy/Tor, HTTP-заголовки, TLS-фингерпринт и попытки обращения к опасным URL.
Если запрос похож на обычного пользователя — он проходит дальше. Если обнаружены признаки сканирования, брутфорса, парсинга, автоматизации или поиска уязвимостей — запрос может быть ограничен, заблокирован или отправлен на дополнительную проверку.
Главные выводы исследования
- 1. Автоматическое сканирование стало нормой. Сайты проверяют каждый день, без пауз и выходных.
- 2. Размер сайта почти не имеет значения. Даже небольшие ресурсы получают тысячи технических запросов.
- 3. Почти четверть месячного трафика была похожа на поиск уязвимостей. Это не разовая атака, а постоянный фон.
- 4. Главные цели сканеров — типовые точки входа. WordPress, XML-RPC, админки, .env, .git, backup-файлы и config-файлы.
- 5. User-Agent уже недостаточно. Многие клиенты маскируются под браузеры, поэтому нужен анализ поведения, ASN, типа сети и TLS-профиля.
- 6. GeoIP нужно показывать честно. Неопределённые адреса должны попадать в отдельную категорию «GeoIP не определён», а не маскироваться под Unknown.
- 7. Защиту нужно подключать до инцидента. Если сайт начал приносить пользу бизнесу, он уже должен быть защищён.
Заключение
Фраза «сайт и так работает» не означает, что с ним всё в порядке. Она означает только то, что проблема ещё не стала видимой.
За 90 дней через TrafficVeil прошло 496,7 млн запросов. За месяц детальные логи показали 44,1 млн запросов, похожих на поиск уязвимостей. В отдельные дни количество таких проверок приближалось к 2 млн в сутки. Это не теория и не маркетинговая страшилка. Это обычный фон интернета.
TrafficVeil нужен, чтобы владелец сайта видел этот фон, контролировал его и не отдавал свой сервер, аналитику, рекламу и безопасность на волю чужих скриптов.
Подключать защиту нужно не после взлома. Подключать её нужно тогда, когда сайт начал приносить пользу бизнесу.