Come aumentare la sicurezza di WordPress

Impariamo ad aumentare la sicurezza di WordPress attraverso qualche semplice espediente e configurando un plugin apposito: iTheme Security!

8 Novembre 2021 Gianni Burei web

Quando si parla di sicurezza, c’è un plugin che uso quasi in tutti i miei progetti in WordPress: iThemes Security. L’ho sempre trovato semplice da configurare e fa esattamente quello per cui è stato fatto: aumentare la sicurezza di WordPress.

Plugin sulla repository di WordPress

Con l’uscita qualche mese fa della versione 8.0 il plugin ha rivisto completamente l’interfaccia di utilizzo. Questa scelta per certi versi è positiva perché ha razionalizzato i settaggi e creato una dashboard di controllo molto più chiara. Però dall’altra ha complicato la vita a chi il plugin già lo conosceva e che ora si trova stravolte tutte le opzioni.

Ecco, questa guida è stata pensata sia per chi sta cercando un modo per rendere più sicuro WordPress, ma anche per chi iThemes Security lo usa già ma si è trovato spiazzato con la nuova interfaccia.

La sicurezza di un sito WordPress

Facciamo prima di tutto una doverosa premessa: per rendere sicuro un sito WordPress (ma anche un sito web in generale), ci sono tutta una serie di buone pratiche da mettere in atto. E queste vanno fatte PRIMA di affidarsi ad un plugin dedicato. Ne ho già parlato tempo fa in questo articolo, ma riassumo brevemente i punti salienti:

  • Evitate di usare Username e Password banali e scontate
  • Aggiornate sempre WordPress e i suoi plugin
  • Scegliete Hosting affidabili e conosciuti
  • Eseguite sempre dei Backup periodici

Ecco, se avete già messo in pratica questi punti sul vostro sito WordPress, l’ultimo passo che vi manca e proprio installare e configurare iThemes Security!

Installazione e configurazione di iThemes Security

Una volta installato e attivato il plugin, dovrete far partire la procedura guidata, cliccando sul menu “Security –> Setup

Come avviare la procedura di configurazione iniziale

La procedura guidata è una delle novità della versione 8.0. Prima di questa infatti la configurazione era molto più breve e semplice ma andava semplicemente ad abilitare le funzionalità base del plugin. In questo caso invece andremo a configurare anche chi si occuperà del plugin e quale sarà il cliente (decidendo anche se lui potrà o meno gestire il plugin).

Riassumendo brevemente i macro-passaggi di questa procedura, in ordine dovremo definire:

  1. Il tipo di sito web: Ecommerce, Blog, Network, ecc.. Per un normale sito web potete scegliere tra Network, Brochure o Portfolio. Questa scelta modificherà in parte gli step successivi, abilitando o meno alcuni passaggi
  2. Vi viene poi chiesto se siamo i proprietari del sito o coloro che l’hanno sviluppato per conto terzi. Anche questo influenzerà i passi successivi.
  3. Se avete indicato al passo 2 che state impostando il plugin per altri, vi viene richiesto chi è il cliente (quindi meglio creargli l’utente prima) e chi invece gestirà il sito. Questa parte serve per decidere cosa potrà o non potrà fare/vedere il cliente riguardo questo plugin di sicurezza.
  4. Allo step “Feature” indicate le funzionalità che volete attivare tra “Login a 2 fattori” e “Brute force protection”. Consiglio di lasciare le impostazioni così come sono che a mio avviso sono un ottimo compromesso tra sicurezza e usabilità.
  5. Su “User Group” Andiamo a configurare per i vari ruoli utente quelle che sono le impostazioni di sicurezza collegate (cosa possono fare con il plugin e soprattutto se devono avere una password forte)
  6. Configure” è un passaggio che potete passare velocemente: serve a richiedere una chiave API per poter avere la “Network brute force protection”. Funzionalità interessante (ma non necessaria) che sfrutta un database online d’IP malevoli che saranno bloccati a priori dal nostro sito.
  7. Su “Notification” invece decidiamo chi riceverà le notifiche via email: vi consiglio fortemente di farle arrivare solo a voi come utente, escludendo il cliente (altrimenti lo spaventate inutilmente).
Fine della procedura di configurazione del plugin

Con l’ultimo step, “Secure Site” si conclude la procedura d’installazione. Ora il vostro sito è molto più sicuro. Se volete vedere la procedura dettagliata passo-passo, vi lascio un link dove ho descritto i vari passaggi, correlati da schermate:

Configurazione avanzata di iThemes Security

Ora, con il plugin attivo e configurato, il vostro sito WordPress sarà molto più sicuro della maggior parte dei siti che trovate online.

Se però volete spingervi più in là possiamo andare a configurare qualche impostazione aggiuntiva che in fase di configurazione iniziale non ci è stata chiesta.

Andando su “Security –> Settings”, troverete in basso 2 link:

  • Tools: Qui potete visualizzare o eseguire alcune procedure. Se non siete pratici vi consiglio di non toccare questa sezione.
  • Advanced: Qui avete le impostazioni avanzate, suddivise per funzionalità sul sistema (System Tweaks) e funzionalità su WP (WordPress Tweaks)

Su “System Tweaks” di norma dovreste trovare già tutto abilitato, quindi non dovrete mettere mano a niente. Sono tutti semplici espedienti applicati direttamente sul server (e quindi tramite .htaccess)

Su “WordPress Tweaks” trovate invece alcuni espedienti per WP. Non tutte le voci sono attive perché alcune di queste potrebbero creare problemi di compatibilità con i plugin installati:

  • XML-RPC permette a servizi esterni di modificare e accedere al back-end. Alcuni servizi/plugin ne fanno uso (ad esempio Jerpack). Se però non li usate, vi consiglio di disabilitarlo, impostandolo su “Disable XML-RPC”
  • Anche le REST-API sono utilizzate dai servizi esterni per leggere i contenuti del sito (novità introdotta con Gutenberg). Anche in questo caso, se non avete servizi esterni collegati, potete metterli a “Restricted Access”.
WordPress Tweaks: configurazione consigliata

N.B.: In alto trovate anche la scheda “HIDE BACKEND” che permette di cambiare i nomi per raggiungere il backend e la pagina di login (che come sapete di base sono “wp-admin” e “wp-login.php”). Personalmente è una configurazione che non imposto mai, quindi ve la sconsiglio.

Notifiche email e File Change Detection

Altro aspetto che trovo molto interessante di questo plugin è la possibilità di ricevere notifiche email su eventuali attività sospette. Le notifiche disponibili sono:

  • Site Lockouts: Ricevete una mail ogni volta che un utente sbaglia le credenziali di accesso. Può essere utile per monitorare un tentativo di Brute force. Di norma però è una notifica che disabilito perché trovo molto invasiva (mi è capitato di ricevere più di 100 email di pochi minuti). Potete configurare i Lockouts direttamente su “Configure –> Global settings” e su “Configure –> Lockouts
  • Security Digest: Questo tipo notifica può essere un buon compromesso rispetto alla precedente. Ricevete infatti una mail giornaliera (o settimanale) che vi indica quanti tentativi di accesso sono falliti sono stati fatti.
  • Database Backup: Potete scegliere di ricevere via email il Backup del database del sito. Per abilitare l’invio periodico dovete andare su “Configure –> Utilities”.
  • File Change: Questa notifica la vedete solo se avete attivato la relativa funzione su “Features –> Site Check”. Questa è la notifica che reputo più interessante in quanto permette di ricevere un avviso quando qualsiasi file del sito viene cambiato (ad eccezione di quelli nella cartella “uploads”). Se infatti un sito venisse bucato, l’unico modo per potercene accorgere è veder comparire dei file strani o che qualche nostro file venga modificato. Occhio però che questa notifica genera spesso dei falsi positivi: ogni volta che aggiorniamo un plugin o il core stesso riceveremo un avviso.. o anche solo se abbiamo una cache del server attiva. Per limitarli sarebbe utile configurare questa funzionalità (cliccando sull’ingranaggio che trovate sempre su “Features –> Site Check”) ed escludendo le cartelle/file che non vogliamo che vengano monitorati.
Pannello di gestione delle notifiche email

La Dashboard di ithemes security

E arriviamo alla fine di questo articolo vedendo l’ultima grande novità di questa versione: la dashboard. Personalmente la trovo molto carina e ben fatta. Prima di questa avevamo a disposizione solo la sezione log per tenere traccia degli attacchi ricevuti. Ma nulla che ci desse un’informazione temporale ben chiara.

La Dashboard di iThemes Security

Ora abbiamo dei grafici molto chiari che ci mostrano l’andamento degli attacchi Brute Force nel corso dei tempo, gli utenti bloccati, e tanto altro. E come ultima chicca, c’è la possibilità di eseguire uno scan del sito attraverso il Google Safe Browsing (strumento usato da Google stessa per verificare la presenza di malware nel sito)

E con questo è tutto. Spero che questa mini guida possa aiutarvi a migliorare la sicurezza dei vostri siti. Se avete domande o dubbi scriveteli pure qui sotto nei commenti! Alla prossima!

Ancora nessun commento

Lascia un commento

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