9 cose da fare per aumentare la sicurezza di WordPress

WordPress è uno dei CMS (Content Management System) open source più utilizzati al mondo, con oltre il 14,4% di market share a livello globale. Ciò vuol dire che un sito su 7 è assistito dalla piattaforma programmata per la prima volta nel 2003 da Matt Mullenweg e Mike Little, e oggi giunta alla sua versione 4.0.

Come ogni software popolare, anche WordPress è un bersaglio appetito da hacker e malintenzionati di qualsiasi genere, che vogliono sfruttare le vulnerabilità del sistema per poter accedere a dati sensibili o addirittura prendere il controllo del server su cui il sito è ospitato.

Tale scenario può apparire eccessivamente catastrofista ma in realtà può stupire quanto il tema della sicurezza in ambito web sia trascurato da professionisti del settore di ogni taglia, reputazione e località. E soprattutto occorre considerare quale sia la posta in gioco: si va dal semplice de-facing di un sito, che costringe a ripristinare backup e dati sottratti, alla perdita di dati sensibili e del controllo di interi server con conseguenze catastrofiche per ogni organizzazione.

Mettere in sicurezza un server è cosa complessa. Noi di Liquid Factory lo lasciamo fare ai nostri partner di hosting, i ragazzi di Shellrent, che lo fanno in modo egregio, pertanto non approfondiremo qui questo aspetto. Ci limiteremo a dare 9 semplici consigli per far sì che la vostra installazione di WordPress sia più sicura possibile.

1. Rendi il tuo login sicuro

Il login è certamente la parte più importante da mettere in sicurezza. La prima misura da adottare è l’installazione di un certificato SSL, che eviterà la trasmissione di dati in formato “plain text” intercettabile.

Una volta acquistato un certificato SSL per il dominio specifico (ne esistono anche di economici sotto i 10 dollari), installatelo tramite il vostro hosting provider e forzate il login e l’amministrazione di WordPress a viaggiare in SSL aggiungendo le due seguenti righe al file wp-config.php:

define('FORCE_SSL_LOGIN', true);

e

define('FORCE_SSL_ADMIN', true);

Una volta fatto ciò occorre occuparsi delle utenze di amministrazione. Per prevenire attacchi di “bruteforcing”, o almeno limitarli, consigliamo quanto segue:

  • Evitare di impostare “admin” come username dell’amministratore. È il primo bersaglio per il bruteforcing.
  • Realizzare invece un account da semplice “subscriber” con username “admin” in modo da “ingannare” i potenziali malitenzionati.
  • Utilizzare password complesse fatte di lettere maiuscole, minuscole, numeri e caratteri speciali. Una password di 8 caratteri richiede poche ore per essere forzata, una di 64 caratteri richiede mesi.

2. Imposta una routine di backup

Non avere un backup del proprio sito e del proprio database è semplicemente folle. Che voi possiate permettervi un backup Tivoli o che dobbiate accontentarvi di WpBackup, impostatelo! Con cadenza giornaliera preferibilmente o almeno con cadenza settimanale.

3. Aggiornare WordPress e i plugin

Aggiornate sempre sia il core di WordPress che i singoli plugin o temi di terze parti. Che poi avete davvero bisogno di tutti quei plugin?!

4. Impostare permessi corretti per cartelle e file

755 per le cartelle e 644 per i file. Stop. Non v’inventate cose tipo 777 o un bel CHMOD 755 massivo a file e cartelle perché è pericolosissimo! E soprattutto, se non capite cosa ho appena detto, fatevi aiutare da qualcuno che a fare disastri ci si mette poco.

5. Nascondere la versione di WordPress

Ogni versione di WordPress ha una sua vulnerabilità. Perché dare agli hacker informazioni sensibili come la versione di WordPress? Nascondetela con il seguente codice e cancellate anche i file readme.html, readme.txt e licence.txt nella root del sito.

function wpbeginner_remove_version() {
return '';
}
add_filter('the_generator', 'wpbeginner_remove_version');

6. Cambiare il prefisso delle tabelle

Molti script malevoli danno per scontato che il prefisso delle tabelle di WordPress nel database sia “wp_”. Cambiatelo in qualcosa di meno intuibile.

7. Impostare le secret key

Le secret key consentono di resettare le sessioni e i login attivi. In questo modo, un eventuale malintenzionato che abbia effettuato l’accesso (o un ex amministratore o dipendente che ancora avesse delle sessioni amministrative attive…) non avrebbe più modo di interagire con il database. Potete farlo da qui: https://api.wordpress.org/secret-key/1.1/salt/

8. Impedire l’accesso al wp-config.php

Wp-config.php è una miniera di informazioni per un hacker. Impedite l’accesso aggiungendo queste righe al file htaccess:

<files wp-config.php>
order allow,deny
deny from all
</files>

Ah, e settate l’htaccess con permessi 640 per evitare di rendere tutto vano!

9. Disabilitare l’edit da backend

Infine, disabilitate l’editing dei file da backend con il codice seguente, da aggiungere al file wp-config.php:

define('DISALLOW_FILE_EDIT', true);

 

Bene, spero che questo approfondimento vi abbia dato qualche informazione in più per poter mettere in sicurezza il vostro sito web WordPress. Ovviamente queste sono solo misure minime e non si può pretendere di risolvere l’argomento sicurezza in un semplice articolo di blog, però può essere il punto di partenza per orientarvi a una mentalità di sicurezza sicuramente utile per la vostra organizzazione.

Per concludere un avvertimento: prima di provare qualsiasi pratica riportata in questo articolo fate un backup del vostro sito e contattate il vostro hosting provider per evitare spiacevoli sorprese! Dopotutto c’è solo una cosa peggio di un sito web buttato giù da un hacker: un sito web buttato giù da noi stessi!

Per ulteriori informazioni potete fare riferimento all’ottimo manuale di sicurezza su WordPress che ha ispirato quest’articolo.

 

Federico Giacinti

Federico Giacinti è CEO di Liquid Factory ed esperto di web marketing.