10.4. Utilizzare le ACL per autenticare degli utenti

Un'altra interessante opzione offerta da Squid è rappresentata dalla possibilità di limitare l'accesso al proxy tramite eventuale autorizzazione, autenticazione ed accounting. In una rete geografica di grandi dimensioni l'utilizzo di Squid può rilevarsi utile per il controllo degli accessi.

Non dimentichiamo che un proxy è un gateway a livello applicativo (Layer 7 della pila OSI) e può essere utilizzato anche come firewall tra due reti, va sottolineato, per i puristi del TCP/IP, che il termine firewall in questo caso non è corretto in quanto Squid non esegue alcun filtraggio di pacchetti.

Squid può essere utilizzato come applicazione per il controllo e la verifica, grazie alle sue funzionalità si rivelerà molto utile nell'implementazione di una politica di sicurezza. Per attivare il controllo di accesso a livello utente é necessario attivare almeno uno schema di autenticazione ed aggiungere nelle ACL i seguenti TAG

acl password proxy_auth REQUIRED
http_access allow password
  

quando viene impostata un qualsiasi tipo di ACL del tipo proxy_auth tramite le regole http_access, tutte le ACL successive alla regola proxy_auth non verranno più considerate da Squid in quanto o l'accesso sarà stato consentito oppure verrà generato un errore di acceso negato alla cache. Se si deve configurare un proxy in maniera granulare è quindi necessario portare molta attenzione nell'applicazione delle regole http_access. In buona sostanza, una volta che ci si è autenticati su un sistema Squid è tutto permesso tranne quello che è stato esplicitamente negato nelle regole http_access precedenti alla regola http_access proxy_auth

http_access allow localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny locallan102
http_access deny porn
http_access deny badlang
http_access deny entertain
http_access deny games
http_access deny mp3
http_access deny pirate
http_access deny pron
http_access deny ftpblock
http_access allow sitiok
http_access allow password
  

come abbiamo visto sopra, è possibile l'accesso all'host locale, successivamente procediamo con la definizione di una serie di blocchi che riguardano le reti non autorizzate, i vari siti non consoni all'utilizzo del proxy, autorizziamo i siti censiti come visitabili e successivamente procediamo con la richiesta di autenticazione del tipo basic. L'utente, dopo aver proceduto ad autenticarsi, sarà autorizzato a fare tutto quello che non gli sia già stato esplicitamente negato.