DDoS-атаки
DDoS — распределённая атака на отказ в обслуживании: сервис заваливают трафиком с тысяч хостов, пока он не перестаёт отвечать нормальным пользователям.
Что такое DDoS-атаки
DDoS расшифровывается как Distributed Denial of Service — «распределённый отказ в обслуживании». По-русски пишут «ддос», «дудос», «ДДоС-атака». Суть: атакующий шлёт на сервис столько запросов или пакетов с множества источников одновременно, что заканчивается какой-то ресурс — полоса канала, CPU, память, лимит соединений — и сервер перестаёт отвечать легитимным пользователям.
Отличие от DoS — в букве D (Distributed). DoS идёт из одной точки и режется одним правилом файрвола. DDoS приходит с десятков тысяч адресов — ботнет, взломанные IoT-устройства, открытые резолверы, — и «забанить IP» уже не работает.
Важно: DDoS не крадёт данные и не даёт несанкционированный доступ. Это атака на доступность — третий элемент триады ИБ рядом с конфиденциальностью и целостностью.
Типы DDoS-атак
| Уровень OSI | Примеры | Что исчерпывают | Метрика |
|---|---|---|---|
| L3/L4 объёмные | UDP flood, ICMP flood, amplification | Полосу канала | Гбит/с |
| L3/L4 протокольные | SYN flood, ACK flood, фрагментация | Таблицу соединений, CPU | пакетов/с |
| L7 прикладные | HTTP flood, Slowloris, дорогие поисковые запросы | Воркеры приложения, БД | запросов/с |
Amplification (усиление) — приём, при котором мелкий UDP-запрос с подменённым адресом жертвы вызывает большой ответ от публичного сервиса. Классические коэффициенты: DNS — десятки раз, NTP с командой monlist — сотни, открытый memcached на UDP-порту 11211 — тысячи. Поэтому свои резолверы и NTP-серверы держат закрытыми: иначе ваш сервер станет орудием чужой атаки.
L7-атаки коварнее объёмных: несколько тысяч «настоящих» HTTP-запросов в секунду к тяжёлой странице кладут сайт без всякого гигабитного флуда, а в логах они выглядят как обычные посетители.
Как защищаются
- Провайдерская фильтрация. Трафик заворачивается в scrubbing-центр, там отсеивается мусор, чистое отдаётся на сервер. Единственный работающий ответ на объёмный L3/L4: канал жертвы нельзя «расширить» задним числом.
- CDN и reverse proxy прячут реальный адрес origin-сервера и размазывают нагрузку. Обязательно закройте origin по iptables, иначе атакующий найдёт IP в истории DNS.
- WAF — против L7: JS-challenge, капча, поведенческий анализ.
- Rate limiting на Nginx и балансировщике.
- Тюнинг сетевого стека против SYN flood.
limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=conns:10m;
server {
location /login {
limit_req zone=perip burst=20 nodelay;
limit_conn conns 10;
client_body_timeout 10s; # против Slowloris
send_timeout 10s;
}
}
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_max_syn_backlog=8192
sysctl -w net.ipv4.tcp_synack_retries=2
Что делать во время атаки
- Определить уровень:
iftopпоказывает забитый канал — это L3/L4; канал свободен, а RPS вaccess.logвзлетел — это L7. - Включить защиту у провайдера или перевести домен на scrubbing.
- Для L7 найти сигнатуру (User-Agent, URI, ASN, гео) и резать точечно, а не рубить всю страну.
- Оформить всё как инцидент ИБ: логи нужны и для разбора, и для расчёта нарушенного SLA.
Связанные термины
- Межсетевые экраны / WAF — основной инструмент фильтрации
- IDS и IPS — обнаружение аномального трафика
- CDN — распределение нагрузки и сокрытие origin
- Инцидент ИБ — как оформляют факт атаки
- SLA и отказоустойчивость — что нарушает успешный DDoS
Готовы запустить GPU-задачу?
Запустить GPU-сервер