awesome-everything EN
↑ Обратно к восхождению

Сети и протоколы

Эшелонированная защита и экономика атак

Суть Ни одна защита не останавливает все DDoS-векторы — anycast поглощение на edge, ограничение скорости, WAF, mTLS и адаптивный сброс нагрузки образуют слои; экономика атак благоприятствует атакующему только при защите в одиночку.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 16 min

Вы развернули CDN, ограничение скорости и WAF. Затем злоумышленник переключается на HTTP-наводнения, вызывающие промахи кэша и нацеленные на самый дорогой запрос к базе данных, распределённый по 10 000 IP, каждый ниже вашего лимита на IP. Ни одна защита не перехватывает это. Нужно понять, как взаимодействуют слои и когда эскалировать к людям.

Архитектура эшелонированной защиты: полный стек. Ни одна защита не останавливает все атаки. Многоуровневый подход:

  1. Anycast-скруббинг на edge — каждый PoP CDN является активным центром очистки. Атаки поглощаются на ближайшем PoP, а не концентрируются на origin. Суммарная ёмкость 330+ PoP Cloudflare превышает 37 Тбит/с. Атака 10 Гбит/с становится незначительной, распределённой по многим узлам.
  2. Stateless L3/L4 ограничения скорости — лимиты на ASN, на префикс отбрасывают очевидные источники усиления и SYN-наводнения до создания TCP-состояния.
  3. WAF на edge — обнаруживает паттерны прикладного уровня (SQLi, XSS, отпечатки ботов). Работает на PL2 (баланс ложных срабатываний/покрытия), не PL4 (параноидальный) для публичного API.
  4. Token bucket на IP + на пользователя — останавливает очевидные ботнеты и злоупотребления аутентифицированными пользователями.
  5. Адаптивное ограничение конкурентности на origin — когда количество in-flight запросов превышает пороговое значение, отклонять новые запросы с быстрым 503. Сервис остаётся стабильным; пользователи получают ошибки вместо таймаутов.
  6. Наблюдаемость и эскалация к людям — когда автоматические защиты не справляются, дежурные инженеры добавляют пользовательские правила.
СлойЧто останавливаетЧто пропускает
Anycast edgeОбъёмные наводнения (масштаб Гбит/с)Умные низкоскоростные атаки на IP
Stateless L3/L4 лимитыУсиление, SYN-наводненияHTTP-атаки на валидные порты
WAF (PL2)Известные сигнатуры атак, паттерны ботовZero-day, обфусцированные пэйлоады, злоупотребления бизнес-логикой
Лимит (на IP/пользователя)Очевидные ботнеты, злоупотребление авторизациейРаспределённые ботнеты с резидентными прокси
Адаптивная конкурентностьРаспределённая перегрузка, наводнения на промахи кэшаАтаки ниже порога перегрузки
mTLSБоковое перемещение внутри сетиВнешние векторы атак

mTLS в service mesh со SPIFFE. Istio или Linkerd развёртывают sidecar-прокси на каждом поде. Control plane (Istiod) запускает SPIFFE-совместимый центр сертификации. При запуске каждый sidecar получает краткосрочный сертификат (1–24 часа). Сертификаты ротируются через SDS (Service Workload API) push — перезапуск sidecar не нужен. Каждый вызов сервис-к-сервису: (1) mTLS-хендшейк (накладные расходы 20–50 мс на новое соединение на старом оборудовании), (2) зашифрованный пэйлоад, (3) обе стороны проверяют сертификаты. Предотвращает боковое перемещение при компрометации pod-сети. Стоимость: ротация сертификатов добавляет операционную сложность и нагрузку мониторинга (истёкший сертификат = инцидент инфраструктуры, а не баг).

Истощение протокола/состояния в глубину. SYN-наводнения: каждый SYN выделяет слот полуоткрытого соединения в очереди backlog сервера. При переполнении backlog сервер сбрасывает новые SYN-пакеты легитимных клиентов. SYN cookies кодируют состояние соединения как криптографический cookie в ISN — память не выделяется; легитимные клиенты отвечают валидным ACK, декодирующим cookie. ACK-наводнения: ограничение скорости RST (лимит RST в секунду) и подавление несопоставленных ACK брандмауэром. Инъекция TCP RST (MITM на пути): RFC 5961 challenge-ACK вынуждает злоумышленника знать точный номер последовательности, а не просто быть в окне.

Внутренности ограничения скорости: сложность распределённых систем. Token bucket с Redis: T = min(C, T + R * delta_time). Распределённый: каждый запрос атомарно INCR key; EXPIRE key window. При 100k req/sec, Redis добавляет 0.5–1 мс на запрос = 50–100 мс суммарной задержки. Оптимизация: локальный счётчик на сервер + периодическая синхронизация с Redis (допускает небольшую погрешность, сокращает до микросекундных решений). HyperLogLog для приближённого ограничения скорости: ~1.6 кБ на эскиз, ~2% погрешность, подходит для лимитов на уровне ASN или IP-диапазона.

Адаптивная конкурентность: формула сброса нагрузки. Отслеживайте in-flight запросы Q. Установите порог max_queue. Для новых запросов вероятность принятия = max(0, 1 - Q / max_queue). Принимайте запрос с этой вероятностью. Это создаёт плавную деградацию: при 50% перегрузке отклоняется 50% новых запросов; при 100% — все. Пользователи получают быстрые 503 вместо таймаутов очереди (которые могут быть 30+ секунд). Автоматические выключатели отклоняют запросы к бэкендам с недавним превышением порога частоты отказов — предотвращая каскадные сбои по всему графу сервисов.

Проследи
1/5

Проследите изощрённую атаку с использованием усиления и тактик прикладного уровня.

1
Step 1 of 5
Шаг 1: злоумышленник начинает атаку усиления memcached 10 Гбит/с. Что происходит без CDN?
2
Locked
Шаг 2: вы переходите на CDN (Cloudflare). 10 Гбит/с поглощается на edge. Какова стоимость атаки для злоумышленника?
3
Locked
Шаг 3: злоумышленник переходит на HTTP-наводнения — легитимно выглядящие GET-запросы, 100 000 req/sec с ботнета. Что делает ограничитель скорости?
4
Locked
Шаг 4: злоумышленник добавляет ?x=random к каждому запросу (обход кэша), нацеливаясь на дорогие эндпоинты БД. Cache-hit rate падает с 95% до 5%. В чём новая проблема?
5
Locked
Шаг 5: злоумышленник адаптирует случайный параметр с реалистичными User-Agent и распределяет дальше. Сервис всё ещё медленный. Каков операционный ответ?
Найди ошибку

Аномальное скорирование WAF во время атаки

log
2026-05-15 14:23:00 | requests=45000/sec | score-p50=0.5 | score-p95=3.2 | score-p99=8.1
2026-05-15 14:24:00 | requests=120000/sec | score-p50=6.1 | score-p95=14.2 | score-p99=28.5
2026-05-15 14:25:00 | requests=450000/sec | score-p50=12.3 | score-p95=19.8 | score-p99=32.1
2026-05-15 14:26:00 | blocked=380000 | allowed=70000 | score-threshold=5

WAF скорирует трафик и блокирует при threshold=5. Что происходит в этой хронологии и что должен делать оператор?

Экономика атак. Стоимость атакующего: ~$50–500/мес за сервис ботнета, способный на 10 Гбит/с устойчиво. Стоимость защиты origin: ~$500/мес счёт CDN за 10 Гбит/с устойчивого трафика. Если злоумышленник генерирует 100 Гбит/с, origin не может соответствовать. Но CDN с глобальными PoP поглощает сотни Тбит/с и распределяет стоимость среди миллионов клиентов — стоимость на клиента ничтожна. Экономика благоприятствует атакующему только при защите в одиночку. Общая инфраструктура (CDN) — ответ: нельзя превзойти ботнет в масштабах; можно сделать атаку экономически невыгодной, заставив её провалиться.

Наблюдаемость во время атаки. Ключевые сигналы: (1) скорость запросов в секунду — 10-кратный рост от нормы подозрителен; (2) географическое распределение источников — всё с одной ASN подозрительно; (3) аномальная оценка p99 — нормальные пользователи набирают <1, атакующий трафик >10; (4) cache-hit rate — атакующий трафик на уникальные параметры показывает резкий спад. Пороги оповещения: скорость запросов 10x базовой, спад аномальных оценок p99, снижение энтропии IP-источников (100 IP вместо 100 000), или cache-hit rate ниже 80% во время всплеска трафика. Эскалация к людям, если атака длится >5 минут или превышает 50 Гбит/с.

Выбери лучший вариант

Сервис e-commerce под устойчивой атакой прикладного уровня. Выберите стратегию защиты.

Спроектируй

Разработайте архитектуру DDoS-защиты для видео-CDN ёмкостью 100 Гбит/с, обслуживающего глобальных пользователей. CDN работает в 50 PoP в 30 странах.

  • Поглощать атаки 100+ Гбит/с на edge без превышения 10% ёмкости любого PoP.
  • Защищаться от объёмных (L3/L4), протокольных (SYN-наводнения) и прикладного уровня (HTTP-наводнения) атак.
  • Поддерживать p50 задержку &lt; 50 мс и p99 &lt; 200 мс для легитимных пользователей во время атаки.
  • Обнаруживать и блокировать новые паттерны атак в течение 60 секунд.
Почему это работает

Почему адаптивное ограничение конкурентности предпочтительнее WAF PL4 для высоконагруженного production сервиса под атакой? WAF PL4 принимает превентивные решения на уровне запроса на основе паттернов содержимого, вызывая 5% ложных срабатываний — 1 из 20 легитимных пользователей заблокирован. Адаптивное ограничение конкурентности реагирует на реальную нагрузку системы, отклоняя запросы только когда сервер уже перегружен. Ни один легитимный пользователь не блокируется превентивно; стоимость — что часть атакующего трафика проходит до достижения перегрузки, но быстрые 503 защищают origin от каскадного сбоя. Для публичного сервиса ложные срабатывания (блокировка реальных пользователей) хуже ложноотрицательных (пропуск части атакующего трафика) когда атака ограничена лимитами конкурентности.

Викторина

Ваш WAF на уровне паранойи 2 и атаки проходят (заблокировано только 70%). Вы повышаете до PL4. Легитимные клиенты начинают жаловаться (5% ложных срабатываний). Что лучше?

Вспомните перед уходом
  1. 01
    Почему адаптивное ограничение конкурентности предпочтительнее WAF PL4 для высоконагруженного production сервиса под атакой?
  2. 02
    Во время атаки Rapid Reset (CVE-2023-44487) почему атака обходит ограничение скорости только для HTTP/1.1?
  3. 03
    Какие метрики должен мониторить дежурный инженер во время DDoS-атаки и какие пороги сигнализируют об эскалации?
Итог

Эшелонированная защита от DDoS требует нескольких слоёв, потому что ни одна защита не останавливает все векторы. Anycast поглощение на edge распределяет объёмные атаки по 330+ глобальным PoP; stateless L3/L4 фильтры отбрасывают усиление и SYN-наводнения до потребления состояния соединения; WAF на PL2 обнаруживает известные прикладные паттерны с допустимыми ложными срабатываниями; адаптивное ограничение конкурентности на origin отклоняет при перегрузке, а не превентивной блокировке IP. Экономика атак благоприятствует защитникам только при использовании общей CDN-инфраструктуры — ботнет, генерирующий 100 Гбит/с за $500/мес, побеждается CDN, который амортизирует ёмкость защиты по миллионам клиентов. Когда автоматические защиты не справляются, наблюдаемость (скорость запросов, аномальные оценки, cache-hit rate, энтропия IP источников) даёт дежурным инженерам сигнал для добавления пользовательских правил в 60-секундном окне эскалации.

Связанные уроки
встречается в258
Продолжить восхождение ↑Сетевая безопасность: тест с множественным выбором
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.