Mettere in sicurezza WordPress: trucchi .htaccess

Conosci l’importanza di rendere sicuro il tuo nuovo sito in WordPress ma vuoi evitare pesanti plugin o complicate soluzioni?

Bene, siamo qui proprio per questo!

Oggi ti farò vedere un metodo semplice e veloce, che ti porterà via 5 minuti al massimo e che ti permetterà di rendere notevolmente più sicuro il tuo sito o blog in WordPress.

Per attuare questa strategia utilizzeremo in modo strategico alcuni file chiamati .htaccess, se non ne hai mai sentito parlare no problem, vediamo subito di cosa si tratta:

il tuo fantastico sito, come sicuramente saprai, è ospitato all’interno di una memoria, a sua volta all’interno di un “computer” che gli permette di rimanere sempre raggiungibile dal web.

Questo computer, con memoria annessa si chiama server, e non fa altro che servire ai computer dei visitatori del tuo sito alcuni file che si rendono via via necessari per visualizzare ed utilizzare tutte le sue funzionalità.

Tale “fornitura di file” è controllata dal server proprio attraverso dei particolari file che si chiamano .htaccess, che in sostanza indicano al server come si deve comportare in determinare situazioni, quali file può “concedere” e quali invece deve tenere top secret.

Il raggio d’azione di questi file si estende a tutti i file presenti insieme a lui nella cartella e a tutte le relative sottocartelle fino a che non trova un altro file .htaccess andremo quindi a posizionare 4 di questi file in questo modo:

  • public-html
    • .htaccess
    • wp-admin
      • .htaccess
    • wp-content
      • themes
        • .htaccess
        • tema 1
        • tema 2
      • plugins
        • .htaccess
        • plugin 1
        • plugin 2
      • includes
        • .htaccess

Sfruttando così le direttive che impartiremo andremo a bloccare direttamente alla fonte la fornitura di alcuni file di WordPress che potrebbero dare accesso al nostro sito (o comunque un vantaggio strategico) ad eventuali hacker.

Per fare questo avrai bisogno di effettuare l’accesso al tuo spazio di hosting ed di arrivare alle cartelle dei file che compongono la tua installazione WordPress.

Fatto questo apri il file .htaccess che trovi nella cartella principale del tuo dominio (ospitato insieme alle cartelle wp-content e wp-admin per intenderci), apri il file cliccando su modifica o apri con editor di codice e incolla sopra ogni altro codice le seguenti istruzioni di codice:

#BLOCCA FILE SENSIBILI
<files .htaccess>
  Order allow,deny
  Deny from all
</files>
<files wp-config.php>
  Order allow,deny
  Deny from all
</files>
#IMPEDISCE APERTURA DELLE PAGINE IN UN FRAME ESTERNO
Header set X-Frame-Options SAMEORIGIN
#PROTEZIONE DA ATTACCHI XSS
Header set X-XSS-Protection "1; mode=block"
#SCRIPT CONSENTITI DAI SEGUENTI URL
#PERSONALIZZALE PROSSIME TRE RIGHE IN BASE AGLI SCRIPT CHE HAI BISOGNO DI CARICARE!!
#  Header set Content-Security-Policy "default-src 'self';"
#  Header set Content-Security-Policy "script-src 'www.google-analytics.com';"
#  Header set Content-Security-Policy "script-src 'www.fonts.googleapis.com';"
#NON CARICARE STILI E SCRIPT INDESIDERATI
Header set X-Content-Type-Options "nosniff"
#NEGA ACCESSO AL FILE XMLRPC.PHP
<files xmlrpc.php>
  Order Deny,Allow
  Deny from all
  #SBLOCCA IL SERVIZIO font-googleapis.com
  allow from 108.177.122.95
  #allow from x.x.x.x.ipcode
</files>
#BLOCCA INFO SU WP
<files readme.html>
Order allow,deny
  Deny from all
</files>
<files license.txt>
  Order allow,deny
  Deny from all
</files>
#NASCONDE LE INFORMAZIONI DEL SERVER
ServerSignature Off
#NASCONDE LA VERSIONE DI PHP
Header unset X-Powered-By

Fatto? Bene!

Allora passiamo oltre, apri adesso la cartella wp-admin e crea (se non è presente) un altro file tramite il bottone crea nuovo file.

Importante!

I file devono chiamarsi esattamente .htaccess qualsiasi altro nome li farebbe ignorare dal server (e perderebbero i loro benefici:-))

Una volta creato incolla come abbiamo fatto prima il seguente codice:

#BLOCCA FILE DI INSTALLAZIONE
<files install.php>
  Order allow,deny
  Deny from all
</files>
<files setup-config.php>
  Order allow,deny
  Deny from all
</files>

Infine crea altri 3 file (sempre .htaccess) all’interno della cartella wp-content, rispettivamente nelle cartelle themes, plugins e uploads, in ogni nuovo file incolla il seguente codice:

#BLOCCA SCRIPT NEI FILES
<files *.php>
  deny from all
</files>

Finito! E’ stato facile vero?

Grazie a queste direttive aggiuntive abbiamo negato l’accesso ad alcuni file sensibili, bloccato gli script php in posti dove non dovrebbero esserci e applicato delle restrizioni all’esecuzione di Javascript, abbiamo inoltre disabilitato il file che espone le REST API di WordPress e nascosto importanti informazioni come le informazioni sul server, sito e sulla versione di PHP utilizzata.

Tutto ciò da solo non rende il tuo sito blindato, ma mette un lungo bastone fra le ruote a coloro che non sono armati di ottime intenzioni.

Ricordati inoltre di fare sempre un backup del sito prima di apportare qualunque modifica, sopratutto lato server (come queste), in modo che se qualcosa non dovesse funzionare potrai tornare indietro senza problemi.

Lascia un commento

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