Come rendere più sicuro WordPress

WordPress è il CMS (Content management system) più utilizzato al mondo, in continua evoluzione ed innovazione. Essendo Open source è supportato da una community di appassionati e sviluppatori che contribuisce a fixare bug e vulnerabilità. Tuttavia è opportuno adoperare alcuni accorgimenti, affinché si riveli il più sicuro possibile, mettendo in crisi utenti malintenzionati, bot malevoli e Cracker. Un sito web craccato a volte risulta “offline”, in altre spiacevoli situazioni poco dopo l’apertura della pagina web avviene un redirect che reindirizza l’utente altrove, mostrando contenuti non molto graditi. Un “sito bucato” oltre a rendere non piacevole l’esperienza utente, comporta una probabile penalizzazione dai motori di ricerca recando seri problemi a privati e titolari di aziende.

Regole fondamentali per rendere più sicuro WordPress

Mantenere aggiornato WordPress e relativi componenti
Utilizzare un buon Hosting Provider
Non impostare come nome utente “Admin” e per accedere utilizzare una password “alfanumerica”
Utilizzare temi e plugin ufficiali

Mantenere aggiornato WordPress e relativi componenti

Mantenere aggiornato WordPress e relativi plugin installati risulta essere la migliore “strategia difensiva“. Non basta solamente mantenere aggiornato il core di WordPress, è importantissimo installare template e plugin che ricevano tempestivamente i risolutori aggiornamenti per fixare bug o vulnerabilità.

Utilizzare un buon Hosting Provider

il servizio hosting svolge un ruolo determinante per la sicurezza del sito WordPress, cercando di prevenire e bloccare i possibili attacchi informatici. Scegliere un servizio hosting che includa  il “backup automatico dei dati” é fondamentale, in modo da poter effetuare il ripristino di una “versione pulita” del sito web in caso di “spiacevoli situazioni”.

Non impostare come nome utente “Admin” e per accedere utilizzare una password “alfanumerica”

Non utilizzare credenziali di accesso che abbiano come nome utente “admin” e utilizzare una password “robusta”(composta da lettere, numeri e simboli), per formularla possiamo utilizzare un generatore di password online come dashlane.

Utilizzare temi e plugin ufficiali

Installare solo ed esclusivamente template e plugin da fonti sicure. I repository ufficiali di WordPress offrono una vasta gamma di template e plugin gratuiti sottoposti a controlli periodici per garantirne l’integrità e la funzionalità. In alternativa utilizzare temi e plugin “pro” (con funzionalità avanzate e supporto dedicato) acquistandoli esclusivamente nei migliori Marketplace come Envato Market. Non utilizzare assolutamente temi e plugin “craccati/nulled” perchè oltre a costituire un reato, non riceveranno i dovuti aggiornamenti per garantirne la piena compatibilità e funzionalità con la versione di WordPress più recente.

Come rendere più sicuro WordPress dalla prima installazione

 

Durante la prima installazione di WordPress (leggi la guida ufficiale) oltre a configurare il file wp-config.php per mettere in comunicazione i files di WordPress e il database, dobbiamo configurare nello stesso wp-config.php le Salt Keys,  e dobbiamo rinominare il prefisso delle tabelle database.

 

Cosa sono le Salt Keys e come si configurano

 

Le Salt Keys (Authentication Unique Keys and Salts) in italiano (chiavi univoche di autenticazione e salatura), servono a criptare il sistema di accesso al back end di WordPress e a gestire i cookie generati. (Nel momento in cui vengono cambiate qualsiasi utente sino a quel momento loggato verrà disconnesso all’istante).

Il campo delle Salt Keys si trova nel file wp-config.php; per generarle bisogna andare all’indirizzo https://api.wordpress.org/secret-key/1.1/salt/, e sostituire le chiavi di default inserite nel file wp-config.php. (Vedi immagine dimostrativa sotto).

 

 

Come e perché rinominare i prefissi delle tabelle database

 

Le tabelle del database spesso e volentieri sono prese di mira dai Cracker, che tendono tramite “SQL Injection“ di inserire all’interno di esse del codice non “troppo gentile”. Lasciando invariato il prefisso di “default”, le tabelle risultano facilmente individuabili, e quindi attaccabili. Rendiamo agli utenti malintenzionati il lavoro più difficile, rinominando il prefisso della tabella “wp_“.

 

 

  Proteggere l’Utente Admin (SuperUser)

 

Durante la prima installazione di WordPress, viene assegnato all’Utente che creiamo L’ID-1.
L’ID-1 è un ID soggetto ad essere attaccato dai bot malevoli. Una buona pratica consiste nel modificare i privilegi da Amministratore a Sottoscrittoreall’ID-1, dopo aver assegnato i privilegi di SuperUser ad un nuovo Utente, che avrà assegnato come ID il N-2 o superiori.
Così facendo nel caso in cui l’ID-1 venisse bucato, rivelando Username e Password, a Login effettuato l’assalitore si ritroverebbe loggato con il ruolo di Sottoscrittore, e non potrebbe apportare modifiche al core di temi e plugin di WordPress. Inoltre il gestore del sito, accorgendosi dell’attacco sferrato contro l’ID-1, può senz’altro bloccare l’IP ostile.
L’Utente-2 avrà come schermo il filtro difensivo rappresentato dall’ID-1, e quindi risulterà meno vulnerabile a eventuali attacchi informatici.

Istruzioni PHP, i migliori plugin e Cloudflare per rendere sicuro WordPress

Configurare il file function.php per nascondere la versione di WordPress in uso
Utilizzare un plugin per la sicurezza
Utilizzare il Firewall di Cloudflare

Configurare il file function.php per nascondere la versione di WordPress in uso

Inserendo nel file function.php la funzione che segue riusciremo a: nascondere la versione di WordPress in uso, nascondere il tipo di errore riscontrato durante un tentativo di accesso errato, disabilitare la possibilità di recuperare le credenziali di accesso tramite e-mail.

 

<?php
function my_remove_version_info() {
return '';
}
add_filter('the_generator', 'my_remove_version_info');
function remove_css_js_ver( $src ) {
if( strpos( $src, '?ver=' ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'remove_css_js_ver', 9999 );
add_filter( 'script_loader_src', 'remove_css_js_ver', 9999 );
add_filter('login_errors', create_function('$a', "return null;"));
function lost_psw ( $text ) {
if ($text == 'Persa la password?'){$text = '';}
return $text;
}
add_filter( 'gettext', 'lost_psw' );
?>

NB: La funzione va inserita tra il tag di apertura “<?php” e quello di chiusura “?>” , escluderli se sono già presenti nel file.

Utilizzare un plugin per la sicurezza

Installiamo il plugin All In One WP Security & Firewall (consiglio questo perché viene costantemente aggiornato, è abbastanza completo, e non troppo esoso di risorse). Eseguita l’installazione sarà possibile:

— Rinominare la url di Login (escludendo la possibilità di arrivarci tramite stringa www.nomesito.it/wp-admin o www.nomesito.it/wp-login-php).

— Bloccare gli IP (di coloro che tentano più volte di loggarsi inserendo Password o Username errata).

— Proteggere file .txt e .Readme.

— Assegnare i corretti permessi delle cartelle “lato hosting”.

— Escludere la possibilità di modificare i file PHP tramite Back-end.

— Rinominare il nome utente per accedere con il ruolo di “Amministratore” (se è una procedura che non abbiamo eseguito durante la prima installazione).

— Testare il livello di sicurezza della Password di accesso.

— Rinominare i prefissi delle tabelle database (se è una procedura che non abbiamo eseguito durante la prima installazione).

— Impostare delle regole Firewall fondamentali.

—  Disabilitare XML-RPC.

—  Prevenire attacchi malevoli utilizzando query XSS.

—  Bloccare i falsi Googlebot.

—  Bloccare l’Hotlinking delle immagini.

— Disporre di un modulo Anti-Spam.

— Disabilitare la possibilità di selezionare e copiare testo e immagini dal front-end.

— Disabilitare l’User Enumeration  per impedire agli utenti malintenzionati di risalire alla nostra Username.

NB: Consiglio di leggere l’articolo di Flavio “Configurazione Plugin WordPress All In One Wp Security & Firewall” per configurare al meglio All In One WP Security & Firewall 

Utilizzare il Firewall di Cloudflare

Cloudflare è una CDN (Content Delivery Network) che offre svariate opportunità di configurazione per il sito web, come la possibilità di: attivare un certificato SSL, configurare la cache e il minify delle risorse HTMLCSS e Js,  e configurare un Firewall che serve a tutelare il sito da attacchi tipo “DDoS” oltre che a bloccare spammer e Cracker. Configurare Cloudflare è semplicissimo e su Google si trovano tantissime guide e video tutorial. Molto brevemente, bisogna registrarsi ed associare un nuovo dominio: ottenuti i DNS personalizzati, andremo a sostituire quelli impostati dal nostro hosting provider (solitamente il cambio dei DNS avviene entro le 24/h dalla richiesta di trasferimento).

Articoli correlati
Menu