Le principe de l’attaque conventionnelle par inondation
Lorsque la deuxième poignée de main TCP établit une semi-connexion, une attaque par inondation peut être lancée à ce moment-là.
Autrement dit, un grand nombre de requêtes initient des connexions TCP. Lors de la deuxième prise de contact, le serveur placera ces demandes dans la file d'attente de semi-connexion. Puisque ces clients attaquants malveillants ne confirmeront pas la troisième prise de contact, ces semi-connexions ne pourront pas être traitées. Relâchez, le serveur attendra l'expiration du délai. À ce moment-là, la file d'attente de semi-connexion sera remplie et les connexions de requêtes normales ne pourront pas recevoir de réponse. C'est la méthode d'attaque par inondation.
Comment résoudre les attaques d'inondations en général
Lorsque le mode syncookies est activé, le serveur calculera une valeur de hachage (SHA1) basée sur (l'adresse source, le port source, l'adresse de destination, le port de destination, etc.) et un nombre aléatoire lors de la première prise de contact, puis de la deuxième prise de contact. utilisera ceci. Les syncookies générés sont renvoyés au client. Lorsque le client confirme la troisième poignée de main, il enverra les syncookies au serveur. Le serveur vérifiera si le syncookie correspond au précédent. S'il correspond, une connexion TCP sera établie. établi.
L'avantage de cette approche : Lorsque le serveur ne reçoit pas ou que les syncookies reçus ne correspondent pas, la connexion TCP ne sera pas établie. Et lors de l'utilisation de syncookies, le serveur ne maintiendra pas la file d'attente de semi-connexion, c'est-à-dire qu'il n'y a pas d'état de semi-connexion. Parce que l'utilisation de syncookies à des fins de comparaison, la semi-connexion n'est pas nécessaire, ce qui évite la file d'attente de semi-connexion. étant rempli et empêchant la réception de nouvelles connexions.
Scénarios que les syncookies ne peuvent pas résoudre
Lorsqu'un grand nombre d'attaques DDOS sont lancées, la méthode syncookies sera également paralysée. La raison de la paralysie est que le CPU doit calculer un grand nombre de syncookies, ce qui entraîne sa mort. Étant donné que le calcul des syncookies consomme également des performances du processeur, celui-ci ne peut pas gérer l'énorme quantité de DDOS. Pour le moment, la seule option consiste à augmenter la bande passante et à configurer un plafond strict.
Autres solutions
Augmentez la file d'attente de semi-connexion et la file d'attente de connexion complète (cette méthode est fondamentalement inefficace pour les attaques massives)
Réduisez le nombre de retransmissions SYN+ACK (TCP s'appuie sur les retransmissions pour maintenir une connexion stable), c'est-à-dire que lorsqu'il reçoit une attaque par inondation provenant d'un grand nombre de requêtes de synchronisation, le serveur continuera de réessayer s'il ne peut pas recevoir de réponse jusqu'à ce que le nombre maximum de fois. Réduisez ce nombre maximum de fois. Cela vous soulagera.
Comment vérifier si vous avez été attaqué par une inondation