back to top

Mettere in sicurezza WordPress: proteggere la cartella wp-admin da accessi non autorizzati

Vediamo come implementare una maggior sicurezza all’interno del nostro sito proteggendo la dashboard di WordPress da accessi non autorizzati. In questo articolo vedremo diverse tecniche attraverso le quali aumentare il livello di sicurezza della nostra installazione WordPress. Per prima cosa, tuttavia, cerchiamo di spiegare qual’è il problema principale che affligge i siti basati su questo popolare CMS.

Il problema: tutti conoscono la cartella wp-admin

La directory wp-admin di WordPress identifica il percorso per l’accesso alla dashboard del popolare CMS Open-Source. In altre parole, attraverso un’indirizzo web del tipo

http://www.miodominio.ext/wp-admin/

è possibile accedere al pannello di amministrazione di qualsiasi progetto basato su WordPress mediante il quale, una volta autenticati, sarà possibile intervenire sull’aspetto, le funzionalità ed i contenuti del sito web.

Gran parte degli utilizzatori di WordPress ritiene siano sufficienti delle buone credenziali di accesso per proteggere la dashboard da accessi non autorizzati. Tale orientamento, tuttavia, appare poco condivisibile in quanto esistono diverse tecniche (cd. attacchi a forza bruta o brute force) in grado di mettere in crisi anche le password più complesse, senza dimenticare i rischi derivanti dal furto di dati attraverso tecniche di pishing o altro…

Quindi come difendere la nostra cartella wp-admin da eventuali malintenzionati? In questo post vedremo come mettere in sicurezza il nostro sito WordPress evitando che soggetti non autorizzati accedano alla nostra dashboard effettuando, a nostra insaputa, modifiche alle nostre pagine web.

Rinominare la cartella wp-admin

Una prima tecnica consiste nel rinominare la cartella wp-admin. Così facendo i malintenzionati, non conoscendo qual’è l’indirizzo della nostra dashbord, non avranno la possibilità di forzare il login! O meglio: prima di poterlo fare dovranno scoprire l’indirizzo alla maschera di accesso.

Purtroppo rinominare la cartella wp-admin non è così semplice come potrebbe sembrare a prima vista! Se provassimo a rinominare la cartella, infatti, il sistema andrebbe in errore. I riferimenti a tale cartella, infatti, si trovano in vari punti del codice sorgente del CMS ed una sua modifica arbitraria potrebbe a delle serie anomalie nel funzionamento del sito web.

Per effettuare tale operazione, quindi, sarà necessario ricorrere a dei plugin come questi:

  • Protect Your Admin – questo plugin consente all’amministratore di qualsiasi sito basato su WordPress di modificare la URL di accesso alla propria Dashboard, rinominando l’arcinota directory wp-admin in modo assolutamente arbitrario. Così facendo chi cercherà di accedere al percorso originale della Dashboard verrà indirizzato in home page. Oltre a questo il plugin consente di effettuare altre modifiche alla Dashboard implementando, ad esempio un logo personale o cambiandone i colori. Il plugin è scaricabile qui.
  • Change wp-admin login – si tratta di un plug-in molto leggero che consente di cambiare facilmente, e in modo sicuro, il nome della cartella wp-admin in qualsiasi cosa tu voglia. Non rinomina né modifica i file e non determina alcun cambiamento ai sorgenti del CMS, semplicemente intercetta le richieste verso la directory wp-admin e la pagina wp-login.php le quali diventeranno non disponibili (e raggiungibili attraverso nuovi indirizzi che potrai decidere aribitrariamente). Il plugin è scaricabile qui.

Limitare l’accesso alla dashboard ai soli IP autorizzati

Un’altra tecnica per mettere in sicurezza la dashboard di WordPress consiste nel limitarne l’accesso ai soli indirizzi IP autorizzati. Ad esempio potete autorizzare l’indirizzo IP di casa vostra o del vostro ufficio impedendo ad ogni altra connessione remota di accedere con successo alla cartella wp-admin o al file wp-login.php.

Ovviamente per utilizzare questa tecnica sarà necessario disporre di una connessione con indirizzo IP statico in quanto se la nostra ADSL utilizza un IP dinamico, questo cambierà periodicamente! (se invece disponete di un IP statico e volete sapere qual’è potete scoprirlo utilizzando quest semplice servizio online).

Di seguito un esempio di codice da implementare all’interno del file .htaccess del nostro sito WordPress:

<FilesMatch "wp-login.php">
order deny, allow
deny from all
allow from 111.111.111.111
allow from 222.222.222.222
</FilesMatch>

Questo snippet blocca ogni tentativo di accesso al file wp-login.php ad eccezione di quelli provenienti dagli IP autorizzati (nel nostro esempio due diversi IP).

In alternativa potrà essere creato, direttamente all’interno della cartella wp-admin, un file .htaccess con il seguente contenuto:

order deny, allow
deny from all
allow from 111.111.111.111
allow from 222.222.222.222

Nel nostro codice di esempio abbiamo autorizzato due distinti indirizzi IP bloccando ogni altra connessione ai file della cartella.

Utilizzare un plugin per contrastare eventuali attacchi Brute Force

In alternativa alle tecniche viste sopra, possiamo ricorrere a qualche buon plugin per mitigare il rischio di accessi non autorizzati all’interno della nostra dashboard. Vediamone alcuni dei più popolari:

  • Loginizer – si tratta di un plug-in che aiuta a combattere gli attacchi brute force bloccando l’accesso per l’IP dopo che ha raggiunto il numero massimo di tentativi consentiti. È anche possibile gestire blacklist e whitelist di indirizzi IP. È possibile utilizzare varie altre funzionalità come l’autenticazione a due fattori, reCAPTCHA, ecc. Per migliorare la sicurezza del sito Web. Il plugin può essere scaricato gratuitamente da questa pagina.
  • Login LockDown – questo utile plugin registra l’indirizzo IP e il timestamp di ogni tentativo di accesso fallito, bloccando gli indirizzi IP dopo un certo numero di tentativi. Il plugin è scaricabile qui.
  • Limit Login Attempts – questo plugin e si prefigge l’obiettivo di proteggere il sito dagli attacchi di forza bruta, ovvero quegli attacchi in cui si provano nomi utente e password, ripetutamente, fino a quando non si riesce ad entrare. Questo plugin blocca temporaneamente gli IP che hanno cercato di accedere più volte senza riuscirvi ed inoltre rileva i bot mediante la verifica captcha. Il plugin può essere scaricato da questa pagina.

Implementare l’autenticazione a due fattori

Attraverso l’autenticazione a due fattori, l’accesso alla Dashboard di WordPress richiederà non solo l’inserimento delle giuste credenziali d’accesso ma anche il soddisfacimento di un ulteriore requisito di sicurezza (ad esempio l’inserimento di una OTP).

In questo modo la sicurezza della cartella WP admin viene aumentata notevolmente in quanto un malintenzionato non riuscirebbe ad accedervi agevolmente anche qualora conoscesse le credenziali d’accesso.

Per implementare l’autenticazione a due fattori in WordPress è necessario installare un plugin ad hoc:

  • Two Factor Authentication – questo plugin implementa un sistema di autenticazione a due fattori (TFA / 2FA) che prevede, al momento del login, l’inserimento di un codice OTP (One Time Password). Il plugin può essere scaricato qui.
  • Two-Factor – questo plugin consente di integrare un sistema di autenticazione a due fattori potendo scegliere tra molteplici modalità tra cui l’inserimento di un codice OTP, l’invio di un codice tramite e-mail o altro. Il plugin può essere scaricato qui.
  • Google Authenticator – questo plugin consente di integrare un sistema di autenticazione a due fattori sfruttando Google Auth o altri metodi. E’ compatibili con i principali plugin come Woocommerce e Buddypress. Per maggiori informazioni su questo plugin clicca qui.

Conclusioni

Una delle prime, semplici, tecniche di difesa per proteggere un sito web consiste nell’occultare la pagina di accesso alle funzioni amministrative. Il fatto che tutti i siti web basati su WordPress condividono la medesima cartella per le funzioni di gestione è, pertanto, un elemento di fragilità per tutti i progetti basati su questo popolare CMS.

Alla luce di quanto detto, pertanto, appare opportuno che chiunque utilizzi WordPress per scopi professionali adotti gli opportuni stratagemmi a protezione della cartella wp-admin onde evitare che sia esposta agli attacchi da parte di malintenzionati.

Nei casi più semplici può essere sufficiente modificare la URL di questa cartella oppure limitarne l’accesso autorizzando specifici indirizzi IP. Quando ciò non è possibile, l’implementazione di plugin di contrasto agli attacchi di tipo brute-force e/o l’introduzione di un sistema di autenticazione a due fattori sembrano essere le soluzioni migliori a garantire un adeguato livello di sicurezza al sito web.

Ovviamente tutto quanto detto non sostituisce le normali pratiche di sicurezza di WordPress che prevedono aggiornamenti frequenti del core, dei temi e dei plugin nonché, ovviamente, un costante ed attento monitoraggio dello stato del sistema nel suo complesso da parte di tecnici competenti in grado di intercettare per tempo eventuali problematiche e fragilità.

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

Leggi anche...

Clonare un sito WordPress

Esistono diverse ragioni per cui potrebbe essere utile clonare...

Disabilitare i commenti in WordPress

Una delle caratteristiche da sempre più apprezzate nei siti...

WordPress: Custom Post Type, cosa sono e come crearli

Nonostante qualcuno pensi che Wordpress sia una semplice piattaforma...

Mettere WordPress in manutenzione senza usare plugin

Quando si deve mettere in manutenzione un blog basato...

Password WordPress dimenticata: come risolvere il problema

Come capita spesso per altre password, anche quella per...

Come disabilitare, limitare o cancellare le revisioni in WordPress

Le "revisioni" sono una funzionalitร  molto interessante di WordPress,...
Pubblicitร