Вчера на одном из своих серверов обнаружил SYN-флуд по 443 порту. Обнаружил в начале tcpdump-ом, потом подтвердил наличие SYN-флуда - через подсчет числа «полуоткрытых» TCP-соединений. В обычной ситуации их не должно быть совсем (или очень небольшое количество: максимум 1-3).
Один из распространенных способов не только «забить» канал связи, но и ввести сетевой стек операционной системы в такое состояние, когда он уже не сможет принимать новые запросы на подключение. Основан на попытке инициализации большого числа одновременных TCP-соединений через посылку SYN-пакета с несуществующим обратным адресом. После нескольких попыток отослать ответный ACK-пакет на недоступный адрес большинство операционок ставят неустановленное соединение в очередь. И только после n-ой попытки закрывают соединение. Так как поток ACK-пакетов очень велик, вскоре очередь оказывается заполненной, и ядро дает отказ на попытки открыть новое соединение. Наиболее умные DoS-боты еще и анализируют систему перед началом атаки, чтобы слать запросы только на открытые жизненно важные порты.
Идентифицировать такую атаку просто, достаточно попробовать подключиться к одному из сервисов. Защитные мероприятия обычно включают в себя:
Увеличение очереди «полуоткрытых» TCP-соединений:
Уменьшение времени удержания «полуоткрытых» соединений:
Включение механизма TCP syncookies:
возможно у Вас отключен javascript, если включен - просто обновите страницу