Le Denial of Service
Le Denial of Service est une technique qui consiste à envoyer un flux de données trop important par rapport à ce que la cible peut recevoir et traîter. Si quelqu’un a votre adresse IP et veut vous priver d’internet ou bloquer l'accès à votre site, il pourra le faire si il dispose d’une connexion suffisamment importante. Il va alors vous « flooder » et saturer votre bande passante montante, ce qui aura pout effet de perturber énormement votre traffic internet dans les deux sens.
Vous pouvez faire le test à partir d'une machine de l'exterieur. D’abord scanner les ports ouverts de la machine cible :
# nmap -p 1-100 <adresse ip cible>
Vous découvrez alors quelques ports TCP ouverts, j'ai choisis le port http 80 et je tape dans un terminal :
# hping3 --flood -p 80 -S <adresse ip cible>
Cette commande va envoyer des paquets TCP SYN à la cible, c’est à dire des demandes de connexions, en boucle et sans éffectuer d’acquittement de ces connexions. C’est un une attaque “SYN flood”. Elle a pour conséquence de réserver des ressources sur la cible qui attend un acquittement pour toutes les demandes de connexions qui sont faites, mais elle n’en recevra jamais.
Mais avant que la mémoire ou le CPU ne soit surchargé, on arrive à la saturation du lien car la cible ne fait que envoyer des réponses (SYN-ACK) à toutes les requêtes SYN reçues. Et le débit montant sur un freebox étant beaucoup plus faible que le débit descendant, le lien montant est saturé de réponses et ne tarde pas à être inutilisable.
Il n’y a pas grand chose à faire pour éviter ce type d’attaque (c’est possible mais très compliqué à éviter : il faut mettre des règles de filtrages avancées avec iptables).
Bon courage