Glosario de F5

SINC

¿Qué es SYN?

En TCP, SYN se refiere al paquete enviado desde un cliente a un servidor para iniciar una conexión. Para establecer una conexión TCP se siguen estos pasos:

  1. El cliente primero envía un paquete SYN al servidor.
  2. El servidor responde con un paquete SYN/ACK, reconociendo la solicitud. En este punto, el servidor reserva recursos en una tabla de conexión para almacenar los detalles de la conexión, estableciendo un estado de conexión semiabierta.
  3. Al recibir el paquete SYN/ACK, el cliente responde con un paquete ACK.
  4. Cuando el servidor recibe el paquete ACK, la conexión está completamente establecida.

Este proceso de conexión, que implica tres intercambios de paquetes, se denomina protocolo de enlace de tres vías. Permite al servidor confirmar que sus paquetes de respuesta han llegado al cliente. Sin embargo, surgen problemas si el cliente falsifica la dirección IP de origen, ya que el servidor no recibirá una respuesta para su paquete SYN/ACK. En tales casos, el servidor mantiene el estado semiabierto hasta que se agota el tiempo de espera, consumiendo recursos innecesariamente. Los actores maliciosos explotan esta vulnerabilidad en un ataque de inundación SYN, un tipo de ataque DoS/DDoS.

La plataforma BIG-IP de F5 actúa como un proxy completo y evita inundaciones SYN inspeccionando los paquetes SYN antes de reenviarlos al servidor. Además, BIG-IP incluye una función llamada SYN Cookies para protegerse contra grandes volúmenes de paquetes SYN. En este método, se incrusta un número generado por MD5 (llamado "Cookie") en el número de secuencia TCP del paquete SYN/ACK. Cuando se recibe el paquete ACK posterior, la cookie se vuelve a calcular a partir de su contenido. Esto elimina la necesidad de almacenar detalles de conexión en el momento en que se envía el paquete SYN/ACK, lo que evita el agotamiento de la memoria incluso durante un ataque de inundación SYN.