Un sito che rallenta non è per forza sotto attacco. Può essere un plugin aggiornato male, un backup che gira all'ora sbagliata, un hosting sovraccarico o, per fortuna, un articolo che sta andando benissimo. Capire la causa giusta evita di perdere tempo sulla soluzione sbagliata.
Cos'è un attacco DDoS, in breve
DDoS sta per Distributed Denial of Service: tanti dispositivi, spesso computer e telecamere infettati e controllati a distanza, mandano richieste al tuo sito tutti insieme, finché il server o la connessione non reggono più.
Gli attacchi si dividono grosso modo in tre famiglie:
- volumetrici: riempiono la banda con enormi quantità di traffico, spesso "amplificato" sfruttando server mal configurati su Internet;
- di protocollo: aprono milioni di connessioni a metà (il classico SYN flood) per esaurire le risorse del server o del firewall;
- applicativi (o di livello 7): sembrano visite normali, ma sono migliaia di richieste a pagine pesanti, come la ricerca o l'accesso. Sono i più comuni contro siti e negozi online, e i più difficili da distinguere dal traffico vero.
Gli 8 segnali
1. Errori 502, 503 o 504
Il visitatore vede "Bad Gateway", "Service Unavailable" o "Gateway Timeout". Significa che il server web è su, ma l'applicazione dietro (PHP, Node, il database) non riesce a rispondere in tempo. È il sintomo più comune di un attacco applicativo, ma anche di un sito semplicemente sovraccarico.
2. CPU o memoria al 100% senza un motivo
Se il pannello dell'hosting mostra il processore al massimo a un'ora in cui di solito il sito è tranquillo, e non c'è un backup o un'importazione in corso, qualcosa sta chiedendo molto più lavoro del normale.
3. Tante richieste dagli stessi indirizzi
Nei log del server, poche righe dovrebbero ripetere lo stesso IP decine di migliaia di volte. Un visitatore vero apre qualche pagina al minuto, non cento al secondo.
4. Sempre la stessa pagina
Gli attacchi applicativi puntano quasi sempre alle pagine più costose per il server:
/wp-login.phpe/xmlrpc.phpsu WordPress;- la ricerca interna (
?s=,/search?q=), che interroga il database a ogni richiesta; - il carrello e il checkout dei negozi online;
- pagine con parametri sempre diversi (
/?a=38291,/?a=48122…), per aggirare la cache.
5. User agent strani o identici
Ogni browser si presenta con un "user agent". In un attacco trovi spesso user agent vuoti, strumenti automatici (python-requests, Go-http-client, curl) o lo stesso identico browser ripetuto migliaia di volte da IP diversi.
6. Traffico da paesi in cui non hai clienti
Un negozio che vende solo in Italia che all'improvviso riceve metà delle visite da paesi lontani ha un buon motivo per insospettirsi.
7. Nessuna immagine, nessun CSS
Un visitatore vero, quando apre una pagina, scarica anche immagini, fogli di stile e script. Molti bot chiedono solo la pagina HTML, migliaia di volte. Nei log lo vedi perché mancano le richieste ai file che accompagnano ogni pagina.
8. L'hosting ti scrive o sospende il sito
Negli attacchi più grossi è l'hosting ad accorgersene per primo: vede la sua rete saturata e a volte "stacca" il tuo sito per proteggere gli altri clienti. Se ricevi un'email del genere, l'attacco è di rete e da solo sul server puoi fare poco.
Attacco, hosting lento o troppo successo?
| Cosa vedi | Probabile causa |
|---|---|
| Picco di visite su pagine diverse, da fonti note (social, newsletter) | Successo: serve la cache, non un blocco |
| Sito lento sempre alla stessa ora | Backup, cron o attività pianificate |
| Sito lento dopo un aggiornamento | Plugin o tema, non un attacco |
| Migliaia di richieste a una sola pagina da pochi IP | Attacco applicativo |
| Connessione irraggiungibile, l'hosting segnala saturazione | Attacco di rete (volumetrico) |
Come controllare i log in due minuti
Se hai accesso al server, questi due comandi dicono già molto. Chi fa più richieste:
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head
Quali pagine vengono chieste di più:
awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head
Se non hai accesso ai log, il pannello dell'hosting di solito ha una sezione statistiche o "accessi". Dietro 1PrimeCDN trovi tutto nel pannello: richieste per paese, IP fermati e il motivo di ogni blocco, nella pagina Sicurezza.
Cosa fare se è un attacco
Se i segnali coincidono, non aspettare che passi da solo: gli attacchi possono durare minuti o giorni, e spesso tornano. Trovi i passaggi in ordine nella guida sito sotto attacco DDoS: cosa fare subito, oppure puoi scriverci dalla pagina d'emergenza.
E se ti accorgi che non è un attacco ma un sito che non regge il traffico, la soluzione passa dalla cache: ne parliamo in perché il sito è lento: il tempo al primo byte.
Vuoi un sito che regge anche sotto attacco?
1PrimeCDN mette il tuo sito dietro 8 nodi europei con cache, HTTPS e lo Shield contro bot e attacchi, a canone fisso dal 9,90 € al mese.