La sicurezza su WordPress è uno dei problemi che più attanaglia web designer e developer di tutto il mondo. Che lo facciano di professione o amatorialmente tutti prima o poi, al crescere delle visite sono soggetti a hacking o attacchi di diverso tipo. Ho voluto racchiudere in un articolo (in continuo aggiornamento) tutte le linee guida e i suggerimenti relativi a questo argomento al fine di aiutare chi si trovi davanti a questo problema.
Le basi della sicurezza su WordPress: Nome utente e Password
Partendo dall’inizio, banale ma spesso sottovalutato: la scelta del nome utente e della password di Amministratore di WordPress. Cercato di evitare il classico “admin” e magari pensate ad utilizzare una combinazione di nome+cognome o meglio ancora nome+cognome+numero questo perche gli attacchi spesso partono dal nome utente. Pensateci, se chi attacca il vostro sito conosce uno dei due fattori di autenticazione è a metà dell’opera. Idem per il discorso password; WordPress fa già molto suggerendovi il grado di forza della vostra password, seguite il consiglio.
Aggiornamenti di sicurezza su WordPress: Core, Temi e Plugin
Un altro punto debole di WordPress, essendo open-source è la conoscenza di eventuali falle di sicurezza sul codice sorgente di WordPress, nei suoi temi e nei suoi plugin. Quindi cercate di tenere aggiornato WordPress (facendolo in modo consapevole, quindi fate un backup prima di aggiornare).
Idem per i plugin, sono parte fondamentale di WordPress e spesso provengono da sviluppatori non sempre di “grido” quindi magari poco attenti alla sicurezza. Leggete i log delle implementazioni e delle correzioni dei vostri plugin così potrete sapere per quale motivo state aggiornato un plugin piuttosto che l’altro. Anche qui, se non volete fare danni prima fate un backup.
Ultima nota, a mio modo di vedere le cose la più dolente di tutte: i temi. Se vi siete sviluppati in autonomia il vostro tema per WordPress quasi certamente non avete di che preoccuparvi, se invece come quasi tutti fanno (anche a me è capitato) avete scaricato un tema o acquistato tramite i marketplace occhio. Tenete aggiornati anch’essi: è fondamentale. Associati a temi premium spesso ci sono plugin premium, mi raccomando aggiornate anche quelli a costo di acquistarli nuovamente, è importante, ho personalmente verificato che un tema aggiornato senza plugin aggiornati è comunque potenzialmente non sicuro.
La sicurezza di WordPress: permessi e cartelle
Mantenere tutto aggiornato è importante quanto configurare permessi sulle cartelle corretti. Prima di cominciare occorre dire che per le installazioni WordPress è sempre bene scegliere un hosting su piattaforma Linux. Su questo tipo di piattaforma potrete scegliere i permessi che devono essere:
- Per tutte le cartelle 755 o 750
- Per tutti i file tranne il wp-config.php 644 o 640
- Per il file wp-config.php 440 o 400
Ricordate, per nessun motivo, nessuna cartella o file deve avere 777 come permessi.
La sicurezza su WordPress: versione di WordPress e file readme.html
WordPress in alcune versioni mostrava in un meta tag la versione del suo core. Potete capire se il vostro sito mostra la versione ispezionando la sorgente e cercando nei campi meta appunto il tag Wp version. Se presente questo campo da ulteriori informazioni per eventuali attacchi, ecco perché conviene rimuovere questo meta tag (assolutamente inutile a scopi tecnici). Potete farlo in due modi: tramite un comodo plugin solo da installare e attivare oppure se volete sporcarvi le mani potete farlo aggiungendo questa riga di codice al fondo del file functions.php:
remove_action('wp_head', 'wp_generator');
WordPress inoltre in alcune versioni da informazioni relative alla versione anche in alcuni file di supporto. Se avete un’installazione italiana potreste avere file come quelli elencati di seguito. Questo file potete tranquillamente cancellarli. I file in questione sono:
Code Injection o Phishing su WordPress
Il code injection o il phishing associato alle pagine WordPress è quasi certamente un problema derivante da un mancato aggiornamento di core, tema o plugin di WordPress di cui abbiamo discusso al punto precedente. Se nell’elenco delle vostre pagine o dei vostri articoli trovate contenuti che voi non avete creato e che si riferiscono a farmaci o oggetti di tipo sessuale (solitamente sono questi i settori che vanno a citare queste pagine) siete stati vittima di code injection che porta ad un attacco di phishing. Questo attacco sebbene non sia pericoloso o dannoso per i dati del vostro sito può però portare ad essere bannati da Google per contenuti non appropriati quindi stateci attenti.
Per verificare che tutte le vostre pagine siano pulite da phishing potete andare su Google e nella casella di ricerca scrivere:
site:www.nomedominio.com
Dove chiaramente ‘nomedominio.com’ è il nome del vostro dominio.
Questo vi permetterà di avere un’elenco di tutte le pagine del vostro sito indicizzate da Google e da lì, semplicemente scorrendole tutte potrete capire se ci sono dei contenuti non creati da voi.
Attenzione perchè questa tecnica va ad infettare i file di WordPress quindi ogni volta che si richiama alcuni file, anche inconsapevolmente si creano nuove pagine di Phishing. La soluzione migliore è fare un backup del database e fare una nuova installazione di WordPress, temi e plugin; se questo lavoro fosse troppo impegnativo potete installare WordFence, un plugin adibito alla sicurezza di WordPress che permette di fare la scansione completa del sito e vi segnala quali sono i file infetti suggerendovi di ripristinarli con gli originali.
Sito WordPress non visibile per Hacking: le soluzioni
Quando accedo al mio sito non lo vedo più e vedo un sito dove vendono pillole! Probabilmente siete stati vittima di hacking sul file .htaccess, quindi non vedete il vostro sito ma un altro. Questa tecnica è utilizzata per redirigere il vostro sito su nuove pagine o su un altro sito e nel primo caso, anche qui è possibile che veniate bannati da Google.
La soluzione di questo problema potrebbe essere sempre WordFence come suggerito precedentemente, in alternativa se volete sporcarvi le mani, il primo indiziato potrebbe essere il file .htaccess, quindi se avete dimestichezza apritelo e verificate eventuali reindirizzamenti. Se il vostro sito viene reindirizzato ad un altro probabilmente troverete all’interno del file .htaccess il dominio a cui verrete rimandati, in caso veniate rimandati ad una sottocartella potrete accorgervene dando un’occhiata alla root. Se avete delle cartelle differenti da quelle standard di WordPress (wp-include, wp-content e wp-admin) o da sottocartelle che non avete creato voi probabilmente avrete le cartelle a cui viene rimandato il sito tramite .htaccess. Cosa fare: ripristinate il file .htaccess da una nuova installazione di WordPress e siete a posto (occhio che il file .htaccess è un file invisibile su molti sistemi operativi quindi se non lo vedi puoi seguire questa guida).
Sicurezza su WordPress: Attacchi DDOS su file xmlrpc.php
Il più diffuso degli attacchi su piattaforme WordPress è un attacco DDOS al file xmlrpc.php. Questo file è dedicato a ricevere i pingback dagli altri WordPress, per tanto se non usufruite della piattaforma di blogging potete tranquillamente farne a meno e cancellarlo. Se siete su un hosting condiviso o semi-dedicato con buona probabilità non subirete mai nessun attacco di questo tipo in quanto il 99% degli hosting ha dei firewall che ne garantiscono la sicurezza, se invece siete su un server dedicato, magari impostato da mani non espertissime potete utilizzare anche un’altra metodologia che è quella di inibire l’accesso al file xmlrpc.php semplicemente aggiungendo nel vostro file .htaccess questa porzione di codice:
# Block WordPress xmlrpc.php requests <Files xmlrpc.php> order deny,allow deny from all allow from IP_DEL_SERVER </Files>
Come potete leggere dal codice, potete rendere disponibile al file xmlrpc.php solo dall’ IP del vostro server oppure potete utilizzare il comando deny associando l’IP del host che vi sta attaccando. Se non sapete come modificare il file .htaccess potete utilizzare questo comodo plugin.
E tu? Hai messo in sicurezza il tuo sito?
Se hai provato a seguire alla lettera la guida con scarsi risultati non preoccuparti, puoi contattarmi e richiedermi un preventivo gratuito!