Как на самом деле работает защита от DDoS
DMCA & resilience · 8 мин чтения
Что на самом деле делает DDoS-атака
Распределённая атака отказа в обслуживании пытается сделать сервис недоступным, перегружая какой-то ресурс, от которого он зависит, а не взламывая его. Этим ресурсом может быть сырая пропускная способность сети (объёмная атака, измеряемая в Gbps), ёмкость обработки соединений маршрутизаторов и файрволов (атака на протокол, измеряемая в пакетах в секунду) или сам уровень приложения (HTTP-флуд, который выглядит как реальный трафик, но приходит в объёме, который приложение не может обработать). Каждая категория требует своей защиты, поэтому «защита от DDoS» на самом деле представляет собой набор нескольких различных техник, а не один переключатель.
Слово «распределённая» имеет значение: атакующий трафик обычно исходит одновременно от тысяч различных IP-источников, часто ботнета из скомпрометированных устройств, поэтому простая блокировка одного IP-адреса редко помогает. Грамотно выстроенный anti-DDoS хостинг должен исходить из того, что атакующий трафик будет выглядеть так, будто идёт отовсюду, и строить защиту вокруг этого, а не полагаться на вручную поддерживаемый список блокировки.
Три уровня, на которых на самом деле работает защита от DDoS
Объёмные атаки нацелены на насыщение самого сетевого канала, распространённые векторы включают UDP-флуд, DNS-амплификацию и NTP-амплификацию, когда атакующий подделывает ваш IP и обманом заставляет сторонние серверы затопить вас ответами на небольшой запрос. Защита на этом уровне — это в основном вопрос ёмкости и фильтрации выше по цепочке: если сеть вашего провайдера способна поглощать гораздо больше входящего трафика, чем реально нужно вашему каналу, и эта фильтрация происходит до того, как трафик достигнет локального соединения вашего сервера, объёмный поток очищается на верхнем уровне, а не душит ваш VPS.
Атаки на протокол нацелены на механизм состояния соединений маршрутизаторов, балансировщиков нагрузки и файрволов, а не на сырую пропускную способность; классический пример — SYN-флуд, открывающий огромное число незавершённых TCP-рукопожатий, чтобы исчерпать таблицы соединений. Смягчение здесь опирается на такие техники, как SYN-cookies, ограничение частоты соединений и валидацию пакетов без состояния на границе сети, выполняемую специализированным железом или ПО ещё до того, как поток достигнет операционной системы, на которой работает ваше приложение.
Атаки на уровне приложения сложнее всего обнаружить, потому что отдельные запросы часто технически корректны — HTTP-флуд, атакующий поисковую строку или страницу входа реалистично выглядящими запросами, может уронить сервис, вообще не проявившись как необычная пропускная способность. На этом уровне нужен поведенческий анализ: ограничение частоты по источнику, механизмы challenge-response и обнаружение паттернов, способное отличить всплеск законного интереса от скоординированного потока, поскольку блокировка только по объёму трафика либо пропускает атаку, либо блокирует реальных пользователей.
- Объёмные (сетевой/транспортный уровень): UDP-флуды, DNS/NTP-амплификация, измеряются в Gbps
- Протокольные/исчерпание состояния: SYN-флуды, флуды повреждённых пакетов, измеряются в пакетах в секунду
- Уровень приложения: HTTP-флуды, атаки медленными запросами, измеряются в запросах в секунду и гораздо сложнее отличимы от реального трафика
Как смягчение происходит в реальном времени
Эффективный anti-DDoS хостинг маршрутизирует входящий трафик через инфраструктуру очистки до того, как он достигнет исходного сервера, поэтому смягчение происходит выше по цепочке, а не на атакуемой машине. Когда трафик на IP-адрес превышает порог обнаружения — либо фиксированную базовую линию, либо модель обнаружения аномалий, сравнивающую текущий трафик с обычными паттернами, — система перенаправляет этот трафик через узлы фильтрации, которые отбрасывают вредоносные пакеты и пропускают чистый трафик дальше, обычно за секунды при хорошо настроенной системе, хотя точное окно обнаружения зависит от типа атаки и того, насколько консервативно установлены пороги.
Anycast-маршрутизация — распространённый архитектурный элемент этого процесса: один и тот же IP-адрес анонсируется из нескольких сетевых точек, поэтому входящий трафик (включая атакующий) естественным образом распределяется по нескольким точкам присутствия вместо концентрации на одном канале, что поднимает эффективную ёмкость поглощения значительно выше того, что мог бы обработать один дата-центр в одиночку.
Ничто из этого не устраняет необходимости в хорошем дизайне приложения. Ограничение частоты на уровне приложения, кэширование для снижения нагрузки на запрос и отсутствие ненужных служб на публичных портах — всё это снижает урон, который атака на уровне приложения может реально нанести, даже при сильной защите на верхнем уровне.
На что реально смотреть, оценивая заявления провайдера о защите от DDoS
Заголовочные цифры вроде «до 10 Gbps» или «100 Gbps смягчения» описывают резервную сетевую ёмкость, а не гарантию против любой возможной атаки; изощрённая, хорошо распределённая атака на уровне приложения по-прежнему может создать проблемы значительно ниже этого потолка, если сама логика фильтрации слаба. Спросите, какие уровни реально покрыты (только объёмные или также протокол и приложение), включена ли защита постоянно или срабатывает реактивно только после того, как атака уже деградировала сервис, и есть ли содержательное SLA или просто маркетинговое заявление.
Конкретно для VPS практические вопросы у́же, чем для корпоративной инфраструктуры: фильтрует ли сеть провайдера трафик до того, как он достигнет интерфейса вашей виртуальной машины, включена ли защита в базовую цену или это платное дополнение, и есть ли жёсткий предел защищённой пропускной способности, после которого провайдер блокирует маршрут (null-route/blackhole) для вашего IP вместо продолжения фильтрации. Последний пункт важнее, чем ожидают: некоторые бюджетные хостинги рекламируют защиту от DDoS, которая на деле является просто быстрым триггером для блокировки маршрута вашего сервера во время атаки, что останавливает влияние атаки на других клиентов сети, но также полностью отключает ваш сервис.
- Какие уровни покрыты: только объёмные или объёмные + протокол + приложение
- Постоянно включённая фильтрация против реактивного смягчения, срабатывающего после того, как деградация уже видна
- Является ли заявленная цифра в Gbps резервной сетевой ёмкостью или гарантией на конкретный VPS
- Что происходит выше потолка смягчения: продолжение фильтрации или блокировка маршрута IP
Место защиты от DDoS в более широком плане устойчивости
Смягчение DDoS — один уровень стратегии устойчивости, а не вся стратегия. VPS на зашифрованном NVMe-хранилище с выделенными ядрами KVM и актуальными снапшотами восстанавливается быстрее после любого сбоя, связанного с DDoS или нет, чем VPS без этих основ, а поддержка IPv4 и IPv6 даёт больше гибкости маршрутизации, если когда-нибудь понадобится перенаправить трафик. Ничто из этого не заменяет фильтрацию на сетевом уровне, но устойчивая настройка рассматривает защиту от DDoS как один элемент наряду с надёжными инфраструктурными основами, а не как их замену.
VPS GOAT включает защиту от DDoS до 10 Gbps во всей линейке KVM VPS как часть базовой инфраструктуры, на зашифрованном NVMe с выделенными ядрами, снапшотами и полным доступом к API, разворачивается примерно за 55 секунд во всех действующих юрисдикциях. Конкретная нужная проекту ёмкость смягчения сильно зависит от его профиля угроз — небольшой личный проект и публичный сервис, который уже становился мишенью, имеют совершенно разные требования, — и стоит честно оценивать это, а не полагать, что любая фиксированная цифра достаточна для любой ситуации.
| Уровень атаки | Примеры векторов | Что реально останавливает атаку | Типичная измеряемая единица |
|---|---|---|---|
| Объёмный | UDP-флуд, DNS-амплификация, NTP-амплификация | Резервная сетевая ёмкость и очистка до того, как трафик достигнет источника | Gbps |
| Протокол / исчерпание состояния | SYN-флуд, флуд повреждённых пакетов | SYN-cookies, ограничение частоты соединений, валидация без состояния на границе сети | Пакетов в секунду |
| Уровень приложения | HTTP-флуд, атаки медленными запросами (в духе Slowloris) | Поведенческое обнаружение, ограничение частоты по источнику, challenge-response | Запросов в секунду |
| Поглощение на уровне маршрутизации | Любой уровень, в масштабе | Anycast-распределение по нескольким точкам присутствия | Совокупная сетевая ёмкость |
Частые вопросы
Как защита от DDoS работает, не блокируя реальных посетителей?+
Что на самом деле означает «до 10 Gbps anti-DDoS» для VPS?+
Можно ли защитить VPS от DDoS-атак без какой-либо специальной настройки?+
В чём разница между смягчением DDoS и простой блокировкой маршрута атакуемого IP?+
Нужна ли защита от DDoS для небольшого личного VPS?+
Готовы уйти в оффшор?
Без KYC, без почты — только анонимный ключ и крипта. Разворачивается за ~55 секунд.
Настроить VPS →