Select Page

Il tuo blog è sicuro? Ecco un plugin per la sicurezza di WordPress

Il tuo blog è sicuro? Ecco un plugin per la sicurezza di WordPress
Shares

C’era una volta un fantastico blog, con un tema super personalizzato e ricco di contenuti interessantissimi. Ma, ahimè, il suo proprietario aveva trascurato un paio di cose sulla sicurezza di WordPress. Così un giorno, un hacker cattivo arrivò su questo sito e in men che non si dica tutto era perduto…

Quel sito in WordPress potrebbe essere il tuo. Come ti stai proteggendo dagli attacchi dei malintenzionati?

sicurezza di wordpress Francesco Maietti

La sicurezza di WordPress è un argomento un po’ troppo trascurato sul web. Essendo un software open source molto supportato e diffuso, i bug della sicurezza vengono individuati e corretti nel giro di pochissimo tempo. Malgrado ciò ci sono dei limiti al di fuori dei quali gli sviluppatori non possono agire.

Questi limiti riguardano il modo con cui noi configuriamo il nostro sito in WordPress, le password che usiamo e i permessi che impostiamo sul server. Ovviamente si aggiungono i bug presenti ma non ancora individuati, o almeno non dalle persone giuste.

Ogni accorgimento può essere fatto “a mano” oppure in modo automatico con i famosi plugin, tra cui quello che consiglio e oggetto dell’articolo di oggi è iThemes Security.

Dato che parliamo di plugin, ricordo che troppi plugin fanno male al nostro sito. Ne parlo in questo articolo: Plugin WordPress: come non usarne troppi e rallentare il sito.

iThemes Security, il miglior plugin per la sicurezza di WordPress

Una volta scaricato ed installato non ci resta che attivarlo. Per farlo dovremo richiedere gratuitamente una API key mediante l’apposito pulsante che apparirà nella pagina dei plugin non appena lo avremo attivato.

Ora siamo pronti per configurarlo. Sconsiglio di utilizzare il pulsante per l’auto configurazione perché potrebbero essere attivate delle opzioni indesiderate.

Rechiamoci in Security -> Settings e procediamo a spulciare le singole opzioni.

In questo articolo ti spiegherò ogni singola opzione di iThemes Security, spiegandoti anche perchè attivarla o meno. Se vuoi passare subito al sodo ti ho preparato uno screenshot della mia configurazione, in modo da poterla applicare in poco tempo e non dover leggere tutto l’articolo. Potrai scaricarlo qui sotto, in cambio ti chiedo di condividere questo articolo!

[sociallocker]Scarica il file PDF![/sociallocker]

Ricordati poi di raccontare come affronti la sicurezza di WordPress nei commenti in modo da arricchire questo articolo e aiutare tutti gli altri lettori!

Le impostazioni con la spunta vanno ovviamente spuntate, quelle con la croce vanno lasciate disabilitate…

  • ✔️ Allow iThemes Security to write to wp-config.php and .htaccess: beh non c’è molto da spiegare di questa opzione. Per garantire una miglior sicurezza di WordPress ed una perfetta configurazione, iThemes chiede di poter accedere ai due principali file di configurazione.
  • ✔️ Send digest email: riceverete delle email di riepilogo riguardo la sicurezza del vostro sito.
  • ✔️ Enable Blacklist Repeat Offender: abilita una funzionalità che permette “bannare” coloro che terranno per più volte comportamenti lesivi per la sicurezza. I limiti massimi dopo i quali scatterà il ban li andremo impostare subito dopo questa opzione.
  • Blacklist Threshold = 8 Lockouts: quante volte lo stesso IP dovrà essere bloccato prima di un ban definitivo.
  • Blacklist Lookback Period = 1 Days: per quanto tempo il sistema si ricorderà che l’indirizzo IP è stato bloccato.
  • Lockout Period = 10 Minutes: per quanto tempo l’indirizzo verrà bloccato.
  • Lockout White List: inserisci il tuo indirizzo IP utilizzando l’apposito pulsante per il rilevamento automatico. Se come me hai una ADSL con indirizzo IP dinamico (quindi non è fisso), ti conviene utilizzare un layout per coprire un range più ampio di possibili indirizzi IP: ad esempio 123.123.*.* aggiungerà alla Whitelist tutti gli IP che iniziano con 123.123.

Qui mi fermo e spiego meglio la situazione: abbiamo attivato un blocco che permette di effettuare il ban di utenti che tengono comportamenti lesivi troppo frequentemente. In base alle impostazioni inserite, lo stesso indirizzo IP deve superare 8 blocchi temporanei nel giro di 24 ore per essere bannato. Ogni blocco gli impedirà l’accesso al sito per 10 minuti.

Nella Whitelist ci siamo esclusi da questo controllo.

Lasciamo invariate le opzioni di notifica e proseguiamo.

  • ❌ Allow iThemes to track plugin usage via anonymous data: disattiviamo questa opzione se non vogliamo che iThemes tracci le nostre attività. Per la sicurezza di WordPress non è affatto importante.
  • ❌ Disable File Locking: anche questa opzione lasciamola disattivata, come del resto consiglia anche lo stesso iThemes Security.
  • ❌ Disable Proxy IP Detection: tecnicamente se utilizziamo un CDN come cloudflare potremmo tranquillamente attivarla per migliorare il rilevamento dell’indirizzo IP dei malintenzionati. Se non sai cos’è un CDN e/o se non lo stai usando, non attivare questa opzione.
  • ❌ Hide security menu in admin bar: l’opzione permette di rimuovere il collegamento alla sezione Sicurezza dalla barra in alto (quella nera che vi permette di accedere velocemente ai commenti o ad un nuovo articolo per capirci). Decidi tu se toglierla, per me fa sempre comodo un collegamento rapido per cui non metto la spunta.
  • ✔️ Enable 404 detection: permette di monitorare se un utente sta più volte tentando di accedere ad una pagina del nostro sito che non esiste. Sbattere ripetutamente la testa contro il muro è sinonimo che l’utente in realtà è un bot…

Pausa. Ora iniziano una serie di opzioni che non ci interessano più di tanto. L’unica che raccomando, quando dovrai rimanere per tanto tempo lontano dal tuo blog è la modalità Away. Questa opzione chiuderà l’accesso all’amministrazione per il tempo che impostiamo a CHIUNQUEAttenzione quindi a come la impostate perchè potreste “chiudervi fuori” dal sito fino a che il timer non è scaduto. Ok, la sicurezza di WordPress è importante, ma cerchiamo di non comprometterne l’usabilità!

Proseguiamo.

  • ✔️ Enable HackRepair.com’s blacklist feature: HackRepair.com mette a disposizione una lista nera di indirizzi IP che il suo redattore, Jim Walker, ha stilato nel corso degli anni. Questo permette al nostro WordPress di individuare subito i malintenzionati senza che tentino più volte di fare dei danni.
  • ❌ Enable ban users: se la lista è errata meglio non saltare subito a conclusioni affrettate…

Ora dovrai attivare e impostare la protezione dagli attacchi Brute Force (ti rimando a Wikipedia se non sai cosa sono). Per attivare questa funzionalità sarà necessaria un’altra API key che otterremo in automatico inserendo il nostro indirizzo email nel campo Get your iThemes Brute Force Protection API Key. Raccomando di togliere la spunta da Receive email updates about WP Security from iThemes perchè si tratta di pubblicità.

Salva le impostazioni utilizzando il pulsante più in basso Save All Changes. Così facendo iThemes ti fornirà una API Key e la troverai al posto dell’indirizzo email che hai inserito poco fa.

Proseguiamo.

  • ✔️ Use the iThemes IPCheck Service to ban IPs reported as a problem by other users in the community: vi permette di condividere gli indirizzi IP bannati con la community di iThemes. In questo modo si creerà una black list condivisa completa e aggiornata.
  • ✔️ Enable local brute force protection: attiviamo finalmente l’opzione.

Passiamo alla funzionalità Hide Login Area.

  • ✔️ Enable the hide backend feature: permette di “nascondere” l’amministrazione di WordPress, la pagina di Login quella di registrazione, cambiando il termine “wp-admin”, wp-login, ecc, con un altro a nostra scelta.
  • Login Slug è il termine per la schermata di login. Dovrà essere ovviamente diverso dai termini che già WordPress utilizza, come wp-login, wp-admin, ecc. Consiglio di cambiarlo.
  • Register Slug: è il termine per la schermata di registrazione. In questo caso sconsiglio di cambiare l’impostazione di default per non creare caos con altri pluign o temi.
  • ✔️ Enable theme compatibility: permette di limitare le incompatibilità con il tema.
  • Theme Compatibility Slug: è la pagina verso la quale saranno indirizzati tutti i tentativi di accesso ai vecchi termini che sono stati sostituiti.
  • Custom Login Action: lasciamo questo campo vuoto.
  • Front End SSL Mode: lasciatela su OFF se il vostro dominio non supporta l’HTTPS o se non ne avete idea…
  • ❌ Force SSL for Dashboard: come sopra…
  • ❌ Enable strong password enforcement: permette di forzare gli utenti all’uso di password forti, ossia lunghe e composte da cifre, lettere e simboli. Raccomando di disattivarla, l’importante è che sia forte la password di tutti gli utenti che possono accedere all’amministrazione.
  • ✔️ Protect System Files: permette di bloccare l’accesso ai file “sensibili” di WordPress da parte del pubblico, come il file wp-config.php, il readme.html, install.php, ecc.
  • ✔️ Disable Directory Browsing: permette di bloccare l’accesso alle directory di WordPress.
  • ✔️Filter Request Methods: permette di filtrare i parametri passati via GET e POST.
  • ✔️Filter Suspicious Query Strings in the URL: come dice il nome, controlla che non ci siano query sospette nell’URL che possano nuocere la nostro Database.
  • Filter Non-English Characters: filtrare caratteri non inglesi in un sito italiano potrebbe essere pericoloso.
  • ✔️Filter Long URL Strings: permette di controllare e filtrare URL molto lunghi, che potrebbero quindi contenere del codice malevolo.
  • Remove File Writing Permissions: rimuovere i permessi di scrittura ai file potrebbe compromettere il buon funzionamento di WordPress.
  • ✔️Disable PHP in Uploads: beh chi è quel pazzo che permetterebbe di caricare file PHP sul proprio sito web?
  • ✔️Remove the Windows Live Writer header: non ci occorre se non utilizziamo applicazioni come Windows Live Writer.
  • ✔️Remove the RSD (Really Simple Discovery) header: anche questa funzione si può rimuovere qualora non utilizziamo servizi via XML-RPC come Flickr.
  • Reduce Comment Spam: meglio lasciare questo compito ad Akismet…
  • ✔️Disable File Editor: impedisce la modifica diretta ai file del nostro sito. Raccomando la sua attivazione ma tenete conto che in seguito vi sarà impossibile utilizzare, ad esempio, l’editor dei file dal tema.

Ok adesso arriviamo ad una zona “critica”: il servizio XML-RPC. Io lo utilizzo molto per ‘app WordPress per smartphone e per i pingbacks.

Se a te non interessa nulla di tutto ciò, disattivare l’XML-RPC può solo far bene alla sicurezza di WordPress. In caso contrario non bloccarlo!

Stesso discorso vale per l’opzione Multiple Authentication Attempts per XML-RPC Request, soprattutto se il vostro blog è gestito da più autori.

  • Disable login error messages: modificare il classico errore di autenticazione ha senso, disabilitarlo no.
  • Force users to choose a unique nickname: forzare gli utenti alla scelta di un nickname unico non è molto saggio per quanto possa essere più sicuro.
  • Disables a user’s author page if their post count is 0: se un nuovo autore inizia la sua “avventura” sul nostro blog, non ha senso bloccargli la pagina autori se non ha mai scritto un post…

FINITO!

Salviamo e godiamoci il nostro nuovo WordPress blindato!

Stop User Enumeration: la ciliegina per la sicurezza di WordPress

Un aspetto molto importante che iThemes Security non tratta è l’enumerazione degli utenti: di default WordPress numera gli utenti registrati con un numero progressivo. Andando a tentativi è possibile quindi recuperare l’id utente di ogni iscritto. Esiste un plugin per evitare che WordPress utilizzi un numero progressivo. Si chiama Stop User Enumeration e va semplicemente installato e attivato, senza alcuna configurazione.

Che ne dici, iThemes è o non è il plugin più completo sulla sicurezza di WordPress?

Leave a reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ultimi Tweet