¿Se puede utilizar la técnica TCP Keepalive para prevenir DDOS?

¿Se puede utilizar la técnica TCP Keepalive para prevenir DDOS?

Estoy aprendiendo sobre DDOS y las técnicas para mitigarlo. TCP Keepalive se utiliza para comprobar si el otro host todavía está activo y si el host no reconoce el mensaje tcp keepalive, la conexión finaliza.

Me pregunto si estos mensajes se pueden utilizar para mitigar los ataques DDOS. El servidor atacado puede reducir el tiempo en el que contacta con el cliente, ya sea que esté activo o no. El servidor puede utilizar el reenvío de ruta inversa Unicast para evitar la suplantación de IP y, si el ataque se realiza desde hosts legítimos mediante botnets, ¿puede el servidor utilizar la técnica de mensajes keepalive de tcp de alguna manera para cerrar las conexiones inactivas y evitar que se le realice un DDOS? ¿Hay alguna manera de detectar conexiones TCP medio abiertas y cerrarlas usando tcp keepalive?

Respuesta1

DDOS es un término muy amplio e incluye una variedad de ataques. El mantenimiento de TCP solo es relevante para conexiones TCP ya establecidas, lo que generalmente excluye, en primer lugar, los ataques que utilizan suplantación de IP. Esto significa que no es relevante para la mayoría de los ataques DDOS, que son ataques que utilizan un gran ancho de banda (como ataques de amplificación que utilizan direcciones IP falsificadas) o inundaciones SYN.

Esto deja ataques comoLoris lentoque intentan vincular recursos en los servidores manteniendo muchas conexiones abiertas o ataques que realizan un protocolo de enlace TCP adecuado desde una aplicación de espacio de usuario y luego abandonan la conexión sin cerrarla. TCP Keep Alive no funcionaría contra el primero, ya que hay un cliente adecuado que responde como se esperaba a TCP Keep Alive. Podría ayudar con una implementación ingenua en el segundo caso, pero esto podría modificarse para manejar TCP y mantenerlo activo también sin usar más memoria.

En resumen: podría ayudar para tipos de DDOS muy específicos y raros. Pero incluso para este DDOS podría ser más efectivo usar un tiempo de espera de inactividad en las conexiones y adaptar el tiempo de espera dinámicamente dependiendo del número de conexiones abiertas y del estado específico de la conexión. Esto probablemente cubriría más tipos de ataques.

Respuesta2

Su máquina no tiene forma de saber si la dirección IP de origen de un paquete fue falsificada. En una primera aproximación, RPF sólo se aplica a enrutadores. Si tiene múltiples interfaces para múltiples proveedores ascendentes, reducirá el tráfico en un factor de N, donde N es el número de interfaces, por supuesto; cuantos aguas arribahacer¿tienes?

TCP KEEPALIVE no tiene nada que ver con esto. Quizás esté pensando en las cookies de sincronización tcp, que puede habilitar con una opción sysctl adecuada.

De todos modos, todo esto es prácticamente irrelevante, excepto si su modelo de amenaza es un par de niños sin nada más que hacer. Los ataques DDOS, desde hace mucho tiempo, simplemente obstruyen la tubería de entrada. ¡No importa si sus máquinas pueden permanecer activas si no les queda capacidad de enlace para recibir tráfico útil!

Si está realmente preocupado por un atacante determinado, necesitará protección de su proveedor principal y, en casos más graves, de un servicio anti-ddos dedicado (fácil de encontrar, no quiero promocionar ninguno en particular).

Espero que esto ayude.

información relacionada