Recentemente, abbiamo visto come utilizzare Squid come Reverse Proxy, sapendo che l’obiettivo primario del prodotto è quello di essere usato come Proxy Internet. In questa guida voglio proporvi una delle 3 diverse autenticazioni per Squid che utilizzo maggiormente: l’autenticazione http digest. l’http digest è un modo semplice per gestire le utenze tramite un semplice file di testo e le password degli utenti, cryptate in MD5. Comodo per la gestione di poche utenze e per non appesantire troppo Squid. Le autenticazioni posso essere utilizzate sia se si utilizza Squid come Proxy Internet sia come Reverse Proxy.
Se utilizziamo Squid come Reverse Proxy potrebbe essere utile per proteggere pagine o directory attraverso autenticazione, ad esempio per proteggere l’accesso ad un sotto dominio, ad una pagina come www.miosito.com/wp-admin ecc. Mentre se utilizziamo Squid come Proxy Internet possiamo gestire l’accesso al proxy tramite username e password.
Vediamo come utilizzare questo metodo di autenticazione con Squid.
Creiamo l’utenza attraverso il comando:
# htdigest -c /etc/squid/user_squid WEB-PROXY <username>
sostituendo <username> con l’username che vogliamo inserire, e WEB-PROXY con il realm che vogliamo associare.
l’opzione “-c” crea il file /etc/squid/user_squid. Se vogliamo aggiungere un ulteriore utente il comando da utilizzare è:
# htdigest /etc/squid/user_squid WEB-PROXY <username2>
lanciato il comando ci verrà chiesto di inserire la password.
create le nostre utenze, modifichiamo il file di configurazione di Squid con il nostro editor preferito:
# vim /etc/squid/squid.conf
e aggiungiamo all’inizio del file, le righe:
auth_param digest program /usr/lib/squid/digest_pw_auth -c /etc/squid/user_squid
auth_param digest children 5
auth_param digest realm WEB-PROXY
uth_param basic credentialsttl 1 minute
auth_param basic casesensitive off
aggiungiamo l’acl:
acl users proxy_auth REQUIRED
http_access allow uesrs
in questo modo abiliteremo tutta la navigazione internet solo agli utenti autenticati. Mentre se vogliamo autenticare solo alcuni siti utilizziamo
acl users proxy_auth REQUIRED
acl authurl url_regex -i "/etc/squid/authurl.txt"
http_access allow authurl users
http_access allow all
dove inseriremo nel file /etc/squid/authurl.txt tutti i siti accessibili agli utenti che hanno username e password. Utile per bloccare ad esempio facebook o siti interni a tutti e abilitare la visione solo agli utenti che hanno user password.
La stessa configurazione è possibile utilizzarla per Reverse Proxy, in questo caso nel file authurl.txt inseriremo le pagine o sotto domini che vogliamo proteggere con username e password ad esempio:
wp-admin
wp-login.php
phpmyadmin.miodominio.com
completata la nostra configurazione riavviamo squid o ricarichiamo la configurazione con il comando:
# squid -k reconfigure
Ora non ci rimane altro che visualizzare i log di squid e verificare che l’autenticazione funzioni.
La prossima volta vedremo come utilizzare utenze in db mysql con squid.