Scoprire che il proprio sito è stato violato mette fretta, e la fretta è il motivo per cui molti recuperi vanno male. Le prime ore contano, ma contano nell’ordine giusto: fare le cose nella sequenza sbagliata può cancellare le prove di come sono entrati, e senza quelle l’infezione torna.
Questa guida spiega come riconoscere una violazione, cosa fare per prima cosa e — soprattutto — cosa non fare.
Come capire se il sito è davvero compromesso
Non tutti i malfunzionamenti sono attacchi. Questi invece sono segnali concreti:
- Redirect verso siti che non c’entrano. Spesso solo da mobile, o solo per chi arriva da Google: chi apre il sito digitando l’indirizzo non vede nulla di strano. È fatto apposta perché il proprietario non se ne accorga.
- Google mostra l’avviso “Sito ingannevole” o “Sito non sicuro”. A quel punto il traffico crolla di colpo.
- Pagine che non hai mai creato, di solito in altre lingue e su temi lontanissimi dal tuo, che compaiono cercando
site:iltuosito.itsu Google. - Utenti amministratori che non riconosci nell’elenco utenti.
- Il server manda spam: te ne accorgi quando le email legittime iniziano a rimbalzare o finiscono nello spam, perché l’indirizzo del server è finito in blacklist.
- File PHP sconosciuti dove non dovrebbero esserci: nella cartella
uploads, che dovrebbe contenere solo immagini e documenti, oppure nella radice del sito. - L’hosting sospende il sito avvisando di attività anomale.
Le prime mosse, in ordine
1. Fai una copia dello stato attuale — sì, anche se è infetto
Sembra controintuitivo, ed è la mossa che quasi nessuno fa. Ma quella copia serve a due cose: se durante la pulizia si rompe qualcosa si può tornare indietro, e soprattutto contiene le tracce di come sono entrati. Chi cancella tutto e ripristina un backup pulito rimette in piedi il sito e lascia aperta la stessa porta.
2. Cambia tutte le password, non solo quella di WordPress
Amministratori WordPress, pannello dell’hosting, FTP/SFTP, database. Cambiarne una sola e lasciare le altre significa vederli rientrare il giorno dopo.
3. Rigenera le chiavi di sicurezza
In wp-config.php ci sono otto chiavi (AUTH_KEY, SECURE_AUTH_KEY e le altre). Sostituirle con valori nuovi invalida tutte le sessioni aperte: chi è entrato e sta navigando come amministratore viene buttato fuori all’istante. È un passaggio da trenta secondi che viene quasi sempre dimenticato.
4. Guarda i file modificati di recente
Via SSH:
find . -type f -name "*.php" -mtime -14 -ls
Elenca i file PHP toccati negli ultimi quattordici giorni. Su un sito che nessuno ha modificato, tutto quello che compare merita un’occhiata — in particolare sotto uploads, dove file PHP non dovrebbero proprio esistere.
5. Controlla dove si nascondono
I punti che vengono guardati per ultimi, e dove il codice malevolo sopravvive alle pulizie frettolose:
wp-content/mu-plugins/: i plugin qui dentro sono attivi sempre e non compaiono nell’elenco plugin. Se la cartella non l’hai creata tu, è un ottimo posto dove guardare.- Le attività pianificate di WordPress: un’attività che reinstalla la backdoor ogni notte rende inutile qualsiasi pulizia.
- Il database, non solo i file: nella tabella delle opzioni e negli articoli possono esserci script iniettati.
.htaccess: è lì che vivono i redirect condizionali che scattano solo per certi visitatori.- Il file
wp-config.php, spesso con codice aggiunto in fondo, sotto molte righe vuote per non farsi notare aprendo il file.
Gli errori che peggiorano la situazione
- Ripristinare un backup e considerarla chiusa. Se il backup è successivo alla violazione, l’infezione torna con lui. Se è precedente, hai perso il lavoro nel frattempo e la falla è ancora lì.
- Cancellare tutto e reinstallare da zero senza aver capito da dove sono entrati. Se il punto d’ingresso era un plugin vulnerabile che reinstalli, torni al punto di partenza.
- Installare tre plugin di sicurezza sperando che qualcuno trovi qualcosa. Su un sito già compromesso spesso non riescono nemmeno a funzionare, e nel frattempo appesantiscono un sito già in difficoltà.
- Non avvisare l’hosting. Loro vedono cose che tu non vedi — accessi FTP anomali, processi che partono di notte — e possono dirti da dove è arrivato l’attacco.
- Dimenticare Google. Dopo la pulizia va chiesto il riesame da Search Console, altrimenti l’avviso “sito non sicuro” resta anche a sito pulito.
Dopo la pulizia: chiudere la porta
Un sito ripulito ma non messo in sicurezza viene ricompromesso, spesso nel giro di giorni. Servono almeno:
- Tutto aggiornato, core, temi e plugin — nella grande maggioranza dei casi si entra da un componente non aggiornato con una vulnerabilità nota e pubblica.
- Rimuovere ciò che non si usa. Un tema disattivato e mai aggiornato è comunque codice raggiungibile dall’esterno.
- Autenticazione a due fattori sugli amministratori.
- Verifica dell’uscita dalle blacklist, o le email continueranno a non arrivare anche a sito sistemato.
- Monitoraggio, per accorgersi della prossima volta in ore invece che in settimane.
Quando chiamare qualcuno
Se il sito è un negozio, se raccoglie dati di clienti, se l’hosting l’ha sospeso, o se dopo la pulizia i sintomi tornano, conviene farlo fare a chi lo fa di mestiere. Non è una questione di capacità tecnica: è che una violazione richiede di sapere dove guardare, e quella conoscenza si costruisce vedendone molte.