DDoS par amplification UDP : les ports utilisés en réflexion
Comment les attaques DDoS par réflexion et amplification abusent des services UDP comme DNS, NTP, SNMP, SSDP et Memcached, avec facteurs d'amplification et parades.
Les attaques par déni de service distribué n'ont plus besoin d'un botnet gigantesque. Avec la réflexion et l'amplification, un attaquant transforme des serveurs UDP ordinaires et mal configurés en multiplicateur de force : il envoie de minuscules requêtes qui déclenchent d'énormes réponses dirigées vers une victime. Cet article explique le fonctionnement de la technique, quels ports UDP sont abusés, et comment garantir que votre propre infrastructure ne soit jamais le réflecteur.
Comment fonctionnent réflexion et amplification
UDP est sans connexion : il n'y a pas de poignée de main, donc un serveur ne peut pas vérifier qui a réellement envoyé une requête. Un attaquant exploite cela en deux étapes :
- Réflexion — l'attaquant usurpe l'adresse IP de la victime comme source d'une requête UDP et l'envoie à un serveur public. La réponse du serveur va vers la victime, pas vers l'attaquant.
- Amplification — l'attaquant choisit un protocole où une petite requête produit une grande réponse. Le rapport entre les deux est le facteur d'amplification. Une requête de 60 octets qui génère une réponse de 6 000 octets donne une amplification de 100x.
Combinez les deux sur des milliers de serveurs ouverts et un lien modeste devient un déluge de plusieurs centaines de gigabits. Vous pouvez parcourir tous les ports pour rechercher tout service UDP que vous trouvez répondant sur l'Internet public.
Les ports UDP utilisés en réflexion
Voici les amplificateurs classiques. Chacun renvoie vers sa page de référence ProtocolPorts :
| Port | Service | Amplification typique |
|---|---|---|
| port 7 | Echo | ~2-3x |
| port 19 | CharGEN | ~358x |
| port 53 | DNS | ~28-54x |
| port 123 | NTP (monlist) | ~556x |
| port 161 | SNMP | ~6-9x |
| port 389 | CLDAP | ~56-70x |
| port 1900 | SSDP | ~30x |
| port 3702 | WS-Discovery | ~150x |
| port 5353 | mDNS | ~10x |
| port 5683 | CoAP | ~10-50x |
| port 11211 | Memcached | ~10 000-51 000x |
| port 27015 | Steam / requête Source | ~5x |
DNS, NTP et SNMP
Port 53 (DNS) est l'un des plus anciens réflecteurs : un résolveur récursif ouvert répond à tout le monde, et une requête courte peut renvoyer une réponse volumineuse. Port 123 (NTP) a été dévastateur grâce à la commande monlist, qui renvoie les 600 derniers clients dans un seul paquet pour une requête minuscule. Les requêtes GetBulk de port 161 (SNMP) peuvent extraire de grandes tables des équipements réseau.
SSDP, mDNS, WS-Discovery et CLDAP
Les protocoles de découverte sont partout sur les réseaux grand public et d'entreprise. Port 1900 (SSDP) fuit depuis les périphériques UPnP exposés, port 5353 (mDNS) et port 3702 (WS-Discovery) depuis les imprimantes et caméras, et port 389 (CLDAP) depuis les serveurs d'annuaire mal configurés — tous répondant avec bien plus de données qu'ils n'en reçoivent.
Le détenteur du record : Memcached
Port 11211 (Memcached) a produit la plus forte amplification jamais observée — jusqu'à environ 50 000x. Une seule requête de 15 octets pouvait renvoyer des mégaoctets de données stockées, c'est ainsi que furent construites les attaques de 1,3 Tbps de 2018. Memcached ne devrait jamais écouter sur UDP ni être exposé à Internet.
CharGEN, Echo, CoAP et serveurs de jeu
Les diagnostics hérités comme port 19 (CharGEN) et port 7 (Echo) existent encore sur de vieux équipements et amplifient bien. Des protocoles IoT plus récents comme port 5683 (CoAP) et les requêtes de serveurs de jeu sur port 27015 complètent la liste.
Comment éviter de servir de réflecteur
Vous ne pouvez pas contrôler les attaquants, mais vous pouvez vous assurer que vos serveurs ne soient pas l'arme :
- N'exposez pas ces services UDP à Internet. Liez-les à des interfaces privées et restreignez l'accès aux réseaux de confiance.
- Désactivez les fonctions abusables — coupez
monlistde NTP, désactivez la récursion DNS sur les serveurs autoritaires, et ne lancez jamais Memcached sur UDP. - Appliquez BCP38 / la validation d'adresse source à la frontière de votre réseau pour que les paquets usurpés revendiquant l'IP d'autrui ne puissent pas en sortir. Cela tue la réflexion à la source.
- Limitez le débit des réponses (par exemple DNS RRL) lorsque le service doit rester public.
Conclusion
La réflexion et l'amplification transforment des services UDP utiles et sans connexion en canons à DDoS. Les ports ci-dessus — de DNS et NTP au Memcached qui bat tous les records — sont abusés précisément parce qu'ils répondent à des inconnus avec des réponses surdimensionnées. Gardez-les hors de l'Internet public, désactivez les fonctions qui les rendent dangereux, et adoptez BCP38 pour que votre réseau ne puisse jamais usurper. Vous protégez ainsi à la fois vos victimes potentielles et votre propre facture de bande passante.