Cookie

Apache: proteggere il contenuto di una directory

Pubblicato da TheJoe il

Tempo di lettura stimato: 2 minuti

Attenzione


Questo articolo è stato pubblicato più di un anno fa, potrebbero esserci stati sviluppi.
Ti preghiamo di tenerne conto.

Oggi vediamo un sistema piuttosto semplice per restringere l’accesso a una data directory disponibile su un server web Apache in modo che ci vengano richieste delle credenziali.

Poniamo il caso di avere a disposizione sul webserver, oltre al sito principale, una o più directory complementari, il cui contenuto debba essere inibito all’utente abituale e reso disponibile solo a chi detiene le credenziali.

/
 |-> index.html
 |-> style.css
 |-> wordpress
 |-> protected_files

Nell’esempio qui sopra abbiamo, oltre ai file index e style le directory wordpress e protected_files. La prima conterrà tutti i contenuti del sito, la seconda conterrà i file che vogliamo nascondere dalla navigazione pubblica, proteggendoli con una password.

Per impostare una password su Apache sarà sufficiente creare i file .htaccess e .htpasswd all’interno della directory protected_files. All’interno di .htaccess inseriremo le righe seguenti:

AuthType Basic
AuthName "AREA RIVERVATA"
AuthUserFile /web/htdocs/www.sito.it/home/protected_files/.htpasswd
Require valid-user

Prestare attenzione a specificare il percorso corretto interno al server, non l’indirizzo raggiungibile dall’esterno.

Il file .htpasswd conterrà lo username e la password (della password verrà salvato solo l’hash). Per generare l’hash esistono svariati siti online, oppure il comando htpasswd dal pacchetto apache-utils (presumibilmente già installato). Per generare il contenuto di .htpasswd lanciare il seguente comando da terminale:

htpasswd -nbBC 10 pippo pluto

-b tratta secondo argomento come password (pluto)
-n mostra la password come risposta stdout (non la salva in un file)
-B usa la funzione hashing “bcrypt”
-C 10 imposta il costo di bcrypt a 10 (tecnicamente specifica un conteggio iterativo di espansione della chiave in una potenza di due)

Guarda qui:  Stampa monocromatica con Gimp

In questo esempio creeremo le credenziali con utente “pippo” e password “pluto“. L’output sarà il seguente:

pippo:$2y$10$Vr456iXtzafSd21bK8ZTguSTLRcaBFoOMUgA1ZwLJRuFQFf.6QQCW

Incolliamo l’output così com’è nel file .htpasswd, carichiamo entrambi i file nella directory “protected_files” e ricarichiamo la pagina.

User e password su Apache - Screenshot

TheJoe

Mantengo questo blog a livello amatoriale dal 2009. Sono appassionato di grafica, tecnologia, software Open Source. Fra i miei articoli non sarà difficile trovarne circa la musica, ed alcuni di riflessioni personali, ma preferisco indirizzare la linea del blog principalmente verso la tecnologia. Per informazioni contattami.

0 commenti

Lascia un commento

Segnaposto per l'avatar

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.