DDoS и отказ в обслуживании
DDoS (Distributed Denial of Service, распределённый отказ в обслуживании) — атака, при которой на сервер или канал связи направляют огромный поток запросов или пакетов. Ресурсы исчерпываются, и реальные пользователи перестают получать ответ в разумное время: сайт «лежит», API отвечает таймаутом, игра отключается.
Это удар по свойству доступности из триады CIA — см. основы информационной безопасности. Отдельно от взлома данных: цель часто — остановить сервис, вымогательство или отвлечение внимания, пока идёт другая атака.
См. также глоссарий — DDoS, ботнет, фаерволы, угрозы доступности в сети.
DoS и DDoS — в чём разница
| DoS | DDoS | |
|---|---|---|
| Источник трафика | Один узел (или небольшая группа) | Много узлов одновременно |
| Масштаб | Проще отфильтровать по IP | Трафик «размазан» по тысячам адресов |
| Типичный сценарий | Ошибка в коде, один злоумышленник с мощной машиной | Ботнет под управлением оператора |
DoS (Denial of Service) — любой сценарий, когда система перестаёт обслуживать добросовестных клиентов: и злонамеренный флуд, и легитимный всплеск («эффект Slashdot»), и баг, который открывает миллион соединений. DDoS — частный случай DoS с распределённым источником.
Как устроена DDoS-атака
Классическая схема — не «хакер бьёт сервер напрямую с ноутбука», а цепочка управления:
- Злоумышленник задаёт цель (IP, домен, порт) и тип атаки.
- Контроллер (command-and-control, C&C) рассылает команды заражённым машинам — ботам или zombie («зомби» в жаргоне ИБ).
- Боты одновременно шлют трафик на жертву. С точки зрения сервера это тысячи «клиентов» по всему миру.
Ботом может стать любое устройство с уязвимостью или трояном: ПК, роутер, камера, NAS. Червь в таблице вредоносного ПО часто создаёт ботнеты — см. вирусы и угрозы. Участие вашего устройства в ботнете снижают фаервол, обновления ОС и контроль исходящего трафика.
Уровни атаки (L3, L4, L7)
Атаки классифицируют по тому, на каком уровне давят на жертву:
| Уровень | Что перегружают | Примеры |
|---|---|---|
| L3 (сеть) | Канал, маршрутизатор | UDP-flood, ICMP-flood, огромный объём «мусорных» пакетов |
| L4 (транспорт) | Таблицу TCP-соединений, сокеты | SYN-flood, ACK-flood |
| L7 (приложение) | HTTP-воркеры, БД, CPU на разбор запросов | Массовые GET/POST, тяжёлые URL, медленные POST |
На периметре и у CDN чаще всего фильтруют L3–L4; для L7 нужны WAF, rate limiting и кэш на edge — см. реверс-прокси и DDoS, CDN и Cloudflare.
Пример — SYN-flood и TCP handshake
Чтобы понять SYN-flood, сначала — нормальное установление TCP-соединения (three-way handshake). Подробнее в цепочке загрузки сайта — шаг 2, TCP.
Обычный клиент и сервер
- Клиент шлёт SYN («хочу соединение»).
- Сервер отвечает SYN-ACK и резервирует место в таблице полуоткрытых соединений.
- Клиент подтверждает ACK — соединение готово к обмену данными.
SYN-flood (атака)
Бот рассылает массу SYN и не завершает рукопожатие финальным ACK (или адрес источника подделан — spoofing, ответы уходят «в никуда»). Сервер держит тысячи half-open (полуоткрытых) записей, ждёт ACK, исчерпывает память или лимит соединений — легитимный клиент получает отказ или таймаут.
Это атака уровня L4: эксплуатирует механизм TCP, а не баг в коде сайта.
На Linux и в балансировщиках применяют SYN cookies, лимиты на полуоткрытые соединения, фильтрацию на провайдере и scrubbing-центрах. Домашний роутер от SYN-flood крупного сайта сам не защитит — это задача хостинга, CDN и сети оператора.
Другие распространённые приёмы (кратко)
- UDP-flood — поток датаграмм на открытый порт без установления сессии; сервис тратит CPU на разбор.
- HTTP-flood (L7) — тысячи обычных на вид
GETк тяжёлой странице или поиску; сложнее отличить от реальной нагрузки без анализа поведения. - Slowloris / slow POST — соединения держат открытыми, отправляя данные по байту — исчерпывают пул воркеров веб-сервера.
- Амплификация — маленький запрос провоцирует большой ответ (например, через открытые UDP-сервисы); жертвой часто становится подставленный IP.
Признаки и что делать
Симптомы для пользователя: сайт не открывается, таймауты, 502/503 от прокси, «сервер недоступен» при том, что у провайдера всё в порядке.
Симптомы для администратора: резкий рост входящего трафика, заполненная таблица ESTABLISHED/SYN_RECV, рост CPU на балансировщике, алерты CDN.
Базовые меры
- Подключить CDN / anti-DDoS у провайдера (Cloudflare, защита у хостера, scrubbing).
- Rate limiting и лимит размера тела запроса на API — см. лимит запросов.
- Мониторинг трафика и аномалий (всплеск RPS, география, один User-Agent).
- Не держать лишние порты открытыми в интернет — фаервол.
- План реагирования: контакт хостера, переключение на «режим под атакой», коммуникация с пользователями.
Целенаправленная DDoS без согласия владельца ресурса — преступление в большинстве юрисдикций (в РФ — статьи о неправомерном воздействии на компьютерную информацию; точную квалификацию определяет следствие).
Связанные материалы
| Тема | Статья |
|---|---|
| TCP handshake при открытии сайта | 2.03 / 5 — загрузка страницы |
| «Сервер упал», edge, CDN | 2.04 / 112 — серверы |
| Угрозы доступности в сети | 2.03 / 616 |
| DoS в API | 8.07 / 128 — каталог угроз |
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Основы информационной безопасности - роль политик, контроль доступа и базовые принципы защиты данных в корпоративных системах. Аутентификация и авторизация - уровни проверки личности, двухфакторная защита и разграничение прав доступа в информационных системах. Антивирусная защита и лечение заражений - как распознать компрометацию системы, локализовать угрозу и восстановить рабочее состояние. Риски открытых Wi-Fi сетей - как работают passive/active-сканирование и почему публичные точки доступа требуют дополнительных мер защиты. Надёжность паролей — хеширование, соль, менеджеры паролей и типы атак: перебор, словарь, credential stuffing, фишинг, MITM. Фаерволы и сетевые пакеты - как межсетевой экран анализирует трафик и применяет правила фильтрации для защиты инфраструктуры. SSH — это протокол безопасного удалённого доступа к компьютерным системам. Опасная конфигурация jwt.verify в Node.js — alg none, подмена алгоритма RS256 на HS256, секрет из process.env на уровне модуля и безопасная проверка токена. Эндпоинт change-password без проверки текущего пароля — захват аккаунта при украденной сессии, CSRF и чек-лист безопасной смены пароля. Broken Access Control — проверка прав через query-параметр, cookie или заголовок с клиента; эксплуатация за секунду и серверная авторизация. Краткие итоги раздела "Основы информационной безопасности". Чек-лист раздела Основы информационной безопасности — вопросы для самопроверки в энциклопедии Вселенная IT.Основы информационной безопасности
Аутентификация и авторизация
Антивирусная защита и лечение заражённых систем
Риски открытых Wi-Fi сетей
Устройство и надёжность паролей
Фаерволы
Шифрование данных и протокол SSH
JWT — семь строк, которые обходят авторизацию
Смена пароля — пропущенный шаг re-auth
Админка по ?isAdmin=true
Итоги
Чек-лист самопроверки