Per mantenere il tuo sito pulito ed evitare futuri attacchi, devi disporre di quanto segue:
- Accesso amministrativo tramite shell o terminale ai server del tuo sito: web, database, file
- Conoscenza dei comandi della shell o del terminale
- Conoscenza del codice (come PHP o JavaScript)
- Spazio di archiviazione per creare backup del sito, inclusi file, database e immagini
Azioni successive
In questo passaggio verranno trattati diversi argomenti:
- Dove individuare risorse aggiuntive se ritieni che l'hacker abbia intenzione di ottenere le informazioni personali degli utenti (ad esempio tramite pagine di phishing).
- L'opzione per utilizzare lo strumento Rimuovi URL in Search Console per velocizzare la rimozione di URL completamente nuovi, indesiderati e visibili agli utenti creati dall'hacker che non vuoi che vengano visualizzati nei risultati della Ricerca Google.
- L'opzione per chiedere a Google di ripetere la scansione degli URL in Search Console per velocizzare l'elaborazione da parte di Google delle pagine pulite, ovvero di pagine nuove o aggiornate di recente, che vuoi mostrare nei risultati della Ricerca Google.
- Installazione della versione più recente e sicura del software.
- Rimozione di applicazioni o plug-in non necessari o inutilizzati che potrebbero rendere il tuo sito più vulnerabile in futuro.
- Ripristino dei contenuti non conformi ed eliminazione dei contenuti dell'hacker.
- Correggere la vulnerabilità della causa principale sfruttata dall'hacker.
- Modifica di tutte le password.
- Pianificazione per mantenere il tuo sito sicuro.
1. Trovare le risorse di assistenza
Se informazioni utente riservate sono state ottenute dal tuo sito (ad esempio, perché facevano parte di un attacco di phishing), ti consigliamo di prendere in considerazione eventuali responsabilità aziendali, normative o legali prima di iniziare a pulire il tuo sito o di eliminare file. In caso di phishing, antiphishing.org offre risorse utili, come il suo documento Cosa fare se il tuo sito è stato compromesso da phishing.
2. Valuta l'ipotesi di accelerare la rimozione degli URL creati dall'hacker
Se l'hacker ha creato URL completamente nuovi visibili agli utenti, puoi rimuovere queste pagine dai risultati della Ricerca Google più rapidamente utilizzando la funzionalità Rimuovi URL in Search Console. Questo passaggio è facoltativo. Se elimini semplicemente le pagine e poi configuri il server in modo che restituisca un codice di stato 404, le pagine scompariranno naturalmente dall'indice di Google nel tempo.
- La decisione di utilizzare la rimozione degli URL dipenderà probabilmente dal numero di nuove pagine indesiderate create (troppe pagine potrebbero essere complicate da includere nella rimozione degli URL), nonché dal potenziale danno che queste pagine potrebbero causare agli utenti. Per evitare che le pagine inviate tramite la rimozione degli URL vengano visualizzate nei risultati di ricerca, assicurati che siano configurate anche per restituire una risposta 404 File non trovato per gli URL indesiderati e rimossi.
- Non utilizzare questo strumento per richiedere la rimozione di pagine precedentemente valide che sono state danneggiate solo dall'hacker. Queste pagine devono essere visualizzate nei risultati di ricerca dopo la pulizia. La rimozione dell'URL è solo per le pagine che non vuoi mai che vengano visualizzate nei risultati.
3. Valuta l'ipotesi di accelerare l'elaborazione delle pagine pulite da parte di Google
Se hai pagine nuove o aggiornate prive di problemi, puoi chiedere a Google di ripetere la scansione dei tuoi URL in Search Console per inviarle all'indice di Google. Questo passaggio è facoltativo. Se lo salti, le pagine nuove o modificate verranno probabilmente sottoposte a scansione ed elaborate nel tempo.
4. Avvia la pulizia del/i server.
È arrivato il momento di iniziare a ripulire il sito in base alle note che hai preso durante la valutazione dei danni e l'identificazione della vulnerabilità. Il percorso da seguire in questo passaggio dipende dal tipo di backup di cui disponi:
- Copia di backup pulita e aggiornata
- Copia di backup pulita, ma obsoleta
- Nessuna copia di backup disponibile
Innanzitutto, controlla che il backup sia stato creato prima del compromesso del sito.
Copia di backup pulita e aggiornata
- Ripristina la copia di backup.
- Installa eventuali upgrade, aggiornamenti o patch disponibili per il software Sono inclusi il software per il sistema operativo, se hai il controllo del server, e tutte le applicazioni, come il sistema di gestione dei contenuti, la piattaforma di e-commerce, i plug-in o i modelli.
- Valuta la possibilità di rimuovere dal server il software che il sito non utilizza più (ad esempio, widget, plug-in o applicazioni) .
- Correggi la vulnerabilità.
- Assicurati che tutti i problemi rilevati durante la valutazione dei danni siano stati risolti.
- Cambia di nuovo le password per tutti gli account correlati al sito (ad es. accessi per l'accesso FTP, l'accesso al database, gli amministratori di sistema e gli account CMS). Nei sistemi basati su Unix:
passwd admin1
Copia di backup pulita, ma obsoleta
- Crea un'immagine disco del tuo sito attuale anche se è ancora infetto. Questa copia è solo per sicurezza. Contrassegna la copia come infetta per distinguerla dalle altre. In un sistema basato su Unix, l'immagine del disco creata potrebbe essere:
dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz
- Crea una copia di backup del file system del server, incluse immagini e file multimediali. Se disponi di un database, esegui il backup anche del database.
tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql
- Ripristina la copia di backup pulita ma obsoleta sul server.
- Valuta la possibilità di eliminare dal server software (ad es. widget, plug-in o applicazioni) che il sito non utilizza più.
- Esegui l'upgrade di tutto il software, incluso il sistema operativo se hai il controllo del server, e di tutte le applicazioni software, come il sistema di gestione dei contenuti, la piattaforma di e-commerce, i plug-in e i modelli. Assicurati di controllare e installare le patch e gli aggiornamenti della sicurezza disponibili.
- Correggi la vulnerabilità.
- Esegui un
diff
del sito manualmente o in modo automatico tra il backup pulito e la copia infetta corrente.
diff -qr www/ backups/full-backup-20120124/
- Carica i contenuti nuovi e puliti che vuoi conservare dalla copia infetta sul server di cui è stato eseguito l'upgrade.
rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
- Verifica che ogni URL elencato nella sezione Valutare i danni sia stato corretto.
- Modifica di nuovo le password per tutti gli account correlati al sito (ad esempio, accessi per l'accesso FTP, l'accesso al database, gli amministratori di sistema e gli account CMS). Nei sistemi basati su Unix:
$passwd admin1
Nessuna copia di backup disponibile
Esegui due backup del tuo sito anche se è ancora infetto. Avere un backup aggiuntivo ti aiuterà a recuperare i contenuti eliminati accidentalmente o a ripristinare la situazione e riprovare se qualcosa va storto. Contrassegna ogni copia di backup come "infetta" come riferimento per il futuro.
Una delle copie di backup sarà un'immagine del disco o "versione clone" del tuo sito. Questo formato semplifica ulteriormente il ripristino dei contenuti. Puoi lasciare da parte l'immagine del disco per i casi di emergenza. Su un sistema basato su Unix, utilizza il seguente codice per creare un'immagine del disco:
dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz
L'altro backup sarà una copia del file system del server, incluse immagini e file multimediali. Se hai un database, esegui anche il relativo backup.
tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql
Se non disponi di un'immagine del disco, esegui due backup del database e due del file system.
Per ripulire i contenuti del sito nella nuova copia del file system di backup (non sul suo server), segui questi passaggi:
- Se la tua indagine precedente ha rilevato autorizzazioni dei file troppo permissive, correggile. Assicurati di eseguire questa operazione sulla copia di backup, non sul server stesso.
- Anche nella copia di backup, pulisci tutti i file corrispondenti agli URL rilevati come compromessi da Valuta i danni. Potrebbero essere file di configurazione del server, JavaScript, HTML o PHP.
- Assicurati di rimuovere anche (generando una risposta 404) i nuovi file creati dall'hacker, che potresti aver inviato o meno utilizzando lo strumento per la rimozione degli URL in Search Console.
- Correggi la vulnerabilità, se presente nel tuo codice o nelle password decifrate. Le librerie di convalida dell'input o le verifiche di sicurezza possono essere utili.
- Se il tuo sito ha un database, inizia a ripulire i record modificati dagli hacker nel tuo backup. Poco prima di pensare di aver finito, controlla altri record per assicurarti che il database sia pulito.
- Cambia di nuovo le password per tutti gli account correlati al sito (ad esempio, accessi per l'accesso FTP, l'accesso al database, gli amministratori di sistema e gli account CMS). Sui sistemi basati su Unix, utilizza il seguente codice:
$passwd admin1
A questo punto, la copia di backup del sito precedentemente infetta dovrebbe contenere solo dati puliti. Conserva questa copia pulita e procedi con l'operazione numero 5.
5. Rimuovere software non necessario
Valuta la possibilità di rimuovere dal server software, come widget, plug-in o applicazioni, che il sito non utilizza più. In questo modo puoi aumentare la sicurezza e semplificare la manutenzione futura.
6. Ripulisci tutti i server
- Esegui una nuova installazione, anziché solo un upgrade. Gli upgrade possono lasciare file
di una versione precedente. Se un file infetto rimane sul server, il tuo sito è più soggetto a essere compromesso di nuovo.
- L'installazione da zero deve includere il sistema operativo se hai il controllo del server e tutte le applicazioni software, come il sistema di gestione dei contenuti, la piattaforma di e-commerce, i plug-in e i modelli. Assicurati di controllare se sono disponibili aggiornamenti e patch di sicurezza.
- Trasferisci i contenuti validi dalla copia del file system di backup pulita ai server appena installati. Carica e ripristina solo i file o il database considerati puliti. Assicurati di mantenere le autorizzazioni dei file appropriate e di non sovrascrivere i file di sistema appena installati.
- Esegui un'ultima modifica delle password per tutti gli account correlati al sito (ad es. accessi per l'accesso FTP, l'accesso al database, gli amministratori di sistema e gli account CMS). Sui sistemi basati su Unix, utilizza il seguente codice:
passwd admin1
7. Crea un piano di manutenzione a lungo termine
Ti consigliamo vivamente di procedere nel seguente modo:
- Esegui regolarmente una copia automatica di backup del sito.
- Preoccupati di mantenere sempre aggiornato il software.
- Comprendi le pratiche di sicurezza di tutte le applicazioni, i plug-in e altro software di terze parti prima di installarli sul tuo server. Una vulnerabilità di sicurezza in un'applicazione software può influire sulla sicurezza dell'intero sito.
- Richiedi la creazione di password complesse.
- Mantieni sicuri tutti i dispositivi utilizzati per accedere al computer (sistema operativo e browser aggiornati).
8. Verifica il completamento della pulizia
Assicurati che la risposta alle seguenti domande sia sempre "sì":
- Ho adottato le misure del caso se l'hacker ha ottenuto informazioni personali degli utenti?
- Il mio sito esegue la versione del software più recente e sicura?
- Ho rimosso tutte le applicazioni o i plug-in non necessari o inutilizzati che potrebbero rendere il mio sito più vulnerabile in futuro?
- Ho ripristinato i miei contenuti ed eliminato quelli dell'hacker?
- Ho risolto l'origine principale della vulnerabilità che ha reso possibile la violazione del mio sito?
- Dispongo di un piano per mantenere sicuro il mio sito?
Ora puoi riportare il tuo sito online.