Come capire se il proprio sito è stato “bucato” o compromesso
Vi trovate ad utilizzare il vostro sito normalmente, e all’improvviso qualcosa non va: visitandolo compare una pagina strana, diversa dal solito, spesso con pubblicità all’interno e riferimenti a siti per adulti. Quello che è successo, plausibilmente, è che il vostro sito è stato attaccato (hacked, in inglese) o defacciato (defaced, ovvero la sua home page è stata modificata): in altri termini qualcuno, dall’esterno, ha scovato informazioni tecniche sul vostro sito, effettuato alcuni test e finalmente è riuscito ad ottenere un accesso illecito. Ma come fare ad accorgersene?
I sintomi che devono insospettire sono numerosi, e possono variare notevolmente caso per caso: in prima istanza se non si riesce ad accedere alla home page, a qualcuna delle pagine interne, alla sezione amministrativa, è plausibile che in caso di attacco compaia:
- una pagina con scritte strane oppure la parola “hacked” al suo interno;
- una pagina che reindirizza ad un altro sito (se il vostro sito è miosito.it, tale indirizzo cambia improvvisamente), tipicamente su siti per adulti o di vendita farmaci, domini internet e così via;
- una pagina vuota (il sito potrebbe in questo caso essere stato compromesso o addirittura cancellato).
1) Al posto del sito compare una pagina non creata da voi (a volte con la parola “hacked” al suo interno)
Cosa è (probabilmente) successo: come riportato in questo esempio un intruso è plausibilmente riuscito ad eseguire comandi di basso livello (a livello PHP o addirittura Unix/Linux) manipolando la homepage ed inserendo al suo posto un file arbitrario a propria scelta. Alcuni possibili schermate sono indicate a questo link,e servono a capire se il caso in cui vi trovate sia in qualche modo simile.
Cosa fare: in questi casi è consigliabile effettuare un backup del sito via FTP / PHPMyAdmin (la procedura per farlo su WordPress vale per la maggioranza dei CMS dinamici), ripulirlo in locale (sia a livello di database che di file PHP, ad esempio scovando eventuali backdoor), verificare che tutto funzioni in locale (ricordandosi di modificare i file di configurazione per farlo funzionare in locale), controllare che non ci siano rallentamenti ed anomalie e ricaricare il sito in rete. Bisognerà avere l’accortezza, inoltre, di cambiare tutte le password degli utenti, eliminare eventuali pagine aggiunte illecitamente e controllare con grande attenzione che sia tutto a posto e non ci siano anomalie.
Attenzione che, in queste circostanze, errori con codice esplicito del server (ad esempio errore 404, 500 e così via: vedi qui) possono essere più probabilmente problemi di configurazione che riguardano il vostro sito web, e non sono quindi necessariamente degli “attacchi” come li stiamo intendendo.
2) Pagina che reindirizza ad un altro sito
Cosa è (probabilmente) successo: anche qui, è possibile che un intruso sia riuscito ad eseguire comandi di basso livello (a livello PHP o addirittura Unix/Linux) manipolando la homepage ed imponendo un redirect ad un sito spam o di bassa qualità (ad esempio manipolando il file .htaccess). Un estraneo è quindi riuscito ad entrare nel vostro sito, forse indovinando una password banale o per tentativi basati su dizionario o brute force. Questo problema può dipendere comunque da una molteplicità di fattori, tra cui il cosiddetto DNS spoofing ed il DNS poisoning: in certi casi, inoltre, un errore nella configurazione del Name Server (ad esempio qualora esso sia stato cambiato a vostra insaputa) provoca problemi di questo genere.
Cosa fare: in questi casi è consigliabile verificare se la configurazione dei DNS e dei NameServer e corretta, ed informare del problema il vostro provider; solitamente questo genere di attacchi sono relativamente più “leggeri” perchè, di fatto, i file ed il database del sito rimane integro, per quanto il portale non riesca più a funzionare. Poi si deve effettuare un backup del sito via FTP / PHPMyAdmin (la procedura per farlo su WordPress vale per la maggioranza dei CMS dinamici), ripulirlo in locale (sia a livello di database che di file PHP, ad esempio scovando eventuali backdoor), verificare che tutto funzioni in locale (ricordandosi di modificare i file di configurazione per farlo funzionare in locale), controllare che non ci siano rallentamenti ed anomalie e ricaricare il sito in rete. Bisognerà avere l’accortezza, inoltre, di cambiare tutte le password degli utenti, eliminare eventuali pagine aggiunte illecitamente e controllare con grande attenzione che sia tutto a posto e non ci siano anomalie. Si ricorda che se si interviene sul DNS è necessario attendere almeno qualche ora prima che i valori corretti si siano propagati.
3) Pagina vuota al posto della consueta home
Cosa è (probabilmente) successo: è possibile che un intruso sia riuscito ad eseguire comandi di basso livello (a livello PHP o addirittura Unix/Linux) cancellando tutti i file del vostro sito, eliminando la home page, spostandola in un’altra locazione e così via.
Cosa fare: in questi casi dovrete recuperare necessariamente una vecchia copia in locale del sito, in caso contrario – purtroppo – sarete costretti a rifare da zero il vostro sito. Questo serve a ricordare a tutti l’importanza di disporre di backup sempre aggiornati, di avere password alla root di SSH ed alla sezione amministrativa molto difficile e poco ovvia, ed aggiornare periodicamente il vostro sito.
Altre casistiche e tool di verifica
I casi di attacchi ai siti sono frequenti quanto variegati, e può darsi che non siano assimilabili a nessuno dei casi ivi riportati: potete comunque sfruttare il webmaster tools di Google (che segnala i malware sul vostro sito), il tool Sucuri, Google Analytics (in caso troviate traffico anomalo in entrata in quantità improvvisa può darsi sia stato un tentativo di (D)DoS). Esistono anche numerosi tool che permettono, prima che succedano questi problemi, come Better WP Security che permette di proteggere il proprio sito, almeno in buona parte.
Scusa, a mè è capitato il caso 3, cioè mi hanno cancellato tutti i file ma non le cartelle presenti sul sito; ora mi chiedo se ripristino con un backup precedente, sono infetto e quindi soggetto a nuovo attacco oppure il malintenzionato ha solo eseguito un comando e quindi il mio cms è pulito?
Ciao Filippo, puoi senz’altro ricaricare un versione pulita dal tuo backup il problema però rimane perché se qualcuno è riuscito ad entrare nel tuo sto è perché sicuramente ha sfruttato una qualche vulnerabilità. Quindi una volta ricaricato il sito è necessario aggiornare la piattaforma, plugin/moduli e temi. Inoltre è necessario eliminare tutto ciò che non si usa ed installare dei componenti di sicurezza che aiutino a prevenire questi eventi.
Saluti