Glossaire F5

SYN

Qu'est-ce que SYN ?

Dans TCP, SYN fait référence au paquet envoyé par un client à un serveur pour initier une connexion. L'établissement d'une connexion TCP suit ces étapes :

  1. Le client envoie d’abord un paquet SYN au serveur.
  2. Le serveur répond avec un paquet SYN/ACK, accusant réception de la demande. À ce stade, le serveur réserve des ressources dans une table de connexion pour conserver les détails de connexion, établissant ainsi un état de connexion semi-ouvert.
  3. À la réception du paquet SYN/ACK, le client répond avec un paquet ACK.
  4. Lorsque le serveur reçoit le paquet ACK, la connexion est entièrement établie.

Ce processus de connexion, impliquant trois échanges de paquets, est appelé une poignée de main à trois. Il permet au serveur de confirmer que ses paquets de réponse ont atteint le client. Cependant, des problèmes surviennent si le client usurpe l'adresse IP source, car le serveur ne recevra pas de réponse pour son paquet SYN/ACK. Dans de tels cas, le serveur maintient l'état semi-ouvert jusqu'à ce qu'il expire, consommant inutilement des ressources. Les acteurs malveillants exploitent cette vulnérabilité dans une attaque SYN flood, un type d’attaque DoS/DDoS.

La plate-forme BIG-IP de F5 agit comme un proxy complet et empêche les inondations SYN en inspectant les paquets SYN avant de les transmettre au serveur. De plus, BIG-IP inclut une fonctionnalité appelée SYN Cookies pour se protéger contre de grands volumes de paquets SYN. Dans cette méthode, un numéro généré par MD5 (appelé « Cookie ») est intégré dans le numéro de séquence TCP du paquet SYN/ACK. Lorsque le paquet ACK suivant est reçu, le cookie est recalculé à partir de son contenu. Cela élimine le besoin de stocker les détails de connexion au moment où le paquet SYN/ACK est envoyé, évitant ainsi l'épuisement de la mémoire même lors d'une attaque par inondation SYN.