Перейти к содержанию
Innovialabs

Что такое DDoS-атака и как она выводит сайты из строя

Основы4 мин

Коротко

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.
  • Кэшировать всё, что можно, чтобы тяжёлые страницы не ходили в базу на каждый запрос.
  • Заранее узнать у хостинга, что он делает при атаке, и подготовить план действий.

Автомасштабирование помогает пережить пик, но при атаке может обернуться большим счётом за инфраструктуру, поэтому ставьте лимиты.

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

Только от небольших атак. Объёмная атака забивает канал до сервера, и файрвол на нём просто не получает шанса что-то отфильтровать. Нужна фильтрация на стороне провайдера или CDN.

Поможем с этим

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

Обсудить проект

Читайте также

Есть идея или задача? Расскажите нам

Ответим в течение рабочего дня и предложим решение. Консультация бесплатная.