Les attaques DoS (Déni de service) sont des cyberattaques qui peuvent prendre plusieurs formes (Syn Flood, HTTP Flood, attaque par amplification, etc).
Le but est toujours le même inonder le serveur cible afin de le rendre indisponible.
Parmi ces types, on trouve l’attaque DoS UDP ou UDP Flood qui comme son nom l’indique utilise le protocole UDP.
Dans ce tutoriel, je vous explique ce que sont les attaques UDP et comment fonctionnent l’UDP Flood.

Table des matières
Qu’est-ce qu’une attaque DoS UDP ou UDP Flood
L’attaque DoS par UDP dites “UDP Flooding” est une des attaques les plus communes.
Le protocole UDP offre plusieurs avantages pour les attaques ; contrairement au protocole TCP, aucune séquence de négociation est nécessaire. Les en-têtes du protocole UDP étant plus petite, il est très pratique pour envoyer une petite quantité de données rapidement.
De ce fait, il est privilégié pour les attaques pour saturer la couche réseau du serveur. D’autre part, si les paquets sont envoyés sur un port ouvert, la machine répondra généralement via le protocole ICMP. Il est possible de jouer sur la source de l’IP envoyée pour que la machine victime réponde à divers autres machines pour la “noyer” ( rappel: “to flood” signifie “inonder” )
Voici un envoi de paquets UDP/TCP depuis une connexion ADSL :

En TCP, on arrive à 2000 drop/s pour 2200 drops/s en UDP soit ↗ +10% en UDP.
Cela peut s’appliquer par le fait que le protocole UDP est plus léger comme expliqué précédemment.
Une attaque sur un même réseau, exemple intra-OVH, là ça monte beaucoup haut.

Avec le protocole ICMP, on arrive à peu près à un volume identique à celui d’UDP.

Le protocole UDP est très utilisé par les jeux en ligne, la VO-IP, DNS, … ce qui explique qu’ils sont souvent visés par ce types d’attaques tandis que les serveurs WEB sont plutôt visés par des Syn flood ou des attaques Layer 7 (HTTP Flood).
Botnets et attaque DoS
Ces attaques plus ou moins efficaces possèdent plusieurs variantes. Par le passé, les attaquants utilisaient des réseaux de machines zombies (botnets) pour saturer le serveur cible. Ces attaques sont les plus simples à mettre en œuvre. Aujourd’hui, il existe un véritable marché du DDoS, le cout horaire d’une attaque de ce type sur le blackmarket est vraiment à la portée de tous.
Exemple d’une interface d’attaque DoS UDP déposée après le piratage du serveur WEB.

Les serveurs offrent plusieurs avantages:
- Le débit est supérieur à celui de connexions ADSL d’abonnés.
- Les serveurs sont connectés en permanence tandis que les ordinateurs infectés peuvent être éteints
Si l’attaquant possède des ordinateurs infectés en Asie et qu’il faut attaquer aux USA, il faut attendre que les machines asiatiques soient allumées à cause du décalage horaire. Une attaque de nuit engendre moins de perturbations car le trafic est moins important. C’est que qui explique que les attaquants préfèrent de loin les serveurs compromis aux zombies (ordinateurs infectés).
Amplification DDoS
C’est à partir de 2009 que les attaques par amplifications ont été médiatisées.
Le but de l’attaque est d’envoyer aux machines de petits paquets et/ou datagrammes afin qu’elles soient contraintes de répondre avec plus d’informations qu’elles n’en ont reçues.
Pour imager, c’est comme parler dans un tunnel, la voix résonne et elle est amplifiée.

Pour cela, les attaquent utilisent des réflecteurs qui sont en général des serveurs offrant un service aux clients (DNS, NTP, SNMP, jeux, etc.).
Ils agissent alors comme multiplicateur de l’attaque par raisonnante.

On peut alors atteindre plusieurs millions de paquets par secondes.

Comment se protéger des attaques DDos UDP
Avec Iptables
La première contre mesure consiste à bêtement bloquer l’usage du protocole UDP. Sur Linux, vous pouvez bien sûr le faire avec iptables ensuite il suffit d’adapter à vos besoins, notamment pour en autoriser la sortie des requêtes DNS car sinon vous ne pourrez plus accéder à la résolution des noms de domaines.
iptables -A INPUT -i <interface> -m state --state ESTABLISHED,RELATED -s <ip_serveurdns> --protocol udp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o interface -m state --state NEW,ESTABLISHED,RELATED -d <ip_serveurdns> --protocol udp --destination-port 53 -j ACCEPT
Dans le cas, où le serveur abrite des applications utilisant le protocole UDP, ça se complique.
Vous pouvez commencer par limiter le nombre de connexions en UDP, par exemple :
iptables -N udp-flood
iptables -A OUTPUT -p udp -j udp-flood
iptables -A udp-flood -p udp -m limit --limit 50/s -j RETURN
iptables -A udp-flood -j LOG --log-level 4 --log-prefix 'UDP-flood attempt: '
iptables -A udp-flood -j DROP
Il faudra ensuite adapter au cas par cas en fonction des applications.
Dans le cas d’une attaque, il faudra filtrer les datagrammes légitimes et ceux de l’attaque.
Cette manipulation demande une certaine connaissance réseau et une certaine préparation.
Dans le cas d’une attaque massive et c’est en général le cas, si le nombre de paquets est supérieur à ce que netfilter est capable de gérer, alors c’est l’inondation et la noyade. À ce moment là, il faut se tourner vers l’hébergeur qui pourra peut-être et sous certaines conditions vous venir en aide. Ceci étant, souvent celui-ci effectuera un blocage du serveur et c’est justement là tout le problème des attaques DoS.
WaF et Protection DOS
Les protections DoS d’OVH offrent un pare-feu ( firewall ) qui permet d’établir des règles.
Si vous êtes chez OVH, vous pouvez donc filtrer le trafic UDP venant de l’internet en amont de votre serveur.
Attention toutefois, le firewall réseau ne bloque pas le traffic entre machines OVH (intra-ovh).
Si vous n’avez aucune utilité du protocole UDP, vous pouvez le bloquer sur le serveur OVH : Configurer le firewall réseau d’OVH pour protéger son VPS ou serveur dédié
Liens
- Les attaques DDoS : Le déni de service
- SYN Flood : Explications et Protections
- Les attaques DoS UDP (UDP flood) : Explications
- Qu’est-ce qu’une attaque DoS par amplification
- HTTP Flood : les attaques DoS visant les serveurs WEB
- Comment protéger son site WEB des attaques DoS Layer 7 (DoS L7)
- Cloudflare : comment protéger Nginx et WordPress des attaques DoS, piratages et bruteforce
- Iptables : bloquer SYN flood
- Protéger Nginx des attaques DoS et bruteforce
- Fail2ban : protéger son serveur des attaques DoS et Bruteforce
- Sécuriser et protéger WordPress contre les piratages ou hacks
- Le Web Firewall de Cloudflare : fonctionnement, configuration pour protéger son site internet
- Se protéger des attaques par brute force