SYN-флуд
Коротко: При SYN-флуде злоумышленник отправляет очень много запросов на соединение (SYN), так и не завершая рукопожатие, пока сервер не перестанет принимать новые соединения.
Подробнее: Атака использует трёхстороннее рукопожатие TCP. На каждый SYN сервер резервирует память под полуоткрытое соединение и напрасно ждёт последнего ACK.
Подробности
- Эффект: Очередь полуоткрытых соединений переполняется. Настоящие пользователи не получают соединения. Это случай DDoS.
- Поддельные отправители: Адреса источников часто выдуманы, поэтому ответы уходят в пустоту.
- SYN-куки: Сервер сначала ничего не хранит, а кодирует состояние в порядковом номере своего ответа. Только корректный ACK создаёт соединение. По умолчанию в Linux (
net.ipv4.tcp_syncookies=1). - Другие меры: Более длинные очереди, более короткие тайм-ауты, ограничение скорости на межсетевом экране и маршрутизаторе, фильтрация на границе сети, службы защиты от DDoS.
- Как заметить: Много соединений в состоянии
SYN_RECV(ss -tan state syn-recv).
См. также: Man-in-the-Middle и DDoS