Rimuovere Malware WordPress

Ebbene sì, dopo più di 8 anni di WordPress, anche il TagliaBlog si è beccato un malware. Non allarmarti però, parlo al passato! Il malware ha infettato il blog il 29 Settembre, e in poche ore avevo già (fortunatamente) sistemato tutto. Oggi ho pensato di condividere l’esperienza con i miei lettori, in modo che sappiano come operare nel caso il loro sito/blog finisca nelle mani di qualche malintenzionato (non uso il termine hacker perché fa troppo giornalista ignorante anni ’90 😀 ).

Premessa

Non sono tecnico, né un esperto di virus o di sicurezza informatica. Al massimo sono uno… “smanettone”, visto che nella vita faccio ben altro. Pertanto, se sei un guru della rimozione dei malware da WordPress, non ti offendere! Qui sotto NON troverai una procedura rigorosa, con grandi termini tecnici da programmatore o da sistemista, ma solamente un semplice elenco delle cose che ho fatto per risolvere il problema, con tanto buon senso e l’aiuto/parere di qualche amico che ne sa un po’ di più di me. Partiamo.

Il feed RSS

Ti chiederai cosa c’entra il feed RSS con i malware. Ebbene, devo “ringraziare” il feed degli articoli del mio blog se mi sono accorto dell’infezione. Il 29.09 mattina, infatti, il feed con dentro l’articolo che ho pubblicato attorno alle 8, non è partito. Si è incriccato. Un buon sistema per verificare che un feed sia valido, è usare (lo dice il nome stesso) Feed Validation Service: metti l’URL, e vedi che errori ti restituisce. Ebbene, in coda al feed c’erano parecchie strane righe di codice “indigeste”, segnalate con un errore. Pur tuttavia, forzando manualmente un resync da FeedBurner, il feed è andato…

Google e i Malware

Devi però sapere che c’è un “grande controllore esterno” del tuo sito web, che ti dice in tempo (quasi) reale se è sicuro o meno. Il controllore ha un nome molto noto: Google. Se usi il suo browser, Chrome, vieni avvisato se il sito che stai tentando di visitare è sospettato di phishing o malware. Se vai su Google (inteso come motore di ricerca), puoi trovare snippet con all’interno “Questo sito potrebbe essere compromesso

Questo sito potrebbe essere compromesso

o “Questo sito potrebbe danneggiare il tuo computer

Questo sito potrebbe danneggiare il tuo computer

se i siti in questione sono ritenuti pericolosi. Se tu stesso gestisci un sito web, vieni allertato via email (e/o direttamente all’interno di Search Console) non appena il tuo sito viene bucato. Insomma, Google sembra proprio avere a cuore la salute dei siti che indicizza e infatti, da ormai più di 2 anni, porta avanti una campagna di sensibilizzazione denominata #NoHacked. E non è tutto: il 5 Ottobre 2015, Google ha annunciato sul Webmaster Central Blog che è in arrivo una penalizzazione per i siti infettati, penalizzazione che avrà un impatto su circa il 5% delle query (a seconda della lingua). In buona sostanza, Google ci sta dicendo che NON si limiterà ad inserire un “link di avvertimento” all’interno degli snippet delle SERP, ma potrebbe decidere di eliminare dai risultati di ricerca le pagine colpite da hacked spam. Tornando a noi, il 29.09 alle 11:13 ho ricevuto da Google questa email:

Infezione Malware Rilevata

Panico! Cosa faccio?

Se capitasse anche a te, la prima cosa da fare è quella di sedersi sulle mani. 🙂 Al contrario, una delle peggiori cose che puoi fare è quella di muoversi a casaccio, per esempio cancellando file a destra e a manca, senza poi riuscire a ricordarti esattamente la cronologia delle operazioni che hai eseguito. Google ha un intero sito di assistenza webmaster per siti compromessi: inizia a seguire gli 8 passi indicati sulla pagina, e avrai già davanti un’ottima serie di indicazioni utili a ripristinare il sito violato. A parte gli 8 passaggi di Google, ecco qualche altro piccolo suggerimento che mi sento di condividere, indirizzato soprattutto a chi utilizza WordPress.

FTP

Collegati via FTP al tuo sito, e controlla le date dei file e delle cartelle. Banalmente, se ci sono alcuni file (.js o .php) che hanno la data modificata molto di recente (=poche ore prima della segnalazione di Google), ecco che potrebbero essere messi fra i “sospetti”. Se capisci qualcosa a livello di codice, puoi scaricarli sul tuo PC, aprirli con un editor di testo (tipo Notepad++) e guardare se dentro c’è qualcosa di anomalo. Anche Google ci può dare una grossa mano, indicandoci (sempre tramite Search Console) i file compromessi e il codice iniettato che a lui “suona strano”. Ma c’è un ottimo plugin di WordPress che può fare molto di più…

Wordfence Security

Con più di un milione di installazioni attive, Wordfence Security è probabilmente uno dei migliori plugin (gratuito!) in grado di aiutarti a mettere in sicurezza WordPress.

L’installazione è davvero semplice, e una volta scaricato e attivato il plugin è già perfettamente funzionante, senza dover mettere mano a complessi settaggi. Fra le opzioni più interessanti:

  • Scan (e relativo report) dei singoli file presenti sull’FTP, per individuare quelli sospetti e/o malevoli
  • Statistiche, in tempo reale, del traffico in ingresso sul sito (diviso fra “esseri umani” e crawler)
  • Sistema di caching proprietario (attivabile opzionalmente)
  • Alert via email dei tentativi di login (riusciti o meno), inclusi quelli degli IP “fastidiosi” (per esempio, di quelli che cercano di loggarsi ripetutamente via wp-admin)
  • Audit delle password (per verificarne il livello di sicurezza)
  • Blocco del traffico per singolo IP, range di indirizzi IP, User-Agent, Referer e per aree geografiche (puoi escludere intere nazioni con un solo click)
  • Firewall integrato (in grado di bloccare, ad esempio, fake Googlebot o richieste troppo ravvicinate)

In poche parole: lanci uno scan di Wordfence, attendi il report, e poi vai ad analizzarti minuziosamente tutti i file che, secondo lui, sono sospetti o (peggio) infettati. E quindi li sistemi (per esempio, sovrascrivendoli con una versione pulita).

Backup – Restore

Spesso non è sufficiente sistemare i file infettati, perché magari qualcosa ti è sfuggito e il problema potrebbe quindi ripresentarsi entro poche ore/giorni. La strategia più radicale e definitiva è pertanto quella di fare tabula rasa e reinstallare WordPress, plugin, tema, file .htaccess e, soprattutto, il database. Ecco perché è IMPORTANTISSIMO avere una copia pulita di backup di tutto, per poi poter effettuare un rapido ripristino dei dati: molti hoster offrono nel loro piano anche un backup periodico dei dati, ma volendo puoi utilizzare l’ottimo plugin per WordPress UpdraftPlus/a>, che è probabilmente fra i migliori e più completi nel suo genere (ed è utile anche se dovessi trasferire totalmente il tuo sito/blog, in modo “indolore”, da un hosting all’altro).

Hosting – VPS – Server Dedicato

A proposito di “cambiare hosting”, apro una piccola parentesi. Un hosting economico NON è automaticamente sinonimo di hosting insicuro, ma spesso è sinonimo di hosting lento (cosa pericolosa lato conversioni, e che potrebbe far poco piacere anche a Google). Comunque sia, su hosting economici è facile essere sullo stesso server e lo stesso indirizzo IP di centinaia o migliaia di siti, e magari fra questi ce ne sono alcuni poco raccomandabili… regolati tu.

Password

Se sei certo di aver ripulito tutto per bene, un’altra operazione importante da fare è cambiare TUTTE le password di accesso al sito:

  • Password di tutti gli amministratori di WordPress (e anche degli utenti con privilegi minori)
  • Password del database
  • Password dell’FTP
  • Password dell’indirizzo email (non si sa mai…)

Se hai poca fantasia ad inventare le password, cerca su Google [password generator] e troverai un sacco di siti utili. Se invece hai poca memoria e non riesci a ricordarle, prova tool come LastPass o 1Password.

Conclusione

Quando hai la certezza assoluta che il tuo sito/blog è stato ripulito completamente, puoi sottoporre a Google (sempre tramite Search Console) una “richiesta di controllo”, e nell’arco di massimo 24 ore otterrai una risposta (positiva o negativa): se hai fatto tutto per bene, ti verrà eliminato l’alert da Chrome e il “link spaventoso” dallo snippet delle SERP del motore di ricerca.

Nessun Malware Rilevato

Riassumendo, per quel poco che so, una malware infection può passare:

  • Da una vecchia versione di WordPress (aggiornalo sempre!)
  • Da un tema WordPress scaricato da siti poco raccomandabili (un buon tema SEO-friendly e responsive come quello presente su questo blog costa pochi dollari, non rischiare!)
  • Da qualche plugin scritto male (utilizza solo quelli indispensabili, e aggiornali sempre!)
  • Da password esageratamente semplici (scegline una lunga, con lettere, numeri, simboli strani, maiuscole e minuscole!)
  • Da un server bucato (scegli bene i tuoi fornitori!)

Se pigli un malware puoi anche non avere grosse colpe, ma almeno fai la tua parte per non agevolarlo troppo. 🙂