Contrer une attaque DDoS de type SYN flood sous Linux
Source: Tux-planet
Une attaque par déni de services SYN flood est une technique visant à saturer un serveur en envoyant une multitude de paquets TCP, avec le flag SYN. Les connexions sont alors établies vers la machine, mais restent à moitié ouvertes, car le client malveillant (hacker) ne renvoie pas de confirmation (ACK).
Le serveur attend pendant un certain délai la réponse et la connexion semi-ouverte consomme alors un certain nombre de ressources. En multipliant ce type de connexions, le hacker peut arriver à créer un déni de service qui rendra la machine inopérante.
1. Détection d’une l’attaque DDoS SYN flood
Pour détecter la présence de l’attaque, il faut utiliser la commande netstat et repérer la présence des connexions de type SYN_RECV. Si il y a beaucoup de réponses, c’est qu’une attaque est sans doute en cours :
# netstat -an | grep SYN_RECV tcp 0 0 10.xxx.xxx.xxx 237.177.154.8:25882 SYN_RECV - tcp 0 0 10.xxx.xxx.xxx 236.15.133.204:2577 SYN_RECV - tcp 0 0 10.xxx.xxx.xxx 127.160.6.129:51748 SYN_RECV - tcp 0 0 10.xxx.xxx.xxx 230.220.13.25:47393 SYN_RECV -
Voici une autre commande, un peu plus sophistiquée, qui donnera de meilleures résultats quant à la détection d’une attaque DDoS :
for i in ` netstat -tanpu | grep "SYN_RECV" | awk {'print $5'} | cut -f 1 -d ":" | sort | uniq -c | sort -n | awk {'if ($1 > 3) print $2'}` ; do echo $i; done