Определение простыми словами
Anti-DDoS — это «турникет» перед сайтом или сервером. Когда десятки тысяч ботов одновременно стучатся на один IP, защита отделяет реальных посетителей от мусорных запросов и пропускает только легитимный трафик. Без неё канал, процессор или веб-сервер захлёбываются за минуты.
Решения делятся на два контура: сетевой (отбивает пакетные атаки уровня L3-L4 — L3-L4 DDoS) и прикладной (фильтрует L7-флуд, имитирующий запросы браузера). На рынке — облачные операторы (Cloudflare, DDoS-Guard, Stormwall), модули хостинг-провайдеров и собственные стенды на базе iptables и BGP-blackhole.
Сравнение
| Тип защиты | Где работает | Что отбивает | Минусы |
|---|---|---|---|
| Аппаратная (Arbor, Radware) | На границе ЦОД | Объёмные L3-L4 атаки до сотен Гбит/с | Дорого, ставит провайдер |
| Облачная (Cloudflare, Stormwall) | Через DNS или BGP-anycast | L3-L7, включая HTTP-флуд | Зависимость от внешнего сервиса |
| Локальная (iptables, nginx limit_req) | На самом сервере | Слабые L7-атаки, ботов | Бесполезна при насыщении канала |
| Гибрид | Облако + локальные правила | Любые сценарии | Сложнее настраивать |
Кейсы использования
- Онлайн-магазин в Чёрную пятницу — отсев бот-сетей конкурентов, защита формы заказа.
- Минецрафт-сервер — фильтрация SYN-флуда и UDP-amplification на игровом порту.
- API платёжного шлюза — приоритизация подписанных запросов через WAF.
- Корпоративный сайт перед запуском рекламы — превентивный щит от вымогателей.
- Негативный сценарий: ставить облачный Anti-DDoS на статический лендинг с 10 посетителями в день — деньги на ветер; хватит правил nginx и базового firewall провайдера.
Технические детали
# Базовая защита от SYN-флуда на уровне ядра
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_max_syn_backlog=4096
sysctl -w net.ipv4.tcp_synack_retries=2
# Лимит новых соединений с одного IP через iptables
iptables -A INPUT -p tcp --syn --dport 80 -m connlimit
--connlimit-above 50 --connlimit-mask 32 -j DROP
# Rate-limit на уровне nginx (L7)
# в http {} блоке:
# limit_req_zone $binary_remote_addr zone=ddos:10m rate=10r/s;
# в location:
# limit_req zone=ddos burst=20 nodelay;
# Проверка количества активных коннектов
ss -s
netstat -ant | awk '{print $6}' | sort | uniq -c
🔥 Где это применяется
Частые вопросы
Чем Anti-DDoS отличается от обычного firewall?
Firewall режет пакеты по статичным правилам (порт, IP). Anti-DDoS анализирует поведение, объём и сигнатуры, отделяя бот-трафик от пользователей в реальном времени.
Хватит ли Cloudflare бесплатного тарифа?
Для блогов и визиток — да, отбивает большинство L7-атак. Для интернет-магазинов и API-сервисов нужен платный план с rate-limit и WAF-правилами.
Можно ли построить защиту своими руками?
Можно отбить слабый флуд через iptables и nginx limit_req, но при насыщении канала помогут только провайдер или облачный сервис, фильтрующий трафик до вашего ЦОД.