DDoS — это атака на доступность: множество источников, чаще всего ботнет, одновременно шлют трафик, чтобы исчерпать полосу, состояния протокола или ресурсы приложения. Цель не украсть данные, а вывести сервис из строя для реальных пользователей.
Защита делится на два разных фронта: поглощение и фильтрация объёмных атак на L3/L4 на краю сети (anycast, scrubbing, кеш, TLS-терминация) и дешёвый отказ вредным запросам на L7 (WAF, ограничение скорости, bot management, challenge). Зрелая система держит оба.
Глава опирается на соседей: OWASP Top 10 задаёт архитектурную рамку безопасности, «Как устроен CDN» объясняет anycast и кеш как механизм абсорбции, а «Ограничитель скорости» — главный инструмент дешёвого отказа. Здесь же — прикладная устойчивость, готовность и частые ошибки.
Практическая польза главы
Практика проектирования
Используйте материал по Защита от DDoS на сетевом и прикладном уровнях и роль edge, чтобы формировать архитектурные security-требования до этапа реализации.
Качество решений
Проверяйте решения через модель угроз, security invariants и управляемость контролей в production, а не только через чеклист соответствия.
Аргументация на интервью
Стройте ответ в формате threat -> control -> residual risk, показывая связь между бизнес-сценарием и техническими мерами защиты.
Формулировка компромиссов
Явно описывайте компромиссы по Защита от DDoS на сетевом и прикладном уровнях и роль edge: UX friction, накладная задержка (latency overhead), стоимость сопровождения и требования compliance.
Контекст
Как устроен CDN
Эникаст (anycast) и кеш на краю — основа поглощения объёмных атак.
DDoS () — это атака на доступность: множество источников, чаще всего ботнет, одновременно отправляют трафик, чтобы исчерпать полосу, состояния протокола или ресурсы приложения и сделать сервис недоступным для реальных пользователей. В отличие от взлома, цель здесь не украсть данные, а вывести систему из строя.
Эта глава — про защиту от на сетевом и прикладном уровнях и про роль (edge/). Соседние главы дают опору: OWASP Top 10 задаёт архитектурную рамку безопасности, «Как устроен CDN» объясняет и кеш как механизм поглощения, а «Ограничитель скорости» — главный инструмент дешёвого отказа на L7.
Главная ловушка здесь — путать защиту от объёмных атак на L3/L4 с защитой приложения на L7. Это два разных фронта: канал можно прикрыть, а приложение всё равно ляжет от потока валидных на вид запросов. Зрелая система держит оба — поглощает объём на краю и дёшево отклоняет вредные запросы ещё до выхода на дорогую бизнес-логику.
Классы атак: от полосы до бизнес-логики
Объёмные атаки
L3/L4 — насыщение полосы
Цель — забить канал и сетевые устройства мусорным трафиком: - и ICMP-флуд, а также //memcached амплификация, где маленький запрос с подменённым адресом порождает ответ в десятки и сотни раз больше.
Метрика — биты в секунду (bps) и пакеты в секунду (pps).
Протокольные атаки
L3/L4 — исчерпание состояний
Эксплуатируют устройство протокола, а не полосу: классический SYN-флуд оставляет полуоткрытые -соединения, исчерпывая таблицы состояний на балансировщиках, межсетевых экранах и сетевых устройствах между клиентом и сервером.
Метрика — новые соединения в секунду и доля незавершённых рукопожатий.
Прикладные атаки (L7)
L7 — исчерпание ресурсов приложения
-флуд из валидных на вид запросов, медленные атаки вроде Slowloris (тянут открытые соединения минимальными порциями данных) и «дорогие» запросы к поиску, экспорту, отчётам или к эндпоинтам с тяжёлой авторизацией. Часто маскируются под легитимных пользователей.
Метрика — запросы в секунду, латентность и стоимость обработки запроса.
Где встречает атаку каждый слой защиты
Объём гасится и фильтруется на краю; то, что прошло, приложение должно уметь отклонить дёшево и деградировать без падения критичного пути.
Три принципа защиты
Поглотить
распределяет один и тот же IP по десяткам точек присутствия, и атака «размазывается» по всей ёмкости сети, вместо того чтобы концентрироваться на одном дата-центре. Чем больше агрегированная пропускная способность, тем выше порог, который атаке нужно пробить.
Работает на L3/L4 для объёмных и протокольных атак на краю сети.
Отфильтровать
Очистка трафика (scrubbing): подозрительные потоки отделяются от легитимных по сигнатурам, репутации и поведению. Амплификацию помогает резать фильтрация по источнику — провайдеры применяют на входе сети по принципам BCP 38.
Работает на L3/L4 и частично L7 в центрах очистки и на краю.
Отказать дёшево
Если запрос всё же дошёл, важно отклонить его раньше и дешевле, чем он успеет потребить дорогой ресурс: , квоты и challenge (JS- или крипто-проверка) сдвигают стоимость обратно на атакующего.
Работает на L7 — на краю и в самом приложении.
Edge и CDN: первая линия
- Эникаст-распределение. через анонсирует один IP из многих точек присутствия — трафик атаки рассеивается по ближайшим узлам, а не бьёт в одну точку.
- Абсорбция объёма. Совокупная ёмкость сети edge-провайдера на порядки больше канала отдельного , поэтому объёмные атаки поглощаются ещё до вашей инфраструктуры.
- Кеш как щит. отдаёт статику и кешируемые ответы, не трогая ; чем выше доля кеш-попаданий, тем меньше трафика доходит до приложения. Полезно скрывать реальные IP за .
- TLS-терминация на краю. позволяет edge видеть и фильтровать L7-запросы, применять WAF и снимать с нагрузку дорогих -рукопожатий.
- Blackholing / RTBH — крайняя мера. Через можно «отправить в чёрную дыру» (RTBH, remotely triggered blackhole). Это останавливает атаку, но и отключает легитимных пользователей — по сути добровольный отказ, поэтому применяется в последнюю очередь.
L7-защита: меры и их цена
| Мера защиты | Что даёт | Цена и риск |
|---|---|---|
| и сигнатуры | Режет известные шаблоны атак, аномальные URL и явно вредоносные паттерны запросов. | Низкий для клиента, требует тюнинга правил против ложных срабатываний. |
| и квоты | Ограничивают частоту по IP, токену, сессии или ключу API и защищают дорогие эндпоинты. | Низкий, но нужны корректные ключи группировки, чтобы не задеть преобразование сетевых адресов (NAT) и легитимных клиентов. |
| Управление ботами (bot management) и репутация | Отделяет автоматизированный трафик ботнетов по поведению, отпечаткам и репутации сетей. | Средний: модель должна обновляться, иначе устаревает против новых ботов. |
| Капча (CAPTCHA), JS-проверка (challenge), доказательство работы (proof-of-work) | Заставляет клиента выполнить работу до доступа к ресурсу; цена для атакующего растёт нелинейно. | Заметный для пользователя — применять адресно к подозрительному трафику, а не ко всем. |
| Подписанные токены и проверка происхождения | Отсекает запросы без валидного токена ещё на краю, до выхода на дорогую бизнес-логику. | Низкий на проверке, требует управления жизненным циклом токенов. |
Прикладная устойчивость
Дешёвые ранние отказы: проверяйте размер, формат и токен запроса до обращения к базе и внешним сервисам, чтобы отклонение стоило приложению почти ничего.
Бюджеты конкурентности и : фиксированный лимит одновременных запросов и явный отказ при перегрузе вместо неограниченных очередей, которые превращают всплеск в каскадный отказ.
, и : не давайте медленным зависимостям накапливать «зависшие» запросы, которые при атаке усиливают перегрузку.
: отдавайте кешированную или упрощённую версию страницы, отключайте тяжёлые персонализации и оставляйте критичный путь работоспособным под нагрузкой.
Защита дорогих эндпоинтов: поиск, экспорт, генерация отчётов и операции записи закрывайте отдельными квотами, очередями и более жёстким , чем дешёвые операции чтения.
Готовность: план, провайдеры, учения
Операционная инструкция (runbook) и роли
Фокус: Что делать в первые минуты атаки
Результат: Готовый : как распознать атаку, кого поднять, какие переключатели тронуть, как включить более агрессивный режим защиты и как откатить его после.
Провайдеры защиты
Фокус: Cloudflare, AWS Shield, Akamai и аналоги
Результат: Подключённый и протестированный сервис edge-защиты с -ёмкостью и центрами очистки; понимание лимитов и поведения сервиса под управляемым (всегда-вкл) и реактивным (по запросу) режимами.
Модель ответственности
Фокус: Кто за что отвечает
Результат: Чёткая граница между провайдером (сетевой уровень, ёмкость, базовая фильтрация) и командой (правила L7, защита приложения, конфигурация эндпоинтов и квот).
Учения
Фокус: Проверка, что план работает
Результат: Регулярные , где проверяются переключатели защиты, алерты, дежурная и контакты провайдера — до настоящего инцидента, а не во время него.
Компромиссы и частые ошибки
Защищаться только на L3/L4 и считать, что объёмная фильтрация спасёт от прикладного флуда по протоколу HTTP и дорогих запросов.
Слишком агрессивные правила и challenge для всех подряд: ложные блокировки легитимных пользователей и клиентов за общим наносят ущерб не меньше, чем сама атака.
Отсутствие операционной инструкции (runbook) и учений: команда впервые ищет переключатели защиты и контакты провайдера прямо во время атаки.
Открытый : реальные IP-адреса доступны напрямую в обход edge, и атакующий бьёт мимо всей защиты.
Защита от DDoS — это баланс: слишком слабая пропускает атаку, слишком жёсткая блокирует своих же пользователей.
Источники и материалы
Связанные главы
- OWASP Top 10 в системном дизайне - даёт архитектурную рамку безопасности, в которую защита доступности встраивается рядом с защитой конфиденциальности и целостности.
- Как устроен CDN - объясняет , кеш на краю и распределённые точки присутствия — фундамент, на котором строится поглощение и абсорбция объёмных атак.
- Ограничитель скорости - детализирует алгоритмы и ключи ограничения скорости — главный инструмент дешёвого отказа на прикладном уровне.
- Паттерны устойчивости - раскрывает таймауты, предохранители, сброс нагрузки и плавную деградацию, без которых приложение не переживёт всплеск трафика.
