Un sito web compromesso richiede tre cose, in quest'ordine: contenerlo, scoprire come sono entrati, poi ricostruirlo pulito. Farle in un ordine diverso è il modo in cui i siti vengono reinfettati nel giro di un giorno.
Segui questa pagina dall'inizio. Non dà nulla per scontato su come sia avvenuto l'attacco.
Non limitarti a eliminare i file sospetti e ad andare avanti. Quasi ogni compromissione lascia più di una via per rientrare: una seconda backdoor, un account amministratore non autorizzato, un'attività pianificata o un file del core modificato. Rimuovere il sintomo visibile e fermarsi lì è il motivo più comune per cui un sito viene colpito di nuovo nella stessa settimana.
Segnali che sei davvero compromesso
- I risultati di ricerca mostrano pagine di farmaci, gioco d'azzardo o in lingue straniere che non hai mai scritto.
- I visitatori vengono reindirizzati altrove, spesso solo da dispositivi mobili o solo dai motori di ricerca.
- Un browser o un motore di ricerca mostra un avviso per il tuo dominio.
- Compaiono file con nomi o date di modifica che non sai spiegare.
- Il tuo sito invia spam, oppure il tuo dominio inizia a essere rifiutato dai fornitori di posta.
- Esiste un account amministratore che nessuno ha creato.
Non tutti questi segnali indicano un attacco. Un sito che è semplicemente lento o che genera errori dipende più spesso da un conflitto tra plugin o da un limite di risorse. Se è tutto ciò che vedi, consulta prima Il sito web non si carica.
Passaggio 1: contenere il problema
Metti il sito offline prima di indagare. Ogni minuto in cui resta pubblico è un danno in più alla tua reputazione, al tuo posizionamento nei motori di ricerca e ai tuoi visitatori.
Il modo più rapido per farlo senza eliminare nulla è la protezione con password, che mette un login davanti all'intero sito a livello di server web:
- Vai su Siti web e apri il sito.
- Apri la scheda Protezione con password.
- Attivala e imposta un nome utente e una password.
Ora il sito mostra una richiesta di credenziali a ogni visitatore, attaccante compreso, mentre tu mantieni l'accesso completo tramite il pannello, SFTP e SSH.

Se conosci l'indirizzo IP dell'attaccante, aggiungilo anche alla Lista di blocco IP nella scheda Sicurezza del sito.
Non eliminare il sito e non ripristinare ancora nulla. Lo stato attuale è l'unica prova di come ha funzionato l'attacco. Esegui ora un backup del sito compromesso, etichettalo chiaramente come infetto e conservalo separatamente. Potrebbe servirti.
Passaggio 2: capire come sono entrati
Le risposte realistiche sono poche, e ognuna cambia ciò che farai dopo.
Controlla il registro di audit del pannello. Vai su Impostazioni, poi Account, poi Visualizza registro. Azioni attribuite al tuo team da un indirizzo IP che nessuno di voi usa significano che è stato raggiunto il tuo stesso account KapsuleHost. Si tratta di un incidente molto più grave: consulta Sicurezza dell'account e considera compromesso anche l'account. La scheda Attività del sito riporta le modifiche fatte tramite il pannello.
Controlla i log degli errori e degli accessi nella scheda Log del sito. Richieste ripetute a un singolo percorso di un plugin, o una raffica di POST verso un endpoint di caricamento, di solito indicano la via d'ingresso. Consulta Leggere i log degli errori.
Esegui una scansione malware nella scheda Sicurezza del sito. Consulta Individuare e rimuovere il malware per sapere come leggere il risultato.
Controlla cosa non era aggiornato. Un plugin, un tema o una versione del core non aggiornati sono di gran lunga il punto d'ingresso più comune. Consulta Mantenere WordPress aggiornato.
Passaggio 3: ricostruire pulito
Ci sono due modi per ritrovarsi con un sito pulito, e solo uno dei due è affidabile.
Il modo affidabile: ripristinare un backup eseguito prima della compromissione
Stabilisci dai log quando è iniziata approssimativamente la compromissione, poi ripristina un backup eseguito con ampio margine prima di quella data.
- Vai alla pagina Backup del sito.
- Scegli un backup precedente all'infezione.
- Ripristinalo prima in staging. La finestra di ripristino propone lo staging come impostazione predefinita, di proposito.
- Controlla la copia di staging: nessun file sconosciuto, nessun utente amministratore sconosciuto, nessun reindirizzamento.
- Quando sei soddisfatto, ripristina sul live. Il ripristino sul live richiede di digitare il nome del dominio per confermare.
Consulta Ripristinare da un backup per i dettagli, incluso come ripristinare separatamente i file e il database.
Sui siti WordPress e WooCommerce con database gestito, il ripristino temporale nella scheda PITR del sito può riportare il database a un minuto specifico anziché all'ultimo backup notturno. Questo è importante quando altrimenti perderesti un giorno di ordini.
Un ripristino riporta indietro tutto, compresi i contenuti legittimi e gli ordini creati dopo l'esecuzione di quel backup. Prima di ripristinare, esporta dal sito attuale i dati che devi conservare, e tieni presente che i contenuti esportati da un sito compromesso possono a loro volta contenere codice iniettato. Esaminali prima di importarli.
Il modo inaffidabile: ripulire sul posto
Se non hai un backup pulito, devi ripulire il sito a mano. Sii onesto con te stesso su quanto debba essere accurato questo lavoro.
- Metti in quarantena ogni file segnalato dalla scansione malware. Consulta Individuare e rimuovere il malware.
- Sostituisci il core di WordPress, ogni plugin e ogni tema con copie nuove scaricate dalla fonte, invece di aggiornarli sul posto.
- Elimina ogni plugin o tema che non usi attivamente. Il codice inattivo viene comunque eseguito quando è raggiungibile.
- Esamina i file che lo scanner non copre:
.htaccess,wp-config.phpe qualsiasi elemento nella cartella dei caricamenti che non sia un'immagine. - Controlla le attività pianificate nella scheda Cron job del sito per individuare job che non hai creato.
- Controlla il database alla ricerca di contenuti iniettati, in particolare nelle opzioni e nel contenuto degli articoli.
Passaggio 4: cambiare ogni credenziale
Dai per scontato che tutto ciò che il sito poteva raggiungere sia stato sottratto.
- Password degli amministratori WordPress. Reimpostale tutte dalla scheda WordPress del sito, forza la disconnessione di ogni utente in modo che i cookie di sessione rubati smettano di funzionare ed elimina le password per le applicazioni che non hai creato tu. Consulta Reimpostare una password di WordPress.
- Account amministratore sconosciuti. Eliminali e declassa ogni account che non ha bisogno dei diritti di amministratore.
- Credenziali del database, nella scheda Database del sito.
- Account SFTP nella scheda SFTP del sito. Eliminarne uno chiude le sue sessioni aperte.
- Chiavi SSH nella scheda Accesso SSH del sito. Rimuovi ogni chiave che non riconosci.
- La tua password KapsuleHost, e revoca le chiavi API che non hai creato tu. Consulta Chiavi API e accesso per sviluppatori.
Passaggio 5: rimettere online il sito e rafforzarlo
Quando sei sicuro che il sito sia pulito, disattiva la protezione con password e rendilo di nuovo accessibile a tutti.
Poi chiudi la porta che era rimasta aperta:
- Mantieni tutto aggiornato. Consulta Mantenere WordPress aggiornato e Gestire i plugin.
- Attiva le protezioni di sicurezza nella scheda Sicurezza del sito: protezione dagli attacchi di forza bruta, filtraggio per paese e lista di blocco IP.
- Attiva l'autenticazione a due fattori sul tuo account KapsuleHost e sugli account amministratore del sito stesso.
- Esegui un nuovo backup del sito ora sicuramente pulito. Consulta Eseguire un backup.
- Valuta la conservazione estesa dei backup, così anche una compromissione che non noti per settimane resta recuperabile.
Quando coinvolgere l'assistenza
Apri un ticket di assistenza se si verifica uno di questi casi:
- La compromissione è avvenuta tramite il tuo account KapsuleHost anziché tramite il sito.
- Il tuo sito invia spam, oppure la tua reputazione di invio ne ha risentito.
- Non hai un backup utilizzabile e non riesci a ripulire il sito.
- Il tuo account o il tuo sito è stato sospeso. Consulta Perché il tuo account è stato sospeso.
- Ritieni che il sito di un altro cliente stia attaccando il tuo. Consulta Segnalare un abuso.
Indica cosa hai trovato, quando te ne sei accorto per la prima volta e cosa hai già cambiato. Più dettagli della tua indagine puoi condividere, più rapida sarà la risposta.
Risoluzione dei problemi
I motori di ricerca mostrano ancora un avviso per il sito. Richiedi una revisione tramite i loro strumenti per webmaster quando il sito è davvero pulito. Questo è al di fuori del nostro controllo.
Il problema è tornato dopo che ho ripulito il sito. Ti è sfuggita una backdoor, oppure una credenziale che non hai cambiato è ancora valida. Ripristina invece un backup pulito e cambia ogni credenziale come indicato nel passaggio 4.
La scansione dice che è tutto pulito, ma il sito è chiaramente compromesso. La scansione dei file rileva codice dannoso noto, non record iniettati nel database. Fai un confronto con un backup e controlla il database.
Non riesco ad accedere per sistemarlo. Usa SFTP o SSH anziché il login dell'applicazione, che l'attaccante potrebbe aver modificato. Consulta Accesso SFTP e File Manager.