Что такое DDoS-атака и как она выводит сайты из строя
Основы4 минРедакция Innovialabs
Коротко
DDoS-атака — это поток запросов с тысяч заражённых устройств, который забивает канал, сетевое оборудование или само приложение, и сайт перестаёт отвечать настоящим пользователям. Защищаются фильтрацией трафика до сервера: CDN, anti-DDoS и ограничение частоты запросов.
Что такое DDoS
DDoS (Distributed Denial of Service) — атака «на отказ в обслуживании» с множества источников одновременно. Цель не украсть данные, а сделать сервис недоступным: сайт не открывается, приложение не отвечает, оплата не проходит.
Обычный DoS идёт с одного адреса, и его легко заблокировать. Распределённую атаку ведут тысячи устройств по всему миру, поэтому простой бан по IP не помогает.
Три типа атак
| Тип | Что забивает | Как измеряют | Примеры |
|---|---|---|---|
| Объёмные (volumetric) | интернет-канал до сервера | биты в секунду | UDP-флуд, амплификация через DNS, NTP |
| Протокольные | таблицы соединений серверов, файрволов, балансировщиков | пакеты в секунду | SYN-флуд, фрагментированные пакеты |
| Прикладные (L7) | само приложение: CPU, базу, воркеры | запросы в секунду | HTTP-флуд на поиск, логин, корзину |
Объёмные
Атакующий заливает канал мусорным трафиком больше, чем он способен пропустить. Часто используется амплификация: маленький запрос к открытому DNS- или NTP-серверу с подменённым адресом жертвы порождает большой ответ, который летит на жертву. Ваш сервер может быть настроен идеально — трафик просто не доходит.
Протокольные
Здесь цель — исчерпать ресурсы, которые тратятся на каждое соединение. При SYN-флуде сервер получает массу запросов на открытие соединения, резервирует под каждое память и ждёт ответа, который никогда не придёт. Таблица заполняется, и новые пользователи не могут подключиться.
Прикладные (L7)
Самые хитрые. Запросы выглядят как обычные: GET /search?q=... или попытки входа. Их может быть немного по меркам сети, но каждый заставляет приложение работать — ходить в базу, рендерить страницу. Если поиск без кэша выполняется долго, хватит относительно небольшого потока, чтобы положить сайт.
Откуда берутся ботнеты
Ботнет — сеть заражённых устройств, которыми управляет атакующий: роутеры, IP-камеры, умные устройства с заводскими паролями, взломанные серверы и компьютеры. Владельцы обычно ничего не замечают. Мощности ботнетов сдают в аренду, поэтому заказать атаку может человек без технических навыков — конкурент, вымогатель или обиженный пользователь.
Атака или наплыв посетителей
Резкий рост трафика бывает и от рекламы, рассылки или упоминания в СМИ. Признаки, по которым можно отличить:
| Признак | Реальный наплыв | Атака |
|---|---|---|
| Причина | есть: запуск, рассылка, пост | нет очевидного повода |
| Страницы | разные, в логичной последовательности | одна-две, часто «тяжёлые» |
| Поведение | загружаются картинки, CSS, JS | только HTML или один эндпоинт |
| Источники | ваши страны и обычные провайдеры | необычные страны, хостинги, однотипные сети |
| User-Agent и Referer | разнообразные | одинаковые, пустые или странные |
| Конверсия | растёт вместе с трафиком | не меняется или падает |
Смотрите на логи веб-сервера, аналитику и метрики CDN вместе. Аналитика на JavaScript часто вообще не видит ботов, поэтому «в аналитике тихо, а сервер лежит» — тоже сигнал.
Чего стоит простой
Точная цифра у каждого бизнеса своя. Её складывают из нескольких факторов:
- Прямые потери — заказы и заявки, которые не состоялись, пока сайт лежал.
- Сгоревшая реклама — кампании продолжают тратить бюджет и вести людей на неработающую страницу.
- Нагрузка на команду — поддержка разбирает жалобы, разработчики бросают плановые задачи.
- Штрафы по SLA перед вашими клиентами, если вы B2B-сервис.
- Репутация — пользователь, не сумевший оплатить, может уйти к конкуренту насовсем.
- SEO — при долгой или частой недоступности поисковые роботы получают ошибки.
Иногда DDoS — отвлекающий манёвр: пока команда борется с нагрузкой, идёт попытка взлома. Ещё один сценарий — вымогательство: «заплатите, или атака продолжится».
Как защищаются в общих чертах
- Подключить CDN или anti-DDoS-сервис, который фильтрует трафик до вашего сервера, и скрыть реальный IP origin.
- Настроить rate limiting на логин, поиск, формы и API.
- Кэшировать всё, что можно, чтобы тяжёлые страницы не ходили в базу на каждый запрос.
- Заранее узнать у хостинга, что он делает при атаке, и подготовить план действий.
Автомасштабирование помогает пережить пик, но при атаке может обернуться большим счётом за инфраструктуру, поэтому ставьте лимиты.