Come proteggere un sito wordpress da attacchi hacker

Come molti oramai sanno bene, WordPress è il CMS più diffuso al mondo, grazie soprattutto alla facilità di utilizzo del suo pannello di amministrazione, la procedura relativamente semplice di installazione e la possibilità di personalizzazione pressoché infinita.

WordPress negli anni si è guadagnato un successo enorme, ma questo successo è accompagnato anche da tantissime informazioni errate, da mal costumi e da molte, troppe, leggende metropolitane. Per chi non ne fosse a conoscenza WordPress è un software open source, il che significa che chiunque può contribuire al suo sviluppo, al suo miglioramento e alla sua crescita. La comunità di questo CMS è molto attiva, sono organizzati moltissimi eventi, tra i quali i Translation Day, vari Meetup sparsi in tutta Italia e molto altro.

Uno degli aspetti più importanti è la possibilità di poter sviluppare temi e plugin in maniera molto molto semplice, imparando soltanto la filosofia utilizzata dal software. Questo è un grosso vantaggio per gli addetti ai lavori, ma contribuisce al falso mito che chiunque, anche poco esperto, può allestire un sito in breve tempo.

Questo discorso è in parte vero, nel senso che effettivamente WordPress dà la possibilità di allestire un sito velocemente e in poco tempo, ed è altrettanto vero che può farlo chiunque anche non conoscendo alcuna riga di codice; tuttavia ho abbastanza esperienza per dirvi che è impensabile sviluppare un sito con precisi obiettivi di guadagno senza conoscere a fondo il web design, la User Experience e i codici di markup e programmazione. E uno degli aspetti che sicuramente un soggetto inesperto non valuta è proprio quello della sicurezza.

Abbiamo precedentemente affermato che WordPress è il CMS più diffuso al mondo e come tale quindi è quello più esposto ad attacchi hacker, a virus e malware. Ancora è quello con maggiori probabilità di essere attaccato, se non altro per ragioni statistiche. Come difendere quindi un sito wordpress da attacchi indesiderati?

Quelle che seguiranno sono indicazioni che consiglio di lasciar fare ad esperti, perché si dovrà intervenire su file importanti per il sito web, non mi sento quindi responsabile per eventuali malfunzionamenti. Altra cosa importante: fate sempre un backup prima di effettuare qualsiasi operazione sul sito.

Plugin per la sicurezza di un sito WordPress

Non occorre installare un numero enorme di plugin, mi limito a segnalarvi i migliori e gratuiti in circolazione per permettervi una protezione di base adeguata:

  1. Wordfence: uno dei migliori plugin di sicurezza, al suo interno è presente un firewall molto efficace, uno strumento di controllo delle password impostate e una reportistica di eventuali attacchi sventati.
  2. NinjaFirewall: altro plugin molto efficace, oltre ad un controllo in tempo reale imposta un login a doppia autenticazione.
  3. WP Login reCAPTCHA: plugin snello ed efficace che permette di inserire il codice captcha nella schermata di login. Occorre ottenere le credenziali gratuite da Google.
  4. HC Custom WP-Admin URL: lo sappiamo bene, l’indirizzo per accedere al pannello admin di wordpress finisce con wp-admin. Ovviamente questo lo sanno bene anche gli hacker, quindi è bene cambiare questo slug grazie a questo plugin, che ci permette di impostare una url personalizzata.

ATTENZIONE: non occorre utilizzare i primi 3 plugin contemporaneamente, in quanto potrebbero essere incompatibili tra loro. Vi consiglio di provarne uno per poi operare una scelta.

Passiamo ora ad operare direttamente sui file di sistema per proteggere un sito WordPress in modo ancora più efficace e performante.

File per la sicurezza di un sito WordPress

  1. Nascondiamo i dati di login: se dopo il nostro dominio inseriamo la stringa ?author=1 WordPress ci restituisce il nome utente amministratore e questo è una facile porta di accesso ai malintenzionati, è utile quindi nascondere questo dato attraverso la modifica del file wp-config.php, inserendo questa stringa:
    add_action(‘template_redirect’, ‘bwp_template_redirect’);
    function bwp_template_redirect()
    {
    if (is_author())
    {
    wp_redirect( home_url() ); exit;
    }
    }
  2. Modifica del file Wp-includes: questa cartella rappresenta il core del nostro CMS, quindi è importante proteggerla attraverso questa stringa da inserire nel file .htaccess:
    # Block the include-only files.RewriteEngine On
    RewriteBase /
    RewriteRule ^wp-admin/includes/ - [F,L]
    RewriteRule !^wp-includes/ - [S=3]
    RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
    RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
    RewriteRule ^wp-includes/theme-compat/ - [F,L]
    # BEGIN WordPress
  3. Proteggiamo il file Wp-config.php: in questo file sono presenti tutti i dati di accesso al Database e, con questi dati, abbiamo praticamente accesso a tutto il sito. Sempre nel file .htaccess inseriamo la seguente stringa:
    <Files wp-config.php>
    order allow,deny
    deny from all
    </Files>

L’ultima indicazione, non meno importante che mi sento di darvi è la seguente: non utilizzate nomi utente come admin, Admin, administrator, ecc. e soprattutto utilizzate password lunghe almeno 10 caratteri e di forma complessa. Un ottimo strumento che uso per generare password efficaci è disponibile a questo link.

Inoltre, come accennato in un precedente articolo, un è un ottimo modo per proteggere un sito WordPress, con un ulteriore vantaggio, quello sul posizionamento; ricordate che Google ama particolarmente i siti protetti da certificato SSL.

Share it