Autenticare Squid Proxy Server su un server Radius
Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.
Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione. |
Versioni Compatibili Debian 6 "squeeze" Debian 7 "wheezy" Debian 8 "jessie" |
Introduzione
Se nella nostra organizzazione è già presente un server Radius per gestire le utenze e/o le autenticazioni sulla rete, può essere comodo fare in modo che anche il nostro Proxy Server Squid verifichi le autenticazioni collegandosi al server Radius, sollevandoci quindi dal bisogno di gestire una seconda lista di credenziali.
Prerequisiti
- Un server Radius funzionante: Autenticazione degli accessi Wireless tramite server Radius
- Un proxy server Squid funzionante: Proxy Server con filtraggio dei contenuti della navigazione
Il modulo libpam-radius-auth
Debian ha un modulo che permette la connessione a un server Radius e la successiva interrogazione per gestire le autenticazioni. Nei repository è presente il pacchetto già pronto per l'installazione:
# apt-get install libpam-radius-auth
Dopo l'installazione il modulo va configurato, attraverso il file /etc/pam_radius_auth.conf
:
# nano /etc/pam_radius_auth.conf
# server[:port] shared_secret timeout (s) 127.0.0.1:182 Chiave_segreta 3
Quindi cambiamo i permessi del file:
# chown root /etc/pam_radius_auth.conf # chmod +r /etc/pam_radius_auth.conf
Configurazione di Squid
Giunti a questo punto dobbiamo informare il nostro Proxy Server su dove e come reperire le informazioni sulle autenticazioni.
Creiamo un file /etc/pam.d/squid
:
# nano /etc/pam.d/squid
e aggiungiamo le linee seguenti:
auth sufficient pam_radius_auth.so account sufficient pam_radius_auth.so
Verifichiamo che il modulo PAM appena installato funzioni correttamente, utilizzando le credenziali di un utente Radius funzionante:
# /usr/lib/squid3/pam_auth radiustest radiuspassword OK
Un risultato di OK significa che il modulo PAM funziona correttamente, mentre un ERR significa che abbiamo commesso qualche errore e che ci tocca rivedere tutto.
Premiamo CTRL+C per uscire.
Non ci resta che istruire Squid per gestire correttamente le autenticazioni Radius.
Apriamo il suo file di configurazione:
# nano /etc/squid3/squid.conf
e aggiungiamo le seguenti linee all'inizio del file:
auth_param basic program /usr/lib/squid3/pam_auth auth_param basic children 5 auth_param basic realm REALM auth_param basic credentialsttl 1 hours
Aggiungiamo la linea seguente nella sezione acl
:
acl password proxy_auth REQUIRED
e la linea seguente prima della direttiva http_access deny all
:
http_access allow password
Riavviamo e verifichiamo che all'atto della navigazione ci venga richiesta una password.
Nota
A causa della struttura del protocollo TCP/IP non è possibile avere un Proxy Server che sia contemporaneamente
trasparente (cioè che non richieda configurazioni sui browser dei client) e che gestisca le autenticazioni.
Una soluzione consiste nell'utilizzare un server DHCP che, insieme ai classici parametri di configurazione di rete (indirizzo IP, subnet mask, gateway, DNS) fornisca ai client anche delle istruzioni per l'autoconfigurazione di un proxy server. Per la configurazione di un tale server DHCP si veda ad esempio la guida: Un server DNS e DHCP su Debian
Guida scritta da: Ferdybassi 11:22, 2 set 2012 (CEST) | Debianized 20% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |