Qu'est-ce qu'une attaque DDoS Memcached ?
Une attaque DDoS Memcached est une attaque par réflexion et amplification. Les attaquants envoient de petites requêtes UDP dont l'adresse source est falsifiée, celle de la victime, à des serveurs Memcached accessibles depuis Internet. Ces serveurs répondent à la victime par des données bien plus volumineuses. La victime est submergée par un trafic qu'elle n'a jamais demandé, tandis que les vrais émetteurs restent cachés derrière les réflecteurs.
Comment ça fonctionne
- Memcached est un cache en mémoire que les applications utilisent pour garder à portée de main les données lues souvent. Il est conçu pour un réseau privé.
- Certains serveurs ont été laissés exposés à Internet avec UDP activé sur le port 11211 et sans authentification.
- UDP ne vérifie pas l'émetteur : un attaquant peut falsifier l'adresse source. Le serveur répond à cette adresse.
- Une petite requête peut déclencher une très grosse réponse, de sorte que le trafic reçu par la victime est un multiple de ce qui a été envoyé. Le tableau d’amplification de bande passante de l’US-CERT place Memcached entre 10 000 et 51 000 fois, la valeur la plus élevée de sa liste.
Exemple réel
Le 28 février 2018, GitHub a subi une attaque qui a culminé à 1,35 Tbit/s (126,9 millions de paquets par seconde) et dont le facteur d'amplification a été rapporté jusqu'à 51 000. Selon son rapport d’incident, le site a été totalement indisponible de 17 h 21 à 17 h 26 UTC puis par intermittence jusqu'à 17 h 30 UTC, avant de basculer son trafic sur le réseau périphérique d'Akamai et de filtrer à sa frontière. Le projet Memcached avait publié la veille, le 27 février 2018, la version 1.5.6, qui désactive UDP par défaut.
Comment se défendre
Ces mesures concernent vos propres serveurs et votre propre réseau.
- Ne pas exposer Memcached à Internet. Le lier à localhost ou à une interface privée et bloquer le port 11211 dans le pare-feu ou le groupe de sécurité.
- Désactiver UDP si vous n'en avez pas besoin (désactivé par défaut depuis Memcached 1.5.6).
- Utiliser l'authentification SASL ou ne rendre le cache accessible que depuis la couche applicative.
- Opérateurs réseau : filtrer le trafic usurpé en bordure. Le filtrage en entrée (BCP 38) empêche les adresses source falsifiées de quitter le réseau, ce qui supprime la condition préalable de la réflexion.
- Victimes : s'appuyer sur une protection en amont. Un flux de 1 Tbit/s ne s'absorbe pas avec un seul serveur ou un seul lien. Recourez à un fournisseur de protection DDoS ou de CDN et gardez sous la main le contact d'urgence de votre FAI. La CISA suggère aussi le blackholing déclenché à distance avec les fournisseurs en amont.
La marche à suivre générale figure dans comment stopper les attaques DDoS et protection contre le déni de service.
Erreurs courantes
- Croire qu'un cache est « interne » et ne jamais vérifier quels ports donnent sur Internet.
- Se fier à la configuration par défaut de versions anciennes, où UDP était actif.
- Penser que son propre pare-feu absorbera une attaque volumétrique. Quand les paquets y arrivent, le lien est déjà saturé.
- Ne pas s'apercevoir que son serveur sert de réflecteur. Un trafic UDP sortant inhabituel depuis un hôte de cache est un signal d'alerte.
Attaques voisines
L'abus de Memcached suit le même schéma que l'attaque par amplification DNS et fait partie des attaques volumétriques décrites dans le déni de service distribué. Les inondations UDP simples envoient le trafic directement au lieu de le réfléchir.
Où LoadFocus intervient
LoadFocus ne simule jamais d'attaques et ne reproduit pas l'amplification Memcached : il s'agit de trafic UDP réfléchi que seuls votre opérateur réseau ou votre fournisseur de protection DDoS peuvent absorber. Les tests de charge de LoadFocus envoient du trafic HTTP et HTTPS vers des systèmes que vous avez le droit de tester et montrent quelle charge légitime votre application encaisse. Pour la différence entre test de charge et test de stress, voir test de charge ou test de stress.
Questions fréquentes : attaques DDoS Memcached
Quel port une attaque DDoS Memcached utilise-t-elle ?
Le port UDP 11211, le port par défaut de Memcached. Le bloquer depuis Internet ferme la voie principale.
Mon site est-il menacé si j'utilise Memcached ?
Vous risquez d'être utilisé comme réflecteur si Memcached est joignable depuis Internet avec UDP actif. Vous risquez d'être une victime comme n'importe quel autre site. Lier le cache à une interface privée règle le premier problème.
Quelle taille ces attaques peuvent-elles atteindre ?
GitHub a mesuré 1,35 Tbit/s le 28 février 2018, avec un facteur d'amplification rapporté jusqu'à 51 000. Les tailles évoluent : tout chiffre est un instantané.
Le correctif de 2018 a-t-il réglé le problème ?
La version 1.5.6 a désactivé UDP par défaut, ce qui aide les nouvelles installations. Les anciennes versions et les serveurs où UDP est activé explicitement restent exploitables, d'où l'importance des règles de pare-feu.
Puis-je tester mes défenses avec LoadFocus ?
Non. LoadFocus ne génère pas de trafic d'attaque ; il teste le comportement de votre application sous charge HTTP légitime. Les tests de résilience DDoS exigent la procédure de votre fournisseur de protection et une autorisation écrite.
Termes associés
- Qu'est-ce qu'une attaque DDoS par inondation UDP ?
- Qu'est-ce qu'une attaque DDoS applicative ?
- Qu'est-ce qu'une attaque DDoS par inondation HTTP ?
- Qu'est-ce que la protection contre le déni de service (DoS) ?
- Qu'est-ce qu'une attaque par déni de service distribué (DDoS) ?
- Attaques DDoS
- Comment stopper les attaques DDoS : guide pratique
- Attaque par amplification DNS : définition
Outils LoadFocus connexes
Mettez ce concept en pratique avec LoadFocus, la plateforme même qui propulse tout ce que vous venez de lire.