Come scansionare WordPress per malware: guida completa
Il tuo sito WordPress si comporta in modo strano? Redirect verso siti sospetti, popup indesiderati, contenuti che non hai inserito tu o un calo improvviso nel traffico organico? Questi sono segnali tipici di un’infezione da malware. Scansionare regolarmente il sito è essenziale per individuare codice malevolo prima che causi danni irreparabili. In questa guida ti mostro come scansionare WordPress per malware utilizzando plugin, strumenti online e verifiche manuali.
Segnali che il tuo sito potrebbe essere infetto
Non sempre il malware è evidente. Ecco i segnali di allarme più comuni:
- Redirect sospetti: i visitatori vengono reindirizzati verso siti di spam, phishing o download di software malevolo.
- Contenuti estranei: link, testi o pagine che non hai creato appaiono nel sito.
- Avviso di Google: il browser mostra un avviso “Sito ingannevole” o il sito scompare dai risultati di ricerca.
- Rallentamento inspiegabile: il server consuma risorse anomale a causa di script malevoli in esecuzione.
- Email di spam inviate dal server: il malware usa il server per inviare email di phishing o spam.
- Nuovi utenti admin: account amministratore che non hai creato appaiono nella lista utenti.
Scansione con plugin di sicurezza
Il modo più accessibile per scansionare WordPress è usare un plugin di sicurezza. Ecco le opzioni migliori:
Wordfence Security
Wordfence è il plugin di sicurezza più utilizzato per WordPress. La sua funzione di scansione analizza tutti i file del core di WordPress, dei temi e dei plugin confrontandoli con le versioni originali nel repository. Rileva file modificati, codice sospetto, backdoor e URL malevoli. Per eseguire una scansione, vai in Wordfence > Scan e clicca “Start New Scan”. La scansione gratuita è efficace, mentre la versione premium aggiunge firme malware aggiornate in tempo reale.
Sucuri Security
Sucuri offre sia un plugin WordPress gratuito che un servizio di scansione remoto. Il plugin monitora l’integrità dei file core, controlla le liste nere dei motori di ricerca e rileva modifiche sospette. La scansione remota gratuita su sitecheck.sucuri.net analizza il sito dall’esterno, rilevando malware visibile, iframe nascosti e inclusioni di JavaScript malevolo.
MalCare
MalCare esegue la scansione sui propri server, riducendo il carico sul tuo hosting. Copia i file del sito in modo sicuro e li analizza con oltre 100 segnali di intelligenza. È particolarmente utile per siti su hosting condiviso con risorse limitate. La versione gratuita rileva il malware, mentre la rimozione automatica richiede il piano premium.
Scansione manuale via SSH
Se hai accesso SSH, puoi eseguire verifiche manuali più approfondite. Cerca file modificati di recente che potrebbero contenere malware:
# File PHP modificati negli ultimi 7 giorni
find /var/www/html/ -name "*.php" -mtime -7 -type f
# Cerca funzioni PHP sospette comuni nel malware
grep -rl "eval(base64_decode" /var/www/html/
grep -rl "eval(gzinflate" /var/www/html/
grep -rl "exec(" /var/www/html/wp-content/
Le funzioni eval(), base64_decode(), gzinflate() e str_rot13() combinate insieme sono un forte indicatore di codice offuscato malevolo. Non tutti gli utilizzi di queste funzioni sono malevoli, ma la loro combinazione in file del tema o dei plugin è sospetta.
Verificare l’integrità del core WordPress
Se hai WP-CLI installato, puoi verificare che i file del core di WordPress non siano stati modificati:
wp core verify-checksums --path=/var/www/html/
Questo comando confronta ogni file del core con il checksum ufficiale della versione installata. Se un file è stato modificato (possibile iniezione di malware), verrà segnalato. Allo stesso modo, puoi verificare i plugin:
wp plugin verify-checksums --all --path=/var/www/html/
I plugin del repository ufficiale hanno checksum verificabili. I plugin premium o personalizzati non possono essere verificati con questo metodo.
Controllare il database per contenuti malevoli
Il malware non si nasconde solo nei file: può essere iniettato anche nel database. Controlla la tabella wp_options per valori sospetti nelle opzioni del sito. Cerca in phpMyAdmin o con WP-CLI eventuali iframe nascosti, script JavaScript esterni o redirect inseriti nel contenuto degli articoli:
wp db search "eval(" --path=/var/www/html/
wp db search "<script" --path=/var/www/html/
wp db search "base64" --path=/var/www/html/
Se trovi risultati sospetti in articoli o pagine, esamina il contenuto per confermare se si tratta di malware o di codice legittimo.
Scansione online gratuita
Se non vuoi installare plugin, puoi usare strumenti di scansione online che analizzano il sito dall’esterno:
- Google Safe Browsing: verifica se Google ha segnalato il tuo sito come pericoloso.
- VirusTotal: analizza l’URL del sito con decine di motori antivirus contemporaneamente.
- Quttera: scansione approfondita che rileva malware, link sospetti e codice offuscato.
Ricorda che le scansioni esterne rilevano solo il malware visibile nel front-end del sito. Per una verifica completa, è necessaria una scansione a livello di file e database.
Programmare scansioni automatiche regolari
Non aspettare di notare comportamenti anomali per scansionare il sito. Configura scansioni automatiche con cadenza regolare. Wordfence permette di programmare scansioni giornaliere o settimanali dalla pagina delle impostazioni. MalCare esegue scansioni automatiche ogni 24 ore. Se usi WP-CLI, puoi schedulare una scansione dei checksum con un cron job settimanale che invia i risultati via email. La prevenzione è molto meno costosa — in termini di tempo, denaro e reputazione — rispetto alla rimozione di un’infezione attiva. Un sito compromesso per giorni o settimane perde posizionamento SEO, fiducia dei visitatori e potenzialmente clienti.
Cosa fare se trovi malware
Se la scansione rileva malware, agisci rapidamente:
- Non cancellare subito i file infetti: prima fai un backup dello stato attuale per analisi forense.
- Metti il sito in manutenzione: impedisci ai visitatori di accedere al sito infetto.
- Identifica il punto di ingresso: controlla i log di accesso del server per capire come è avvenuta l’intrusione.
- Rimuovi il malware: elimina i file infetti, sostituisci i file del core con copie pulite, pulisci il database.
- Cambia tutte le password: admin WordPress, database, FTP, SSH e pannello hosting.
- Aggiorna tutto: core, temi e plugin all’ultima versione.
- Richiedi la revisione a Google: se il sito è stato segnalato, usa Google Search Console per richiedere la rimozione dell’avviso.
Prevenire le infezioni future
Dopo aver pulito un sito infetto, o meglio ancora prima che succeda, implementa queste misure preventive: mantieni WordPress, temi e plugin sempre aggiornati; rimuovi i plugin e i temi inutilizzati; usa password forti e uniche per ogni account; limita i tentativi di login; installa un firewall WAF; e fai backup regolari. La maggior parte delle infezioni sfrutta vulnerabilità note in plugin o temi non aggiornati, quindi il semplice atto di mantenere tutto aggiornato previene la stragrande maggioranza degli attacchi.
Il tuo sito è stato hackerato?
La rimozione del malware è un’operazione delicata: se non viene fatta in modo completo, il malware torna. Il team di SoccorsoWP esegue scansioni approfondite, rimuove il malware alla radice e mette in sicurezza il sito per prevenire future infezioni. Apri un ticket e ripulisci il tuo sito.