Wordfence: Migliorare la Sicurezza su WordPress

Migliorare la sicurezza su wordpress

Molto spesso i nostri siti web vengono attaccati da automi che hanno in gran parte un solo obiettivo: installare del malware per prenderne il controllo ed usarlo per attività illecite.

Il tutto, ovviamente, a nostra insaputa. Non è, come qualcuno potrebbe pensare, il solito modo di dire che in passato è stato utilizzato da alcuni politici per scagionarsi da varie accuse. Mi spiace ma, in questo caso, non c’è granché da ridere.

WordPress purtroppo non fa eccezione ma anzi, data l’enorme diffusione di questo, ormai riconosciuto come uno tra i migliori CMS, il problema è ancor più vasto.

Ma allora come facciamo a proteggere i nostri siti web da questi attacchi? La risposta è semplice: Wordfence Security.

Wordfence è un plugin di WordPress che dispone di una serie di funzionalità molto interessanti, tra cui:

  • – sistema anti malware con scansione del sito web
  • – reportistica real time degli accessi
  • – gestione della cache
  • firewall con funzionalità di ban automatico e/o manuale degli indirizzi IP
  • – password audit (solo versione Premium)
  • – blocco degli accessi per intere nazioni (solo versione Premium)
  • – scansione anti malware automatica e pianificata (solo versione Premium)
  • – autenticazione a due fattori (solo versione Premium)

In questo articolo vi mostrerò come installare e configurare Wordfence (versione gratuita) e ne vedremo, inoltre, il suo funzionamento. Vi spiegherò anche i punti principali delle funzionalità a pagamento, che trovo molto utili e interessanti.

Andiamo nella sezione Plugins di WordPress e clicchiamo su “Aggiungi nuovo”:

Cerchiamo “wordfence” nell’apposito input box che troviamo in alto a sinistra:

Installiamo Wordfence cliccando sull’apposito pulsante “Installa adesso”:3

Attiviamo Wordfence che abbiamo appena installato:

Nel menu verticale di sinistra comparirà la voce “Wordfence”:

Cliccando su “Wordfence” si aprirà, sempre nella colonna di sinistra, il menu del plugin con le sezioni relative alle macro funzionalità.

Iniziamo subito con una scansione manuale del nostro sito web, cliccando sul pulsante “Start a Wordfence Scan”:

Nei riquadri “Scan Summary” e “Scan Detailed Activity” ci vengono mostrati, rispettivamente, l’avanzamento del task ed i risultati dettagliati della scansione:7

Ok, Wordfence dice che la mia installazione di WordPress è a posto. Mi preoccuperei se così non fosse, dato che l’ho appena installato. 😛

Ora entriamo un pò più nel vivo di questo plugin, accedendo alla sezione “Live Traffic”:

Con questa funzionalità possiamo visualizzare gli accessi real time che si determinano sul sito web, possiamo eventualmente bloccare il singolo IP del client oppure l’intera rete, effettuare un whois oppure visualizzare un minimo di storico di quello stesso IP.

Wordfence, oltre ad essere un ottimo plugin di sicurezza, offre anche una serie di funzionalità per migliorare le prestazioni di WordPress.

Cliccando su “Performance Setup” accediamo alla sezione dedicata:

Wordfence ci consente di utilizzare due livelli di caching: Basic e Falcon Engine.

Con il Basic Caching, quando viene generata una pagina , Wordfence ne memorizza una copia sul disco. Poi, se un’altra richiesta arriva per lo stesso URL, viene servita la pagina memorizzata sul disco, senza eseguire nuovamente codice PHP e interrogazioni al Database. Grazie alla cache statica, il sito web potrebbe diventare più veloce di due o tre volte.

Il Falcon Engine è invece un sistema di caching più complesso, che potrebbe migliorare la velocità del sito web fino a 50 volte.

Lo storage della cache viene implementato con una struttura di directories più efficiente, che riduce notevolmente anche l’I/O su disco.

Oltre a una pagina HTML statica, Falcon Engine crea una una pagina compressa utilizzando l’algoritmo deflate. Quando Falcon riceve una richiesta HTTP, controlla se il browser web che effettua la richiesta può accettare il contenuto compresso della pagina.
Falcon opera modificando il file di configurazione .htaccess e utilizzando le regole di rewrite per svolgere la sua funzione di caching. Quando arriva una richiesta HTTP, controlla se una versione in cache di quella pagina esiste, verifica se il browser web del visitatore è in grado di gestire i contenuti compressi e se una pagina memorizzata nella cache esiste. Se queste condizioni sono soddisfatte, il Web Server invia al client la pagina memorizzata nella cache. Falcon Engine per poter funzionare al meglio e service pagine compresse, necessita di mod_deflate attivo sul Web Server.

Vediamo ora la sezione relativa agli IP bloccati:

In questa pagina possiamo consultare l’elenco degli IP bloccati manualmente, quelli bloccati per problemi di login (es: troppi tentativi di accesso falliti per login/password errati) e gli indirizzi IP bloccati automaticamente perchè fonte di attacchi bruteforce. Possiamo ovviamente cancellare le liste degli indirizzi IP bloccati in qualsiasi momento, cliccando su “Clear all blocked IP addresses” e “Clear all locked out IP addresses”.

Il Password Audit è un’altra importante funzionalità, che ci consente di testare la sicurezza delle password dei nostri account all’interno di WordPress:11

Cliccando su “Start Password Audit” (inserendo l’indirizzo e-mail nell’input box di fianco) i sistema procederà con l’analisi degli account e l’invio del report via e-mail.

Possiamo scegliere di testare tutti gli account, oppure solo gli account di livello user oppure solo di amministratori.

Con il “Cellphone Sign-in” è possibile attivare l’autenticazione a due fattori per accedere all’intefaccia di gestione di WordPress:

Il meccanismo di autenticazione è relativamente semplice e si compone dei seguenti step:

1) inserisco login e password nella pagina di login di WordPress, come si fa normalmente

2) il sistema invia un token univoco via SMS al mio cellulare

3) viene richiesto l’inserimento di login e password, ma questa volta nel campo password deve esserci (oltre alla password ovviamente) uno spazio ed il token ricevuto sul cellulare

Questa modalità di accesso è simile alla logica dei token bancari per l’accesso al nostro home banking rendendo, di fatto, molto più sicuro l’accesso e più robusta la protezione contro gli attacchi bruteforce che tentano migliaia di combinazioni (login e password) per accedere abusivamente all’interfaccia di amministrazione di WordPress.

La funzionalità “Country Blocking” consente di impedire l’accesso al nostro sito web da paesi specifici, evitando il blocco dei singoli IP che potrebbe non essere sufficiente in alcuni casi:

“Scan Schedule” ci consente invece di pianificare le scansioni e di farle partire automaticamente, senza il nostro intervento manuale:

 

Con il “Whois Lookup” possiamo visualizzare i dettagli del whois per gli indirizzi IP e i domini Internet, nel caso in cui dovessimo effettuare ulteriori analisi e decidere se bloccare o meno determinate sorgenti di traffico:15

La sezione “Advanced Blocking” è molto utile perché ci consente di bloccare:

– un range (una rete) di indirizzi IP

– un determinato user-agent

– un referrer spam (consulta la nostra guida sullo spam)

e di salvare una nota relativa al blocco che abbiamo inserito.16

Infine c’è la sezione “Options” che, data la complessità e la quantità di informazioni presenti, provo a illustrare dividendola in blocchi:

Qui possiamo verificare il tipo di licenza, l’API Key, attivare/disattivare firewall, strong login, traffico real time, scansioni anti malware automatiche e gli aggiornamenti automatici di Wordfence.

Nel seguente screenshot è possibile indicare l’indirizzo e-mail al quale Wordfence deve inviare gli alert, quali alert notificare (es: IP bloccato, etc…), il livello di sicurezza (2 è il default) da 0 a 4 oppure custom e la modalità con cui Wordfence estrapola gli indirizzi IP dei visitatori. Il livello di sicurezza 2 (default) per iniziare va bene. Nel tempo si può sempre effettuare un tuning mirato delle impostazioni, per rendere ancora più efficace questo plugin.

Scorrendo verso il basso troviamo le opzioni relative alla reportistica (settimanale, bi-settimanale o mensile), l’ignore list del traffico in real time ed alcune opzioni avanzate della scansione.

Sulle regole del firewall vorrei soffermarmi un momento perché, oltre che essere il motivo principale di questo articoli, ritengo che siano estremamente importanti per proteggere adeguatamente il nostro sito web.

Molti crawlers, per non essere bloccati dai firewall ed agire indisturbati, si presentano con l’user agent fake di Googlebot sperando di entrare in una sorta di whitelist, che quindi li esentano da controlli. In moltissimi casi, questi robots vengono impiegati per attacchi bruteforce.
Attivando la protezione evidenziata nello screenshot di seguito, possiamo proteggere il nostro sito web da questi accessi indesiderati.

Possiamo, infatti, decidere il numero massimo di richieste in un lasso di tempo (es: 60 richieste al minuto). Se questo limite viene superato, Wordfence blocca automaticamente quel visitatore per 5, 30, 60 minuti o più.

Il firewall di Wordfence, inoltre, ci offre un livello di granularità molto dettagliato. Monitorando gli accessi in background, analizza il traffico e lo confronta con le regole che noi abbiamo stabilito. Se c’è qualcosa che viola le nostre regole, allora il firewall intraprende una “action” sempre sulla base delle nostre impostazioni.

Le funzionalità del firewall possono essere applicate a 3 diversi livelli:

– tutti

– solo ai crawlers

– solo agli accessi umani

mentre il tempo di ban invece è univoco per tutti.

Il ban automatico è fondamentale per proteggersi da quei fastidiosissimi attacchi bruteforce che, ad esempio, provano migliaia di accessi su /wp-admin con l’obiettivo di indovinare la combinazione login/password.

Come abbiamo potuto vedere insieme, le funzionalità di Wordfence Security versione free offrono già un discreto punto di partenza per proteggere WordPress.

Voglio comunque lasciare un ultimo consiglio soprattutto per coloro che, per lavoro, realizzano siti web con WordPress: acquistate la versione Premium di questo plugin perché vi offre, ad un costo del tutto irrisorio (39 $ l’anno), molte altre funzionalità importanti tra cui l’autenticazione a due fattori e le scansioni anti malware automatiche/pianificate con reportistica via e-mail.

Pricing e funzionalità sono disponibili sull’apposita pagina di Wordfence Security Premium. Fidatevi: saranno soldi ben spesi. 🙂

8 Commenti

  1. Mj Web Studio 08/09/2015
  2. Francesco 07/05/2016
  3. Matteo 09/06/2016
    • Fabrizio Leo 21/06/2016
  4. Andrea 27/09/2016
    • Fabrizio Leo 19/10/2016
  5. Andrea 27/09/2016

Rispondi all'articolo

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

Time limit is exhausted. Please reload the CAPTCHA.