I parametri da inserire nel file di configurazione di squid per abilitare l'autenticazione base degli utenti non sono molti e i commenti all'interno del file sono molto chiari e specifici.
Se ci si avvale di un'installazione di default di squid non occorre compilare programmi aggiuntivi come consigliato nello squid.conf. Bisogna operare sulla direttiva auth_param. Di norma i valori di default saranno sufficienti e occorrerà in caso si desideri abilitare l'autenticazione base scommentare la riga che riguarda questo tipo.
La riga dovrebbe apparire come segue
#auth_param basic program < uncomment and complete this line >
Quello che occorre è specificare il percorso del programma esterno che si occupa di autenticare gli utenti e il percorso del file delle password.
Per un'autenticazione base il programma che occorre si chiama ncsa_auth e si trova su RedHat9.0 in /usr/lib/squid/
Per il file delle password il percorso è arbitrario e va creato con il comando di Apache htpasswd.
La sua sintassi è la seguente
htpasswd -c [nome del file] [nome dell'utente]
Se non ci si trova nella directory scelta per questo file occorrerà specificare l'intero percorso oltre al nome del file.
Una volta effettuata questa operazione la riga del file squid.conf deve essere modificata come segue:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squidpasswd
Ora non resta che specificare una acl che abiliti l'autenticazione con l'istruzione proxy_auth.
acl nomeacl proxy_auth REQUIRED
e di seguito permettere l'accesso a questa acl
http_access allow nomeacl
In questo modo all'accesso di un browser al proxy si dovrebbe aprire una finestra che chiede di inserire utente e password.
Questa forma di autenticazione, come detto, è base e i parametri utente e password sono inviati in chiaro; per approfondire e implementare un'altro tipo di autenticazione leggere la documentazione ufficiale di squid. Da notare che si possono specificare più metodi in comune e verranno considerati dal client in ordine di sicurezza dalla più alta a quella base.
aclParseAclLine
fatto tutto però ricevo come risposta l'errore IGNORING invalid ACL ... "no autentication schemes are fully configured" eppure a mano, lanciando il programma ncla_auth [path file passwd]
scrivendo [login] [passwd]
,ottengo "OK" quindi funziona.
non è mica che si deve compilare con qualche opzione tipo .. che ne so .. allow_auth o qualcosa di siemile per ottenere sodddisfazione?