Il mio sito web WordPress è stato hackerato. Cosa devo fare?

Partiamo da un presupposto di base: qualsiasi sito Web potrebbe essere hackerato. Di conseguenza anche un sito web WordPress non è immune da questo tipo di problemi, ma la cosa migliore è mantenere la calma e non farsi prendere dal panico.
Bisogna ragionare, cercare di capire alcune cose e porre i rimedi necessari. Per prima cosa accertiamoci se effettivamente il sito web WordPress sia stato violato e prendiamo le misure appropriate per ripulirlo, renderlo più sicuro e, per ultimo, impedire che venga nuovamente compromesso in futuro.

Come riconoscere che il tuo sito web WordPress è stato hackerato?

Questa, la maggior parte delle volte è una cosa ovvia, in pratica il tuo sito web WordPress risulta bloccato e non puoi accedere. Oppure magari il sito web ti reindirizza a un’altra pagina o il suo contenuto è stato in qualche modo modificato. Però ci possono essere problemi anche più gravi tipo un modulo di pagamento in negozio o un gateway è stato sostituito con un altro. Qualche volta potresti essere avvisato dal tuo provider di hosting oppure succede che il tuo sito web sia stato inserito nella blacklist da Google o magari hai ricevuto un avviso email da un plug-in di sicurezza che hai installato.

In realtà, in molti casi, non vieni a conoscenza di una minaccia, dal momento che molti script dannosi cercano di nascondersi e funzionare il più a lungo possibile. Questo è un motivo valido per fare periodicamente uno scanning di tutto il sito per rilevare delle vulnerabilità. In rete si trovano molti servizi che fanno questo lavoro e per questo prossimamente farò un articolo dedicato.

Ma la domanda di base che si pone normalmente è perché qualcuno ha violato il tuo sito web?

A pensarci bene si possono trovare molte ragioni per farlo, ovviamente nella maggior parte dei casi è tutta una questione di soldi. Gli hacker usano il phishing per rubare denaro dai conti bancari, il ransomware per chiederti, diciamo cosi, un riscatto per sbloccare il server o per non rilasciare dati compromettenti, o a volte semplicemente usano il tuo server per manipolazioni sulle criptovalute.

In casi minori è possibile che tu sia un bersaglio di un hacker che vuole colpirti personalmente, potrebbe succedere ad esempio se pubblichi dei contenuti politici o discutibili oppure di particolare interesse pubblico.

Ci sono casi in cui gli hacker stessi si mettono alla prova, semplicemente per “appendere un nuovo scalpo alla cintura” o per puro divertimento, ma anche questi sono casi minoritari.

Cosa devo fare se il mio sito Web WordPress è stato violato?

Quando il tuo sito WordPress è stato violato si possono fare due cose: ripristinare una copia funzionante oppure cercare e distruggere. Il primo caso lascia sempre aperti alcuni dubbi se non sappiamo esattamente chi è quando sia riuscito ad “entrare” e lascia spazio al fatto che potrebbe risuccedere in poco tempo. Nel secondo caso si può iniziare cercando un virus, un malware. Diciamo per altro che ogni malware è solo un codice, quindi deve essere archiviato da qualche parte, o nel file system oppure nel database del tuo sito WordPress. Quindi:

1. Cerca i file modificati di recente sul server

E qui il modo migliore per farlo è accedere al server tramite SSH e digitare dalla linea di comando. Quindi si può utilizzare il comando find, per esempio in questo modo:

find /path/to/your/website/root -type f -newermt 2021-02-01

usiamo findper cercare dei file con una specifica datazione.
Certamente non tutti possono accedere via SSH o sono in grado di farlo, ma un’occhiata indicativa la possiamo dare anche con il gestore di files che mette a disposizione il vostro gestore di hosting.

Poi è estremamente opportuno controllare anche il contenuto dei file ed esaminare il codice. Qui si dovrebbe porre attenzione su funzioni come eval, exec, system, preg_replace, move_uploaded_file, base64 o più visivamente notabili, dei codici hash tipo questo:

var _0xf19b=["\x6F\x6E\x6C\x6F\x61\x64","\x67\x65\x74\x44\x61\x74\x65"

Se il codice hash in genere è sintomo di malware bisogna fare più attenzione alle funzioni di cui sopra che possono essere utilizzate nel codice normale dei file core e dei plug-in di WordPress, perciò sarebbe necessario verificare cosa fanno realmente anche se questo richiede ovviamente più tempo.

2. Controlla i file core di WordPress

Confrontare i file core di WordPress nelle directory root, wp-include e wp-admin o scaricare una nuova copia della stessa versione di WordPress ed anche controllare il numero di file e la loro dimensione è consigliabile e soprattutto essenzialmente ricordarsi di verificare che sia la stessa versione! I più esperti, potendo accedere via SSH, possono usare il comando diff per fare i confronti:

diff -r /path/to/your/website/root /path/to/fresh/wordpress/copy/

E se si ha il sospetto di aver trovato qualcosa che non quadra, controllare il contenuto di quei file.

3. Verificare i plug-in

E’ essenziale. Purtroppo, la maggior parte degli attacchi riusciti utilizza plug-in non sicuri. In questo caso, essendo abbastanza fortunati da rilevare le azioni del virus/malware (reindirizzamenti, sostituzioni, ecc.), si può provare a disabilitare i plug-in uno per uno per vedere se il problema persiste. Di conseguenza, rilevato che un plug-in possa essere infetto, va semplicemente confrontato il suo codice con una versione “pulita” dello stesso plug-in, se possibile.

4. Utilizzare le informazioni di Google

Utilizza le notifiche, se il tuo sito web è stato inserito nella blacklist di Google. Si può anche utilizzare gli strumenti per sviluppatori di Google per rilevare malware e attacchi sospetti.

5. Controllare il database

Questo purtroppo non è da tutti perchè forse è un lavoro un po’ specificatamente tecnico, ed in effetti la ricerca nel file system è più semplice della ricerca nel database però nel caso specifico di WordPress, il malware può purtroppo essere trovato anche nel database.

Per cercare nel database, è possibile scaricare un dump del database e controllarlo localmente. L’idea è quella di cercare stringhe che assomigliano alle funzioni o codici hase elencate sopra, oppure link sospetti e parole contenenti spam, e non inerenti ai vostri contenuti del sito.

Come rimuovere il malware da WordPress?

Evidentemente dovremo per prima cosa rimuovere il malware e pulire il sito compromesso. Quello che vi posso dare sono alcuni suggerimenti utili che vi guideranno attraverso il processo di pulizia di un sito WordPress compromesso.

1. Sostituire o rimuovere i file infetti

Se siete fortunati avete un backup ed in questo caso bisognerebbe assicurarsi che il backup non sia infetto, questo perché un malware potrebbe tranquillamente risiedere nei file di backup e quindi sarebbe cosa giusta ripristinare una versione pulita.

Nel caso abbiate scovato files compromessi, sostituiteli manualmente con files del core, dei plug-in o di temi puliti di WordPress.

Non dimenticate però che i malware non solo modificano i files esistenti, ma ne creano anche dei nuovi dunque ricordate di rimuoverli.

2. Pulire il database

Fondamentalmente, per eseguire un intervento di pulizia del database, ci sono un paio opzioni:

La prima opzione disponibile, ma bisogna essere esperti altrimenti si rischia che non funzioni più niente, è quella di modificare manualmente il dump del database scaricato dal server senza modificare la sintassi di MySQL.
La seconda opzione è utilizzare strumenti di ricerca e sostituzione che tools di manipolazione del database in genere possiedono tipo phpMyAdmin, adminer o altri tools che consentono di modificare tabelle e record nel database tramite una interfaccia utente più evoluta.

3. Analizzare le modalità con cui il malware ha attaccato il tuo sito web

Pur se è una cosa fondamentale da fare, non è sufficiente rimuovere i virus. Se non proteggi il sito web WordPress, il problema potrebbe ripresentarsi entro poche ore. Pertanto, devi scoprire il modo in cui il tuo sito web è stato violato.

Se hai identificato un malware o un virus, cerca in Internet informazioni e suggerimenti su come proteggere il tuo sito web da quel virus che chi ha avuto il tuo stesso problema ha condiviso.
Esistono poi dei rapporti sulle vulnerabilità che pur essendo molto tecnici ed inglese danno informazioni su plugin e loro vulnerabilità cosi, conoscendo, puoi controllare i plug-in eventualmente indicati dal momento che potrebbero essere utilizzati anche da te.
Potendo e sapendo leggere i log di accesso del server potresti anche arrivare a sapere a che ora è successo l’attacco.

4. Scansiona il tuo computer con un antivirus, antimalware

Questa è una opzione che vi consiglio, trovate in rete servizi che lo possono fare, registratevi con un account e fate la scansione del vostro sito web WordPress. Dal momento che questi servizi, chi più chi meno, vi possono dare un sacco di informazioni decisive per scoprire con cosa avete a che fare e come combatterlo

Come evitare di essere hackerati durante l’utilizzo di WordPress?

Queste sono le indicazioni più importanti, che tuttavia vengono sottovalutate dai possessori di siti web WordPress, ma che potrebbero, se non evitare, quantomeno ridurre in modo sensibile la probabilità di essere oggetto di attacchi hacker. Fatelo e non ve ne pentirete, o se non siete in grado di farlo, utilizzate servizi web ed hosting che forniscono queste opportunità a volte spendere poco di più vale molto di più, in termini di tempo e risorse spese per rimediare a situazioni complicate. Economico o gratis non fa mai rima con sicuro e antihacker, statene pur certi.

1. Mantenere sempre aggiornati i plug-in e i temi di WordPress

Avere nel vostrto sito web WordPress vecchie versioni di plugin, di WordPress stesso o anche di PHP o software del server che gestisce il vostro hosting è il motivo più comune di infezioni malware ed attacchi hacker. Mantieni aggiornato il tuo WordPress. Non è necessario aggiornarlo ogni giorno, ma farlo periodicamente è sicuramente un buona idea.

2. Cambiare password e utilizzare password il più possibile complesse e sicure.

Tra le cose da fare, subito, appena scoperto il fatto è oppurtuno cambiare la propria password e consigliare o addirittura richiedere di farlo da ogni utente, se avete degli utenti registrati nel vostro sito WordPress. La password deve essere sicura, perchè gli hacker hanno molti modi per scoprire le vostre password, e una password per essere il più possibile sicura deve, e sottolineo deve, avere delle caratteristiche minime: almeno 12 caratteri, usare almeno un carattere maiuscolo, un carattere minuscolo, un numero ed un carattere speciale (ad es. chiocciolina o punto esclamativo) ed infine non ripetere nessuno dei precedenti e non metterli nello stesso ordine di digitazione. Ricordate: utilizzare una password non sicura è come lasciare le chiavi di casa attaccate alla porta quando uscite.

3. Rimuovere gli account utente inutilizzati

A meno che non servano a scopi ben precisi, bisognerebbe rimuovere tutti gli account degli utenti che non utilizzano più il sito web. Un account lasciato in sospeso, è sicuramente a rischio di attacco dato che nessuno controllerà mai cosa fa un account che non viene utilizzato oppure si dimenticherà di controllarlo.

4. Aggiornare il più frequentemente possibile, PHP, MySQL e webserver (Apache, Nginx).

Questo, in linea di massima, dipende dal vostro fornitore di hosting, ma anche se non lo potete fare direttamente, informatevi e scegliete che vi fornisce le migliori garanzie in questo senso. Guardando le cose sotto questo aspetto, gli hosting condivisi (e lo sono la maggior parte degli hosting economici, anzi direi tutti) sono più a rischio di altri perchè molto probabilmente aggiorneranno meno spesso i server essendo a rischio di malfunzionamenti solo per questo motivo.

5. Configurare un firewall

Un firewall, serio però, è una protezione aggiuntiva in più e se il tuo server non ne ha uno. Richiedilo, inseriscilo da solo o fallo inserire al più presto. E questo purtroppo è un costo, e a volte anche non indifferente, per cui non occorre aggiungere che gli hosting più economici o non ce l’hanno o ne hanno uno globale il cui costo sarà suddiviso tra tutti i siti residenti.

6. Configurare i permessi sui file

E’ una buona pratica è impedire agli utenti di modificare i file nelle directory root, wp-include, wp-admin.

Puoi anche impedire modifiche a / wp-content / plug-in e / wp-content / themes per aumentare la sicurezza. In questo caso, però, non sarai in grado di aggiornare i plug-in tramite il pannello di amministrazione e dovrai sostituire i file manualmente.

Di seguito sono riportati i comandi per modificare i permessi di file e directory se avete accesso SSH:

find /path/to/your/webstie/root/ -type f -exec chmod 644 {} \;

find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;

Ma verosimilmente i permessi si possono cambiare anche tramite un client FTP tipo Filezilla o con il gestore di files che vi mette a disposizione il vostro provider hosting. In questo caso i settaggi sono solo di numeri: 644 come impostazione restrittiva e 755.

Inoltre è possibile aggiungere anche questa riga:

define( 'DISALLOW_FILE_EDIT', true );

nel wp-config.php per impedire agli utenti di modificare i temi tramite l’editor di WordPress che si trova nel pannello di amministrazione.

7. Disabilita xmlrpc

E’ opportuno disabilitare xmlrpc dal momento che in pratica è una funzionalità di WordPress che consente la trasmissione di dati, con HTTP che funge da meccanismo di trasporto e XML come meccanismo di codifica, ma normalmente non viene usato ed ha dei punti deboli che un hacker esperto può tentare di utilizzare per degli attacchi specifici. Ed è meglio anche disabilitare JetPack, se non lo stai usando.

Si può fare con un plug-in o anche aggiungendo questo codice al file .htaccess

order deny,allow
deny from all

8. Limitare il numero di tentativi di accesso

Installare un plug-in per bloccare i tentativi di accesso può servire se qualcuno prova ad inserire la password troppe volte. E’ utile per limitare od evitare attacchi brute force.

9. Non dimenticare i backup!

OK! Questa è la prima regola, un must direi, fate i backup! E ancora backup!

Qualche provider di web hosting lo fa automaticamente, ma pochi te lo mettono a disposizione. Meglio controllare per quanto tempo viene archiviato il backup e se è possibile averne una copia, altrimenti, applicare una soluzione fai da te con un qualsiasi plug-in e ce ne sono decine nel repository plugin di WordPress.

Ricordare sempre che non è sufficiente fare solo il backup del database per WordPress, ma si deve copiare anche tutto il filesystem per avere una fotografia esatta del momento e quindi un backup completo.

10. Non utilizzare il nome utente “admin”

Può sembrare una regola stupida non utilizzare mai “admin” come nome utente per accedere al sito, ma i primi tentativi che faranno per tentare di introdursi nel vostro sito WordPress verranno fatti utilizzando “admin”.

11. Utilizzare l’autenticazione a due fattori

Questo è un metodo che aumenta in modo esponenziale la sicurezza degli accessi al vostro sito web WordPress: l’autenticazione a due fattori. Infatti il metodo richiede che l’utente utilizzi un sistema di autenticazione aggiuntivo per accedere, come ad esempio un messaggio SMS oppure un codice da inserire o altro. Naturalmente anche in questo caso è possibile utilizzare alcuni plug-in per implementare questa funzione.

12. Monitorare le modifiche nei file e nei registri

Come accennato in precedenza, la maggior parte dei malware modifica alcuni file, quindi è possibile utilizzare delle utilities per trovare le modifiche nei file ed addirittura ricevere una notifica e-mail quando vengono rilevate le modifiche.

Peraltro esistono dei plug-in di sicurezza molto popolari per WordPress, tipo Securi, WordFence e iThemes Security che offrono soluzioni avanzate per migliorare la sicurezza e aiutare gli utenti principianti a prendersi cura dei propri siti web.

Su questi, tuttavia, c’è un dibattito in corso tra gli sviluppatori di WordPress sull’opportunità di utilizzarli, poiché i plug-in di sicurezza possono avere alcuni inconvenienti, per esempio posso provocare un decadimento di prestazioni rallentando il sito o addirittura alcuni hanno avuto loro stessi problemi di sicurezza in passato. Ed è opinione di molti sviluppatori che i plug-in non siano necessari se il sito web è ben protetto.

13. Firewall del sito web

Il tipo più avanzato di protezione antimalware e hacker sono i Web Application Firewall (WAF) che hanno lo scopo di rilevare e bloccare attivamente le attività pericolose prima che possano raggiungere il codice del sito per sfruttare una vulnerabilità e iniettare codice dannoso. Alcuni provider di hosting includono questo tipo di sicurezza nei loro pacchetti di hosting standard. Esistono anche fornitori di terze parti come CloudFlare o SiteLock che possono fornire queste soluzioni. Le soluzioni WAF non sono in un plugin, ma in genere richiedono un canone mensile o annuale aggiuntivo ovviamente in cambio ti danno la tranquillità e dovrebbero essere prese in considerazione soprattutto sui siti Web aziendali critici, dove anche un minuto di inattività può portare a perdite di denaro o pericolose violazioni dei dati.

Diciamo infine che, come sempre, prevenire è meglio che curare. Questo è il motivo per cui resto sorpreso di quanto spesso vedo ancora persone trascurare anche le misure di base per proteggere i loro siti web, magari parlando con clienti mi sento dire, “….ma costa troppo, scelgo quell’hosting che costa poco” e poi si scopre (sempre troppo tardi) che non ha la minima protezione. Gli aggiornamenti regolari del sito e la corretta configurazione iniziale sono il minimo assoluto che dovrebbe essere fatto per proteggere qualsiasi sito Web basato su WordPress. Nel caso di un semplice sito Web, quello che in gergo viene detto sito vetrina, in genere si rischia solo pochi giorni di inattività e un blocco di Google (sempre se si hanno almeno le copie), ma se il tuo sito è un sito “importante”, con molte applicazioni o addirittura un e-commerce, si aprono scenari “apocalittici” che vanno dal furto dei numeri di carta di credito dei tuoi clienti alla divulgazione dei loro dati privati ​​agli hacker. Quindi, vale la pena, forse di spendere qualcosina in più, nei limiti del tuo budget, per ridurre al minimo i rischi. Nel caso avete dubbi o cercate aiuto per risolvere queste ed altre questioni legate a WordPress contattatemi senza problemi, sarò felice di potervi dare una mano.

Lascia un commento

it Italian
X