Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

File listing e doppia autenticazione

Come gestire il File listing delle directory in un'installazione di WordPress e abilitare l'autenticazione a due fattori per proteggere il pannello di controllo.
Come gestire il File listing delle directory in un'installazione di WordPress e abilitare l'autenticazione a due fattori per proteggere il pannello di controllo.
Link copiato negli appunti

File listing delle directory

Quando l'utente prova ad accedere ad una directory della propria istallazione di WordPress, il server restituisce automaticamente il file indice presente. Se questo dovesse mancare, il browser restituirà un elenco delle risorse contenute nella directory. L'immagine mostra parte del contenuto della directory /wp-includes di un'istallazione in cui non è stato inibito il file listing.

Figura 1. File listing
File listing

Queste impostazioni dei browser aprono una vulnerabilità. Il rischio è che chiunque potrà accedere al contenuto dei folder dell'istallazione, quindi non soltanto ai file dati, ma anche ai file del core e di configurazione. Grazie al file .htaccess è possibile inibire il file listing con una semplice direttiva:

# disable directory listing
Options All -Indexes

Nella situazione opposta, cioè se si dovesse avere la necessità di abilitare il file listing in una sub-directory, che potrebbe essere la directory /wp-content/uploads, la direttiva da inserire nel file .htaccess del sub-folder è la seguente:

# enable directory listing
Options All +Indexes

Per un controllo più granulare dei file che si intende nascondere dal file listing, si può utilizzare la direttiva IndexIgnore:

IndexIgnore *.mp3 *.zip *.txt *.ini

Un tentativo di accesso diretto ad una directory protetta dal file listing dà come risultato un errore 403, "Forbidden":

Figura 2. 403 Forbidden.
403 Forbidden

Doppio livello di autenticazione

Una pratica adottata sempre più di frequente per aumentare il livello di sicurezza del pannello di amministrazione di WordPress è quella del doppio livello di autenticazione. Le soluzioni a disposizione per implementare questa misura di sicurezza sono diverse. Da un lato l'amministratore può sfruttare la Two Factor Autentication, funzionalità che WordPress offre a partire dal 2013 e già analizzata.

In alternativa alla Two Factor Autentication, l'amministratore può implementare un sistema di doppia autenticazione sfruttando ancora le funzionalità di Apache.
Oltre al file .htaccess, occorrerà creare un file .htpasswd. Il primo ospiterà, come al solito, le direttive, il secondo registrerà una coppia username:password. La password viene generata in base all'algoritmo MD5 e, per gli utenti Unix/Linux e Mac può essere generato da linea di comando con l'istruzione:

htpasswd -bc /path/to/dir/.htpasswd username password

Nel file .htpasswd sarà generata una stringa simile a:

username:$apr1$MbfSmZ6W$kGEo9gM1Tj.s7qb74mBFe1

Si apra quindi il file .htaccess e si aggiungano le seguenti direttive:

<IfModule mod_authn_file.c>
AuthName "Inserire la password"
AuthType Basic
AuthUserFile /path/to/wp-admin/.htpasswd
<Limit GET POST>
Require valid-user
</Limit>
</IfModule>

La direttiva AuthName imposta il nome dell'autorizzazione e l'etichetta della finestra che richiede le credenziali. AuthType imposta il tipo di autenticazione, AuthUserFile imposta il percorso del file in cui sono memorizzate le credenziali. <Limit> imposta il controllo solo alle richieste con metodo GET e POST.

Perchè tutto possa funzionare, ovviamente, sarà necessario impostare il giusto percorso per il file .htpasswd, sia nella shell dei comandi, sia nel file .htaccess.

L'immagine conclusiva mostra la finestra di dialogo visualizzata all'utente che tenta di accedere al pannello di amministrazione.

Figura 3. Tentativo di accesso.
Password

Ti consigliamo anche