Quante volte abbiamo trovato nel nostro access_log centinaia, se non addirittura migliaia, di tentativi di accesso alla nostra pagina di amministrazione, per cercare di “bucare” il nostro sito? Con il passare del tempo gli hacker (o presunti tali) sono sempre più sofisticati, così come strumenti a loro disposizione. Ma per ovviare questo problema, abbiamo un semplice strumento a disposizione di tutti gli utenti che utilizzano un apache come webserver. Questo strumento di semplice configurazione è la protezione di una cartella con una password tramite l’adeguata configurazione del file .htaccess.
Proteggere cartella con password htaccess. Alla base di tutto c’è appunto il file .htaccess che è un semplice file di testo che permette di personalizzare e quindi sovrascrivere (dove possibile) le configurazioni presenti nel file di configurazione (di solito denominato httpd.conf ) del webserver apache.
Per prima cosa, attraverso riga di comando (oppure tramite FTP se preferite), dobbiamo andarci a posizionare nella cartella che vogliamo proteggere. Facciamo finta che il nostro sito web www.miosito.com sia istallato sul nostro server nella cartella /var/www/sito e che la cartella da proteggere sia www.miosito.com/ADMIN istallata su /var/www/sito/ADMIN (ovviamente ognuno di noi ha esigenze diverse. Sarà sufficiente cambiare i path, adeguandoli alle nostre necessità, in base a quale sia il nome della nostra cartella) . Nel nostro caso di esempio lanciamo il comando:
# cd /var/www/sito/ADMIN/
Questa è la cartella da proteggere ed è qui che dobbiamo creare il nostro file .htaccess .
Possiamo crearlo direttamente tramite il comando ‘vi‘ oppure possiamo crearlo in locale per poi trasferirlo tramite ftp nella nostra cartella /var/www/sito/ADMIN/ . Nella sostanza non cambia. L’importante è il contenuto del file htaccess. Vediamo quali direttive deve contenere il file affinché si possa proteggere la nostra cartella.
Il nostro file dovrà contenere quanto segue (più avanti spiegherò riga per riga in modo che possiate poi procedere alla personalizzazione):
AuthType Basic
AuthName “restricted area”
AuthUserFile /var/www/.htpasswd-users
require valid-user
Vediamo le voci modificabili:
Da quest’ultima riga (AuthUserFile) capiamo quindi che i files necessari per proteggere il nostro sito sono 2:
.htaccess contenuto nella cartella da proteggere
.htpasswd-users (o .htpasswd, o qualunque altro nome abbiamo scelto) che contiene user e password degli utenti che potranno accedere alla nostra area protetta.
Il file .htpasswd a differenza del .htaccess non contiene direttive, ma soltanto una lista di stringhe che appaiono più o meno nel modo seguente:
amministratore:t6g9kRVDz9l60
demouser:h6H69JUT69H6t
Vediamo come creare gli utenti e le loro password.
Il modo più sicuro per creare le nostre credenziali è quello di lanciare il comando htpasswd da riga di comando. Ci sono un paio di opzioni utili:
C’è una seconda opzione per creare il vostro file delle password. Questa opzione si rende particolarmente utile qualora abbiate accesso al vostro server tramite FTP (o SFTP) e non tramite shell ssh. Senza accesso via shell (e quindi alla riga di comando) non sarete in grado di lanciare il comando htpasswd per cui non potrete generare la password. Per aggirare questo problema avete la possibilità di creare il vostro .htpasswd online, via web. Vi verrà chiesto lo username e la rispettiva password. Nel nostro test abbiamo creato l’utente amministratori con password ciaociao (non usate mai una password del genere 😀 ). Il risultato sarà il seguente: administrator:$apr1$836PGuay$Ep74onHwj5pKvs0INsYR20 .
A questo punto non dovrete fare altro che aprire il file .htpasswd (nel nostro esempio in /var/www/.htpasswd-users demouser) e incollarci dentro quanto appena creato.
Abbiamo terminato le modifiche e se avete fatto tutto per bene, richiamando http://www.miosito.it/ADMIN dovrebbe apparire la schermata in cui digitare lo username e la rispettiva password scelta precedentemente.
Spero la guida vi sia utile.
Se avete dubbi o domande, non esitate a commentare 🙂
Buon Lavoro!
[…] configurazione offre la possibilità di proteggere web le pagine tramite una password. Se siete interessati a questa funzionalità, potete leggere l’apposita […]
Info sull'autore