Можно ли использовать технику TCP Keepalive для предотвращения DDOS?

Я изучаю DDOS и методы его смягчения. TCP Keepalive используется для проверки, работает ли другой хост, и если хост не подтверждает сообщение tcp keep alive, соединение разрывается.

Мне интересно, можно ли использовать эти сообщения для смягчения DDOS-атак. Атакующий сервер может сократить время, в течение которого он связывается с клиентом, независимо от того, активен он или нет. Сервер может использовать одноадресную переадресацию обратного пути для предотвращения подмены IP-адресов, и если атака осуществляется с легитимных хостов с использованием ботнетов, может ли сервер использовать технику сообщений keepalive tcp в любом случае, чтобы закрыть мертвые соединения и предотвратить DDOS-атаки? Есть ли способ обнаружить полуоткрытые TCP-соединения и закрыть их с помощью tcp keep alive?

0
задан 17 March 2018 в 09:40
2 ответа

DDOS - это очень широкий термин, включающий в себя множество атак. Поддержание активности TCP актуально только для уже установленных TCP-соединений, что обычно исключает атаки с использованием IP-спуфинга. Это означает, что это не имеет отношения к большинству DDOS-атак, которые представляют собой атаки с использованием высокой пропускной способности (например, атаки с усилением с использованием поддельных IP-адресов) или SYN-лавинную рассылку.

Это оставляет атаки, подобные Slowloris , которые пытаются связать ресурсы на серверах, оставляя открытыми многие соединения, или атаки, которые выполняют надлежащее квитирование TCP из приложения пользовательского пространства и затем прерывают соединение без закрытия. Сохранение активности TCP не будет работать с первым, поскольку есть правильный клиент, который, как и ожидалось, отвечает на сохранение активности TCP. Во втором случае это может помочь с наивной реализацией, но это может быть изменено для обработки TCP keep alive без использования дополнительной памяти.

Короче говоря: это может помочь для очень специфических и редких видов DDOS. Но даже для этого DDOS может быть более эффективным использовать вместо этого тайм-аут простоя для соединений и динамически адаптировать тайм-аут в зависимости от количества открытых соединений и конкретного состояния соединения. Это, вероятно, охватит больше видов атак.

2
ответ дан 4 December 2019 в 13:26

Ваш компьютер не может узнать, был ли подделан исходный IP-адрес пакета. В первом приближении RPF применяется только к маршрутизаторам. Если у вас есть несколько интерфейсов к нескольким вышестоящим провайдерам, это сократит трафик в N раз, где N, конечно же, количество интерфейсов; сколько у вас восходящих потоков и ?

TCP KEEPALIVE не имеет к этому никакого отношения. Возможно, вы думаете о файлах cookie tcp syn, которые можно включить с помощью соответствующей опции sysctl.

В любом случае все это в основном не имеет значения, за исключением случаев, когда ваша модель угрозы - это пара детей, которым больше нечего делать. DDOS-атаки уже очень давно просто забивают ваш входящий канал. Не имеет значения, смогут ли ваши машины работать, если у них не осталось пропускной способности канала для получения полезного трафика!

Если вас действительно беспокоит решительный злоумышленник, вам понадобится защита от вашего вышестоящего провайдера,а в более серьезных случаях - от специализированной службы по борьбе с ddos ​​(легко найти, я не хочу продвигать какую-либо конкретную).

Надеюсь, это поможет.

0
ответ дан 4 December 2019 в 13:26

Теги

Похожие вопросы