Nel panorama delle minacce informatiche, esistono attacchi che sfruttano la forza bruta e altri che sfruttano l’intelligenza delle infrastrutture esistenti. Il Memcached DDoS Attack appartiene a una categoria particolarmente insidiosa: gli attacchi di amplificazione.
Negli ultimi anni, questa tecnica ha ridefinito il concetto di “potenza di fuoco” digitale, arrivando a generare volumi di traffico che prima si credevano impossibili. Ma cos’è esattamente, come funziona e, soprattutto, come possiamo proteggerci?
Cos’è Memcached?
Per capire l’attacco, dobbiamo prima capire lo strumento. Memcached è un sistema di caching di memoria distribuito, estremamente popolare e open-source. Il suo scopo è nobile: velocizzare le applicazioni web caricando i dati temporanei nella RAM, evitando così di sovraccaricare il database principale.
Tuttavia, Memcached è stato progettato per la velocità e la semplicità, non per la sicurezza intrinseca verso l’esterno. Molte istallazioni legacy sono state configurate con la porta 11211 aperta e accessibile pubblicamente, spesso utilizzando il protocollo UDP (User Datagram Protocol). È proprio qui che si nasconde il punto debole.
L’anatomia dell’attacco: Il potere dell’amplificazione
L’attacco Memcached è una variante del Distributed Denial of Service (DDoS) che utilizza una tecnica chiamata UDP Reflection. Il processo si divide in quattro fasi critiche:
- Il Caricamento (The Payload): L’attaccante identifica un server Memcached esposto su Internet. Inizia inserendo (tramite una normale operazione “set”) un pacchetto di dati molto grande nella cache del server
- L’Inganno (IP Spoofing): A questo punto, l’hacker invia una piccola richiesta di “get” (recupero dati) al server Memcached. Il trucco fondamentale è lo spoofing: l’attaccante modifica l’indirizzo IP del mittente della richiesta, inserendo quello della sua vittima. Il server Memcached crede quindi che la richiesta provenga dal bersaglio dell’attacco
- L’Esplosione (The Amplification): Memcached risponde alla richiesta inviando i dati precedentemente memorizzati. Poiché il protocollo UDP non richiede un handshake per verificare l’identità, il server invia i dati direttamente all’IP della vittima. l fattore di amplificazione è mostruoso: una richiesta di pochi byte può generare una risposta migliaia di volte più grande. In alcuni casi, il rapporto è stato misurato fino a 50.000:1
- Lo Tsunami Digitale: Moltiplicando questo processo per centinaia o migliaia di server Memcached vulnerabili sparsi nel mondo, la vittima viene investita da un volume di traffico nell’ordine dei Terabit al secondo (Tbps), che satura istantaneamente qualsiasi banda passante, rendendo il sito o il servizio inaccessibile
Di seguito una semplice infografica che spiega questo tipo di attacco

Si ha avuto coscienza della pericolosità di questo attacco nel febbraio 2018, quando GitHub è stato colpito da un attacco Memcached che ha raggiunto il picco di 1.35 Tbps. È stato uno degli attacchi DDoS più potenti della storia documentata. Grazie a sistemi di protezione avanzati, GitHub è tornato online in pochi minuti, ma l’evento ha dimostrato che nessuno è immune se non adeguatamente protetto.
Come difendersi
Se si gestisce un server o un’infrastruttura web, la responsabilità di non diventare una “pedina” in questi attacchi è fondamentale. Ecco i passi da seguire:
- Disabilitare UDP: a meno che non ci sia un motivo tecnico imprescindibile, configurare Memcached per ascoltare solo su TCP. Il protocollo TCP richiede una connessione verificata, rendendo impossibile lo spoofing per l’amplificazione. Puoi farlo aggiungendo -U 0 ai parametri di avvio
- Firewalling e Isolamento: un server Memcached non dovrebbe mai essere esposto direttamente su Internet. Configurare il firewall (come iptables o ufw) per accettare connessioni sulla porta 11211 solo da indirizzi IP fidati (es. i server applicativi)
- Binding all’interfaccia locale: configurare Memcached per ascoltare solo su localhost (127.0.0.1) o su un’interfaccia di rete privata, modificando il file di configurazione con l’istruzione -l 127.0.0.1
- Monitoraggio costante: utilizzare strumenti di analisi del traffico per individuare picchi anomali di pacchetti in uscita
Quindi, per mettere in sicurezza un server Memcached, la configurazione deve mirare all’isolamento totale del servizio, impedendo che possa essere usato per attacchi DDoS. Il file di configurazione principale si trova solitamente in /etc/memcached.conf. Ecco di seguito i parametri fondamentali per una configurazione sicura
# Esegui memcached come demone
-d
# Log degli errori
logfile /var/log/memcached.log
# 1. DISABILITARE UDP (Fondamentale per prevenire attacchi DDoS)
# Il valore 0 disattiva completamente l'ascolto sulla porta UDP
-U 0
# 2. LIMITARE L'ACCESSO AL LOCALHOST
# In questo modo solo le applicazioni residenti sullo stesso server possono accedere
-l 127.0.0.1
# 3. DEFINIRE LA PORTA TCP (Default 11211)
-p 11211
# 4. LIMITARE LA MEMORIA (Esempio 64MB)
-m 64
# 5. UTENTE DI ESECUZIONE
-u memcachedopo aver modificato la configurazione è necessario riavviare il servizio
sudo systemctl restart memcachedassicurarsi che il server sia protetto e non stia più “ascoltando” richieste UDP dall’esterno, eseguendo questo comando:
ss -ntulp | grep memcachedcome risultato ci deve essere solo una riga TCP legata a 127.0.0.1:11211. Se sono ancora presenti righe con UDP o con l’indirizzo 0.0.0.0, il server è ancora vulnerabile.
Se la tua infrastruttura è complessa e richiede l’accesso da più server, non limitarti all’indirizzo IP ma abilita anche l’autenticazione SASL (Simple Authentication and Security Layer).
Conclusione
L’attacco Memcached ci ricorda che la velocità non deve mai andare a discapito della sicurezza. Sebbene i moderni provider cloud abbiano implementato protezioni a livello di rete per mitigare questi rischi, migliaia di server configurati male rimangono potenziali “armi” dormienti.
