TrafficVeil
Безопасность 24 мин12 июля 2026 г.

Как понять, что на сайт идет DDoS-атака: 20 признаков, чек-лист и инструкция по диагностике

Разбираем 20 признаков DDoS-атаки, учимся отличать вредоносный трафик от естественного роста посещаемости и составляем план действий на первые 10 минут.

TV
TrafficVeil Team
Эксперты по защите веб-трафика
Содержание статьи
  1. Что такое DDoS-атака простыми словами
  2. Интерактивная схема: как развивается DDoS-атака
  3. Почему современные атаки сложно обнаружить
  4. Какие бывают DDoS-атаки
  5. 20 признаков DDoS-атаки
  6. 1. Сайт неожиданно стал медленно работать
  7. 2. Массово появляются ошибки 502, 503 и 504
  8. 3. CPU постоянно загружен на 90–100%
  9. 4. Load Average вырос в несколько раз
  10. 5. Резко выросло количество HTTP-запросов
  11. 6. Посещаемость выросла, а продаж и заявок больше не стало
  12. 7. В логах тысячи одинаковых запросов
  13. 8. Большинство запросов сосредоточено на нескольких URL
  14. 9. Резко выросло количество уникальных IP
  15. 10. Значительная доля IP принадлежит дата-центрам
  16. 11. Изменилась география трафика
  17. 12. User-Agent выглядит подозрительно
  18. 13. Один IP выполняет сотни запросов в секунду
DDoS L7

DDoS атака что это простыми словами и как защитить сайт

Разобрали виды атак, признаки DDoS, последствия, уровни защиты, L7 DDoS и схему подключения TrafficVeil через DNS/reverse proxy.

Читать про DDoS

Энциклопедия ботов TrafficVeil

618 ботов с описаниями, паттернами User-Agent и фильтром по категориям — открытый справочник для аудита логов и настройки защиты.

Открыть справочник
Сайт внезапно стал открываться по 10–20 секунд, появились ошибки 502 и 503, CPU приблизился к 100%, а запросов стало в десятки раз больше? Причиной может быть не сбой хостинга, а DDoS-атака. Ниже — практическая диагностика без догадок: от первых симптомов до анализа логов, ASN и поведения клиентов.
Главное правило: ни один отдельный симптом не доказывает DDoS. Надежный вывод строится по совокупности метрик сервера, структуры трафика, поведения посетителей и записей в access.log.

Что такое DDoS-атака простыми словами

DDoS (Distributed Denial of Service) — распределенная атака, цель которой сделать сайт, приложение или API недоступными для пользователей. Обычно злоумышленник не пытается украсть данные: он создает столько соединений или запросов, что инфраструктура перестает обслуживать настоящих посетителей.

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

Как запрос превращается в отказ сервиса
Типовая цепочка развития HTTP-флуда
1
Ботнет резко повышает RPS
2
Растут CPU и очереди запросов
3
Появляются 502 / 503 / 504
4
Сайт недоступен клиентам

Интерактивная схема: как развивается DDoS-атака

Нажмите на этап, чтобы увидеть, что происходит с инфраструктурой и какую метрику проверять.

1Начало атакиНовый паттерн
Ботнет синхронно запускает запросы с множества IP. На этом этапе сайт еще может работать нормально.
2Резкий рост RPSRequests/sec ↑
Поток отклоняется от обычной базовой линии. Сравните RPS с тем же временем предыдущих дней.
3Рост нагрузки CPUCPU / RAM ↑
Веб-сервер, приложение и база данных тратят ресурсы на обработку массовых запросов.
4Очередь запросовp95 latency ↑
Свободные workers и соединения заканчиваются, время ответа растет, пользователи начинают ждать.
5Ошибки 502 / 503 / 5045xx ↑
Reverse proxy не получает своевременный ответ от origin или приложение начинает отклонять запросы.
6Сайт становится недоступенSLA ↓
Часть или все реальные пользователи больше не могут открыть страницы и выполнить целевые действия.
7Потеря пользователейКонверсия ↓
Растут отказы, незавершенные заказы и обращения в поддержку. Поисковые роботы также могут увидеть ошибки.
8Фильтрация трафикаWAF + Rate Limit
Reverse proxy применяет WAF, ограничения скорости, bot detection, ASN/GeoIP и поведенческие правила.
9Восстановление работыМетрики → baseline
RPS, задержки, 5xx и ресурсы возвращаются к норме. Мониторинг продолжают: атакующий может сменить тактику.

Почему современные атаки сложно обнаружить

Примитивный поток одинаковых запросов с нескольких адресов обнаружить легко. Современные ботнеты меняют User-Agent, используют реальные браузеры и residential IP, выполняют JavaScript, сохраняют Cookie и имитируют переходы по страницам. Внешне такой трафик может напоминать рекламную кампанию или вирусный рост посещаемости.

Поэтому количества запросов недостаточно. Нужно одновременно оценивать:

  • скорость и равномерность запросов;
  • целевые URL и HTTP-методы;
  • географию, ASN и тип сети;
  • User-Agent, заголовки, Cookie и выполнение JavaScript;
  • глубину просмотра, длительность сессий и конверсию;
  • нагрузку на CPU, RAM, сеть, диск, приложение и базу данных.

Какие бывают DDoS-атаки

Уровень Примеры Что перегружается Характерные симптомы
L3/L4 SYN Flood, UDP Flood, ICMP Flood, DNS Amplification Сетевой канал, таблица соединений, TCP/IP-стек Высокий входящий трафик, потеря пакетов, сервер перестает отвечать даже по SSH
L7 HTTP Flood, атака на поиск, авторизацию, API или тяжелые страницы Веб-сервер, приложение, PHP-FPM, база данных Запросы выглядят легитимно, но растут RPS, задержки и доля 5xx

L7-атака часто опаснее для диагностики: запрос GET /catalog сам по себе не выглядит вредоносным. Проблема возникает, когда десятки тысяч клиентов повторяют его одновременно и вынуждают приложение выполнять дорогие операции.

20 признаков DDoS-атаки

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

1. Сайт неожиданно стал медленно работать

Страница, которая обычно отвечала за 500–700 мс, без релиза и маркетинговой активности загружается 5–15 секунд. Сначала проверьте origin, базу данных и внешние API: медленный сайт не всегда атакуют.

2. Массово появляются ошибки 502, 503 и 504

Код Что обычно означает Что проверить
502 Bad Gateway Прокси получил некорректный ответ upstream Состояние приложения, рестарты, разрывы соединений
503 Service Unavailable Сервис перегружен или временно недоступен Очереди, лимиты workers, CPU и память
504 Gateway Timeout Upstream не ответил вовремя Медленные запросы к БД и внешним сервисам

3. CPU постоянно загружен на 90–100%

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

4. Load Average вырос в несколько раз

Load Average отражает число процессов, выполняющихся или ожидающих ресурсы. Сравнивайте значение не с универсальным числом, а с количеством CPU-ядер и собственной базовой линией. Например, скачок с 0,8–1,1 до 15–40 без плановой задачи требует расследования.

5. Резко выросло количество HTTP-запросов

Скачок с десятков до сотен или тысяч запросов в секунду за короткий интервал подозрителен, особенно ночью или без рекламной кампании. Но абсолютный порог индивидуален: 500 RPS могут быть критичны для небольшого WordPress и нормальны для кешируемой статики.

Пример аномального скачка RPS
Иллюстрация: сравнивайте текущий поток со своей базовой линией
Обычная нагрузка
 
80 RPS
Повышенная
 
300 RPS
Аномальная
 
1 000 RPS

6. Посещаемость выросла, а продаж и заявок больше не стало

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

7. В логах тысячи одинаковых запросов

Повторяющиеся обращения к /wp-login.php, /xmlrpc.php, /.env, /.git/config или одному API-методу — сильный сигнал автоматизации. Однако сканирование уязвимостей и DDoS — не одно и то же: оцените интенсивность и влияние на ресурсы.

8. Большинство запросов сосредоточено на нескольких URL

Живые пользователи открывают карточки, статьи, корзину и формы. Атакующий выбирает дешевые для него, но дорогие для сервера точки: главную, поиск, фильтры, авторизацию, XML-RPC или API.

URL Почему привлекает ботов
/ Универсальная цель; страница часто динамическая
/search Может запускать тяжелые запросы к БД
/login, /wp-login.php Авторизация, подбор паролей и создание сессий
/xmlrpc.php Чувствительная точка WordPress
/api/* Обход кеша и нагрузка на бизнес-логику
/.env, /.git/config Поиск секретов и конфигурации; чаще сканирование, но может входить в смешанную атаку

9. Резко выросло количество уникальных IP

Распределенная атака может идти с десятков тысяч зараженных устройств. Особенно подозрителен почти мгновенный рост новых адресов, которые выполняют один и тот же сценарий.

10. Значительная доля IP принадлежит дата-центрам

Анализируйте ASN и тип сети. Поток из hosting/cloud-сетей может указывать на арендованные серверы или прокси. Но блокировать весь AWS, Google Cloud или Hetzner без контекста опасно: там могут находиться партнеры, API и полезные роботы.

11. Изменилась география трафика

Если локальный магазин внезапно получает большую долю запросов из стран, где у него нет клиентов, это полезный индикатор. Сам по себе иностранный трафик не является атакой — ищите одновременный рост RPS, ошибок и однотипного поведения.

12. User-Agent выглядит подозрительно

В логах могут появиться curl, python-requests, Go-http-client, старые версии браузеров или сотни тысяч полностью одинаковых строк. User-Agent легко подделать, поэтому проверяйте согласованность заголовков, TLS/HTTP fingerprint и поведение клиента.

13. Один IP выполняет сотни запросов в секунду

Человек редко генерирует сотни запросов каждую секунду с идеально равными интервалами. Исключения возможны для NAT, корпоративных сетей, API-клиентов и поисковых роботов — лимит должен учитывать назначение endpoint.

14. Клиенты не загружают CSS, JavaScript и изображения

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

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

16. Клиенты не выполняют JavaScript

JS-проверка отделяет часть простых HTTP-клиентов от браузеров. Но она не является абсолютным доказательством: поисковые роботы могут выполнять JavaScript, продвинутые боты используют headless-браузеры, а у реальных пользователей скрипты иногда заблокированы.

17. Нагрузка появляется ночью или в нетипичное время

Атакующие часто выбирают часы минимального внимания команды. Сравнивайте текущий профиль с обычной сезонностью, часовым поясом аудитории и расписанием фоновых задач.

18. Хостинг сообщает о превышении лимитов

Предупреждения о CPU, количестве процессов, соединениях или трафике часто становятся первым заметным сигналом. Запросите у провайдера сетевые графики и уточните, какой ресурс исчерпан.

19. Веб-сервер или приложение перезапускаются

OOM Killer, исчерпание workers и health-check могут вызывать рестарты nginx, Apache, PHP-FPM или контейнеров. Обязательно исключите утечку памяти, ошибочный deploy и внутреннюю задачу.

20. Поведение посетителей неестественно однообразно

Тысячи клиентов открывают один URL, проводят на нем доли секунды, не переходят по ссылкам и не взаимодействуют с формами. Чем больше независимых IP повторяют одинаковую последовательность, тем выше вероятность координированной автоматизации.

Как проверить, действительно ли на сайт идет DDoS-атака

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

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

Ниже — пошаговый алгоритм, который используют специалисты по информационной безопасности. Все этапы раскрыты по умолчанию; ненужные карточки можно свернуть нажатием на заголовок.

1Проверьте скорость роста запросовRPS

Первое, что необходимо посмотреть, — количество запросов в секунду (Requests Per Second).

Время RPS Оценка
09:00 48 Обычный уровень
09:10 52 Обычный уровень
09:20 61 Небольшой рост
09:30 4 850 Резкая аномалия
09:35 8 230 Критический рост

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

Оценивайте динамику, а не только абсолютное число. Для небольшого корпоративного сайта 500 RPS могут быть критичными, тогда как крупный кешируемый сервис способен обрабатывать несколько тысяч.
2Проверьте нагрузку на процессорCPU / RAM

Подключитесь к серверу и откройте мониторинг процессов:

top
# или
htop

Обратите внимание на загрузку CPU, число процессов, свободную память, а также процессы nginx, Apache, PHP-FPM, MySQL или PostgreSQL.

99%
CPU
100%
Пиковая загрузка
nginx
Главный потребитель ресурсов

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

3Посмотрите Load AverageОчередь процессов
uptime
# или
cat /proc/loadavg
Состояние 1 минута 5 минут 15 минут
Нормальная линия 0.75 0.83 0.92
Во время перегрузки 18.4 24.8 31.6

Сопоставляйте Load Average с количеством CPU-ядер. Если сервер имеет четыре ядра, а показатель стабильно превышает 20–30, процессы проводят много времени в очереди и нужно искать источник нагрузки.

4Проанализируйте access.logГлавный этап

Для Nginx:

tail -f /var/log/nginx/access.log

Для Apache:

tail -f /var/log/apache2/access.log

Ищите повторяющиеся IP, одинаковые URL и User-Agent, а также большое количество запросов за короткое время.

185.xxx.xxx.xxx GET /wp-login.php
185.xxx.xxx.xxx GET /wp-login.php
185.xxx.xxx.xxx GET /wp-login.php

GET /.env
GET /.env
GET /.git/config

Тысячи повторов — явный сигнал автоматизации. Но сначала определите интенсивность: редкое сканирование еще не является DDoS.

5Найдите самые активные IPTop talkers

Для стандартного формата access.log Nginx:

awk '{print $1}' access.log | sort | uniq -c | sort -nr | head
IP Запросов
185.xxx.xxx.xxx 84 235
103.xxx.xxx.xxx 78 120
91.xxx.xxx.xxx 66 944
176.xxx.xxx.xxx 61 337

Один реальный пользователь редко отправляет десятки тысяч запросов за короткое время. Учитывайте NAT, корпоративные сети, API-клиентов и поисковых роботов, прежде чем блокировать адрес.

6Определите атакуемые URLTop paths
awk '{print $7}' access.log | sort | uniq -c | sort -nr | head
URL Запросов
/wp-login.php 1 248 000
/xmlrpc.php 814 000
/.env 205 000
/.git/config 97 000
/admin 63 000

Если подавляющее большинство запросов приходится на ограниченный набор технических URL, высока вероятность автоматизированного сканирования или атаки. Значения в таблице — иллюстрация формата отчета, а не статистика TrafficVeil.

7Проверьте User-AgentКлиентский профиль

Подозрительными могут быть массовые запросы с curl, python-requests, Go-http-client, Java, Apache-HttpClient или okhttp. Тревожна и полная однотипность браузерных строк:

Chrome/120
Chrome/120
Chrome/120
Chrome/120

User-Agent легко подделать. Сопоставляйте его с HTTP-заголовками, TLS fingerprint, Cookie, JavaScript и последовательностью действий.

8Проверьте распределение по странамGeoIP

Если локальный сайт за несколько минут начал получать значительную долю трафика из десятков новых стран, проведите дополнительный анализ. Не блокируйте страны только по факту появления: поисковые системы, CDN и облачные сервисы используют международную инфраструктуру.

Оценивайте географию вместе с ASN, типом сети, скоростью запросов и поведением клиентов.

9Посмотрите тип сетиNetwork Type
Тип сети Что означает
Residential Домашний интернет
Mobile Мобильные операторы
Business Корпоративные сети
Hosting Виртуальные и выделенные серверы
Proxy Прокси-сервисы
VPN VPN-провайдеры
Tor Выходные узлы сети Tor

Высокая доля нового трафика из hosting, VPN, proxy или Tor повышает риск, но не доказывает атаку. Современные ботнеты также используют residential и mobile IP.

10Проанализируйте ASNВладелец сети

ASN (Autonomous System Number) показывает, какому оператору или облачной платформе принадлежит IP-адрес.

ASN Организация
AS16509 Amazon AWS
AS15169 Google
AS8075 Microsoft
AS24940 Hetzner
AS14061 DigitalOcean
AS9009 M247
AS16276 OVH

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

Как отличить DDoS от сканирования сайта

Не вся подозрительная активность является DDoS. Массовые сканеры ищут панели администратора, резервные копии, открытые Git-репозитории, конфигурационные файлы, уязвимости CMS и забытые API.

5–10
Запросов к /.env или /.git — вероятнее фоновое сканирование
Миллионы
Запросов, вызывающих перегрузку, — уже атака на доступность

Ключевое различие — не название URL, а объем, продолжительность и влияние на доступность. Один сканер может искать уязвимости, не создавая заметной нагрузки; распределенный поток тех же запросов способен превратиться в DDoS.

Что чаще всего ищут злоумышленники

URL Назначение
/wp-login.php Подбор паролей WordPress
/xmlrpc.php Злоупотребление WordPress XML-RPC
/.env Получение секретов приложения
/.git/config Поиск исходного кода проекта
/phpMyAdmin Панель управления базой данных
/admin Административные панели
/actuator Spring Boot Actuator
/vendor/phpunit Уязвимые PHPUnit endpoints
/backup.zip Архивы сайта
/config.php Конфигурационные файлы
/composer.json Информация о зависимостях
/storage/logs Логи приложения
Практический совет: если обращения к этим URL появляются регулярно даже без DDoS, настройте WAF, запретите публикацию служебных файлов и ограничьте доступ к чувствительным путям.

Разбираем реальные ситуации

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

Звезды в таблицах показывают приоритет проверки для описанного сценария, а не статистическую вероятность. Окончательный вывод делают только после анализа метрик и логов.
1Сайт резко стал открываться за 15–20 секунд504 / latency

Что произошло. Еще утром сайт работал нормально, а после обеда каждая страница стала загружаться по 15–20 секунд. Иногда появляется 504 Gateway Timeout, иногда страница все же открывается.

Возможная причина Приоритет проверки
DDoS HTTP Flood ★★★★★
Проблемы с базой данных ★★★★☆
Медленный или перегруженный хостинг ★★★☆☆
Ошибка после обновления ★★☆☆☆
Высокая нагрузка от поисковых роботов ★☆☆☆☆
Что проверить:
  • ✅ CPU и свободную память;
  • ✅ Load Average;
  • ✅ Requests/sec и p95 latency;
  • access.log;
  • nginx error.log.
2CPU постоянно показывает 100%, но посетителей почти нетCPU saturation

На первый взгляд кажется, что сервер неисправен. На практике сначала нужно определить процесс, который потребляет ресурсы.

Причина Как проверить
DDoS Посмотреть RPS, соединения и top URL
Парсер Проверить User-Agent и последовательность страниц
Тяжелый SQL-запрос Открыть MySQL Slow Query Log или pg_stat_activity
PHP Проверить процессы и очередь PHP-FPM
Cron / backup Проверить расписание задач и потребление диска

Если CPU потребляет веб-сервер одновременно с резким ростом RPS, версия с HTTP Flood становится сильнее. Если нагрузку создает один SQL или архиватор, причина внутренняя.

3Посещаемость выросла в пять раз, а заказов стало меньшеКонверсия ↓

Такое расхождение указывает на ухудшение качества трафика или недоступность ключевых страниц для реальных клиентов.

Метрика До После Изменение
Посетители 7 200 42 000 ×5,8
Заказы 184 179 −2,7%
Конверсия 2,56% 0,43% −83%

Нормальный рост посещаемости обычно сопровождается ростом хотя бы части полезных действий. Если заявки не увеличились, проверьте источники, глубину просмотра, доступность корзины и долю автоматизированных клиентов.

4Ночью сайт начинает тормозитьНочная аномалия
Возможная причина Что проверить
DDoS RPS, новые IP и ASN
Backup Cron, disk I/O и время запуска резервной копии
Индексация User-Agent и верификацию поискового робота
AI-боты Логи, robots.txt и частоту обхода
Парсер Top URL, интервалы и отсутствие Cookie

Сравните ночной профиль с обычным расписанием фоновых задач. Если нагрузка начинается строго по расписанию, сначала исключите backup, отчеты и индексацию.

5Все началось после публикации статьиВирусный трафик?

Иногда это действительно вирусный рост, но момент публикации также может совпасть с началом парсинга или атаки.

Настоящие пользователи
  • Растут переходы по ссылкам
  • Растут заявки и подписки
  • Увеличивается время на сайте
  • Открываются разные страницы
DDoS или массовая автоматизация
  • Открывается одна страница
  • Заказы не растут
  • Одинаковые User-Agent
  • Нет JavaScript и Cookie

Ошибки диагностики

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

Ошибка №1

«CPU 100% — значит DDoS»

Причиной могут быть MySQL, Redis, PHP, backup, Docker или ошибочный процесс.
Ошибка №2

«Много IP — значит атака»

После рекламы или публикации также приходит много новых пользователей.
Ошибка №3

«Много запросов из США — это DDoS»

Многие сервисы работают через AWS и другие международные сети. Проверяйте ASN.
Ошибка №4

«CDN ничего не показала — атаки нет»

L7-атака может выглядеть как обычный браузерный трафик и проходить базовые фильтры.

Самодиагностика за пять минут

Этот экспресс-тест не заменяет расследование, но помогает быстро понять, в какую сторону двигаться.

1
Минута 1:
CPU, RAM и главный потребитель ресурсов
2
Минута 2:
Requests/sec и динамика роста
3
Минута 3:
access.log и повторяющиеся клиенты
4
Минута 4:
Самые популярные URL
5
Минута 5: проверьте ASN, страны и типы сетей. После пяти шагов уже можно сформировать предварительную гипотезу.

KPI здорового сайта

Метрика Хорошо Требует внимания Опасно
CPU <60% 60–85% >85%
RAM <70% 70–90% >90%
Load Average <2 2–8 >8
RPS Стабильно ×2 ×5
Time To First Byte <300 мс 300–800 мс >800 мс
5xx ошибки 0 Единичные Массовые
Конверсия Стабильная Небольшое снижение Резкое падение
Новые ASN Немного Заметный рост Массовый всплеск
Hosting IP <20% 20–40% >40%
Residential IP >70% 40–70% <40%
Пороги ориентировочные. Для высоконагруженного проекта нормальные RPS, Load Average и TTFB могут отличаться. Важнее собственная базовая линия и скорость отклонения от нее.

📊 Анатомия одной DDoS-атаки

Рассмотрим, как типичная L7-атака развивается по минутам — от первых ботов до пика нагрузки.

Время Что происходит Что видит владелец сайта Что должна сделать защита
00:00 Появляются первые боты Все работает нормально Фиксировать аномальный рост новых IP и ASN
00:02 RPS увеличивается в три раза Незначительное замедление Анализировать поведение и репутацию IP
00:05 Начинается HTTP Flood CPU достигает 80–90% Включать Rate Limiting и фильтрацию подозрительных клиентов
00:08 Поток идет на /wp-login.php и /xmlrpc.php Появляются первые 503 WAF блокирует обращения к чувствительным URL
00:12 Нагрузка продолжает расти Пользователи жалуются на недоступность Автоматически ограничивать вредоносный трафик
00:15 Пик атаки Без защиты возможен полный отказ Поддерживать фильтрацию и доступность для легитимных пользователей
Развитие нагрузки по минутам
Условная шкала интенсивности для описанного сценария
10%
 
00:00
25%
 
00:02
55%
 
00:05
72%
 
00:08
88%
 
00:12
100%
 
00:15

Сценарий иллюстративный: реальная атака может развиваться быстрее, идти волнами или менять целевые URL после включения защиты.

Как отличить DDoS от обычного роста посещаемости

Признак Реальные пользователи SEO-боты Парсеры DDoS
Конверсия Обычно растет вместе с трафиком Не влияет напрямую Не растет Часто резко падает
Маршруты Разнообразные Системный обход ссылок Ограниченный набор Массово однотипные
JavaScript Как правило, выполняется Зависит от робота Редко Зависит от инструмента
Cookie Обычно используются Иногда Редко Часто отсутствуют
Скорость Естественная и неравномерная Ограниченная Высокая Очень высокая или координированная
Нагрузка Соразмерна полезной активности Обычно невысокая Средняя Приближается к пределу инфраструктуры
Диагностическая формула: аномальный объем + деградация сервиса + неестественное поведение + несоответствие бизнес-результатам = серьезное основание считать поток атакой.

Чек-лист: находится ли сайт под DDoS-атакой

Производительность

  • ☐ Сайт стал заметно медленнее без релиза или плановых работ.
  • ☐ Пользователи сообщают о недоступности.
  • ☐ Растут 502, 503 или 504.
  • ☐ Время ответа увеличилось в несколько раз.

Инфраструктура

  • ☐ CPU длительно выше 90%.
  • ☐ Load Average значительно выше обычного.
  • ☐ Заканчивается RAM или срабатывает OOM Killer.
  • ☐ Растут очереди nginx, Apache, PHP-FPM или приложения.
  • ☐ Сервисы начали перезапускаться.

Трафик и поведение

  • ☐ RPS вырос кратно за несколько минут.
  • ☐ Число уникальных IP и новых ASN резко увеличилось.
  • ☐ География и типы сетей не соответствуют аудитории.
  • ☐ Конверсия упала при росте «посетителей».
  • ☐ Клиенты не используют Cookie или не загружают статику.
  • ☐ Тысячи клиентов выполняют один сценарий.

Логи

  • ☐ Основной поток направлен на один или два URL.
  • ☐ Повторяются одинаковые User-Agent и наборы заголовков.
  • ☐ Один IP создает аномально много запросов.
  • ☐ Множество IP обращается с одинаковыми интервалами.
0–5
Вероятнее локальная проблема. Проверьте приложение, БД и deploy.
6–12
Вероятен автоматизированный трафик. Нужен анализ логов, ASN и поведения.
13+
Высокая вероятность атаки. Включайте защиту и непрерывный мониторинг.

Количество совпадений — ориентир, а не математическая модель. Вес признаков различается: кратный рост 5xx и исчерпание канала важнее одного необычного User-Agent.

Что делать в первые 10 минут

Время Действие Цель
0–2 мин Зафиксируйте время начала, RPS, 5xx, CPU, RAM, сеть и состояние origin. Не перезагружайте сервер вслепую. Сохранить исходные данные и исключить внутренний сбой
2–4 мин Посмотрите access.log, топ URL, IP, User-Agent, страны и ASN. Определить тип и цель потока
4–6 мин Включите безопасный rate limit на атакуемые endpoint, WAF и правила для явно вредоносных запросов. Снизить нагрузку без массовой блокировки клиентов
6–8 мин Проверьте reverse proxy, кеш и доступность origin только через защищенный контур. Не позволить обойти фильтрацию по прямому IP
8–10 мин Сравните метрики после мер, уведомите команду и провайдера, продолжайте наблюдение. Понять, работает ли защита и меняется ли тактика

Не перезагружайте сервер сразу

Если вредоносный поток продолжается, нагрузка вернется сразу после запуска. Кроме того, рестарт уничтожит часть оперативной диагностики и гарантированно прервет обслуживание настоящих пользователей.

Убедитесь, что ресурсы потребляет внешний трафик

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

Включите Rate Limiting

Начинайте с чувствительных URL и разумных лимитов. Учитывайте NAT и легитимные API-клиенты. Для распределенного low-rate HTTP Flood ограничения только по IP может быть недостаточно — комбинируйте их с сессиями, fingerprint, ASN и поведенческими сигналами.

Активируйте WAF и Reverse Proxy

Фильтрация должна происходить до origin. Закройте прямой доступ к реальному IP сервера, иначе атакующий сможет обойти защитный контур. Кешируйте безопасные ответы и ограничьте дорогие endpoint.

Какие показатели нужно контролировать постоянно

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

Пороговые значения ниже — стартовый ориентир для небольшого сайта, а не универсальная норма. Для production настройте baseline по своей архитектуре, числу CPU-ядер, кешированию, времени суток и дням недели.
Метрика Норма Опасно Критично
Requests/sec <100 100–500 >500
CPU <60% 60–90% >90%
RAM <70% 70–90% >90%
Load Average <2 2–8 >8
5xx за интервал 0 1–10 >10
Уникальные IP Стабильно ×2 ×10
Новые ASN Немного Много Очень много
Datacenter IP <20% 20–40% >40%
Residential IP >70% 40–70% <40%

Считайте 5xx как долю от всех ответов и отслеживайте p95/p99 latency. Десять ошибок на десяти запросах опаснее десяти ошибок на миллионе.

🌍 Какие страны чаще становятся источниками подозрительного трафика

Ниже — не выдуманный пример, а снимок базы IP Reputation TrafficVeil на 12 июля 2026 года: 165 695 профилей с категориями suspicious или malicious. Проценты показывают долю IP-профилей, а не долю всех запросов.

Распределение подозрительных и вредоносных IP по GeoIP
TrafficVeil IP Reputation · актуальный снимок на 12.07.2026
🌐 Не определено
 
57,0%
🇺🇸 США
 
13,0%
🇸🇬 Сингапур
 
4,6%
🇷🇺 Россия
 
2,8%
🇩🇪 Германия
 
2,3%
🇮🇳 Индия
 
1,6%
🇨🇳 Китай
 
1,4%
🇳🇱 Нидерланды
 
1,3%
Остальные
 
16,0%
Как интерпретировать: большое количество запросов из страны само по себе не означает атаку. Важен резкий сдвиг относительно обычной географии конкретного сайта. Высокая доля «Не определено» также показывает, почему GeoIP нельзя использовать как единственный фильтр.

📡 Какие сети чаще используются ботами

Оценка ниже отражает типичный уровень риска, а не автоматический вердикт для каждого адреса. Residential и mobile IP также могут входить в ботнет, а hosting-сеть может обслуживать полезный API.

Residential★☆☆☆☆
Business★★☆☆☆
Mobile★☆☆☆☆
Hosting★★★★★
Proxy★★★★★
VPN★★★★☆
Tor★★★★★

🤖 Как отличить человека от бота

Поведенческая матрица
Каждый сигнал вероятностный: продвинутые боты умеют запускать браузер, JavaScript и Cookie
Признак Человек Поисковый бот AI-бот Парсер DDoS
Выполняет JavaScript Частично Частично
Использует Cookie Иногда Иногда
Двигает мышью
Скроллит страницу
Осмысленно взаимодействует с текстом Частично
Открывает разные страницы Частично
Высокая скорость запросов Иногда

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

🚨 Наиболее часто запрашиваемые чувствительные URL

Рейтинг построен по реальным proxy-логам TrafficVeil за последние 24 часа на момент подготовки статьи. Это все обращения к шаблонам URL: среди них могут быть сканеры, боты и небольшая доля легитимных запросов, поэтому значения не следует трактовать как число подтвержденных DDoS-событий.

URL Запросов за 24 часа Что ищут или атакуют
/xmlrpc.php 182 400 WordPress XML-RPC
/.env 21 722 Переменные окружения и секреты
/wp-login.php 14 992 Авторизация WordPress
/admin 6 538 Административные панели
/.git 2 241 Файлы репозитория
/actuator 827 Spring Boot Actuator
/vendor/phpunit 503 Уязвимые PHPUnit endpoints
/config.php 460 Конфигурационные файлы
/backup.zip 8 Резервные копии
/phpMyAdmin 5 Панель управления базой данных

Источник: обезличенные данные сети TrafficVeil, окно 24 часа, снимок 12.07.2026. Всего за период обработано 4 038 337 запросов.

Как TrafficVeil обнаруживает аномальный трафик

TrafficVeil анализирует запросы на reverse proxy до их отправки на origin. Решение может учитывать сразу несколько групп сигналов:

RPS
Скорость, всплески и rate limits
ASN
География и тип сети
WAF
Сигнатуры и чувствительные URL
BOT
User-Agent, Cookie и поведение
  • частоту запросов и повторяемость действий;
  • страну, ASN, hosting/residential/mobile/proxy/VPN-сети;
  • репутацию IP и известные источники угроз;
  • User-Agent и согласованность HTTP-заголовков;
  • работу с Cookie и выполнение JavaScript;
  • обращения к чувствительным URL;
  • срабатывания WAF, GeoIP, ASN-фильтров и bot detection.

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

Частые ошибки при реагировании

  1. Блокировать целые страны без анализа. Это может отсечь клиентов, поисковых роботов и партнерские сервисы. Сочетайте GeoIP с ASN, репутацией и поведением.
  2. Полностью отключать сайт. Если фильтрация доступна, сохраняйте обслуживание легитимных пользователей.
  3. Игнорировать логи. Без top URL, IP, ASN, кодов ответа и User-Agent команда будет менять правила вслепую.
  4. Полагаться только на IP. Распределенные атаки используют множество адресов, а один адрес может скрывать корпоративную сеть.
  5. Не иметь плана реагирования. Контакты провайдера, доступ к метрикам и безопасные профили защиты должны быть подготовлены заранее.

Мифы о DDoS

«DDoS всегда полностью отключает сайт».
Нет. Атака может часами лишь повышать задержки и долю ошибок.

«Маленькие сайты никому не интересны».
Ботнеты и автоматические сканеры выбирают цели массово; размер бизнеса не гарантирует безопасность.

«HTTPS защищает от DDoS».
Шифрование защищает данные в пути, но TLS-handshake и HTTP-запросы также потребляют ресурсы.

«Достаточно заблокировать несколько IP».
При распределенном потоке адреса быстро меняются, поэтому нужны rate limit и многофакторная фильтрация.

Заключение

Современный DDoS редко выглядит как «миллион запросов с одного IP». Чаще это распределенный поток, похожий на обычных посетителей. Поэтому смотрите не на один график, а на связку сигналов: RPS и задержки, URL и коды ответа, ASN и географию, Cookie и JavaScript, поведение пользователей и состояние origin.

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

Частые вопросы

Может ли DDoS пройти сам?

Кратковременная атака может прекратиться, но рассчитывать на это нельзя: она способна вернуться волнами и изменить тактику.

Можно ли перепутать DDoS с ростом популярности сайта?

Да. Сравнивайте конверсию, маршруты пользователей, географию, ASN, задержки и влияние запросов на инфраструктуру.

Опасны ли поисковые боты?

Легитимные поисковые роботы полезны для индексации. Их следует верифицировать и отличать от сканеров и клиентов с поддельным User-Agent.

Может ли DDoS привести к утечке данных?

Сам DDoS направлен на отказ в обслуживании, но может сопровождать другие атаки или отвлекать команду от них.

Как понять, что атака закончилась?

RPS, задержки, доля 5xx и нагрузка возвращаются к базовой линии, а поведение трафика снова становится обычным. После этого мониторинг продолжают.

#DDoS#кибербезопасность#диагностика#HTTP Flood#WAF#Rate Limiting
TV
TrafficVeil Team

Команда TrafficVeil разрабатывает инструменты защиты сайтов от ботов, DDoS и веб-атак.

Проверьте защиту своего сайта

Подключение занимает несколько минут. Начните с анализа трафика и включайте блокировки после проверки логов.