Non tutti lo sanno, ma tramite SQUID è possibile assegnare un utente ad un gruppo, ed assegnare al gruppo una lista di siti accessibili. Grazie a questa configurazione gli utenti della contabilità andranno solo sui siti di abilitati per la contabilità, quelli del magazzino solo sui siti abilitati per il magazzino e così via. Con questa configurazione, e l'utilizzo di un firewall, si possono far risparmiare bei soldi!!

 

Introduzione

 

SQUID è il più diffuso software Proxy Server attualmente in commercio.

Praticamente installabile su tutti i sistemi Unix, UnixLike e Microsoft, rilasciato su licenza GPL General Pubblic License (http://www.gnu.org/copyleft/gpl.html) i suoi sorgenti sono accessibili da chiunque e possono essere modificati e ridistribuiti secondo gli accordi di suddetta licenza, anche per scopi commerciali, non a caso è utilizzato quasi all’unanimità nelle Network Appliance. SQUID fornisce funzionalità di caching e proxing per il traffico HTTP, FTP e Gopher; può, inoltre, essere utilizzato per eseguire tecniche di reverse proxy.

 

Installazione

 

Per prelevare i pacchetti di installazione, per reperire informazioni sull’installazione e sulla prima configurazione fate riferimento al sito ufficiale del progetto http://www.squid-cache.org Conviene procurarsi un file di configurazione squid.conf preconfigurato che fornisca il minimo per poter utilizzare il server.

 

Una volta installato, configurato e testato, andiamo ad aprire il file squid.conf.

 

Abilitiamo l’autenticazione esterna

SQUID è in rado di riconoscere gli utenti mediante la validazione delle credenziali fornite. Per fare ciò occorre adottare un protocollo di autenticazione, definito nello “schema di autenticazione” nel file di configurazione di SQUID.

 

Sono supportati tre schemi di autenticazione

  • Basic: schema di autenticazione standard supportato da tutti i Browser web, prevede lo scambio delle credenziali in chiaro, quindi insicuro se usato nelle lan accessibili da malintenzionati
  • NTLM: schema di autenticazione proprietario tipico dei prodotti Microsoft e chen ecessita di un Dominio Windows NT oppure delle Active Directory
  • DIGEST: schema di autenticazione standard successore dello schema Basic che si propone di superare i problemi legati allo scambio in chiaro delle credenziali di autenticazione

Per la configurazione che ci occorre basta uno schema di autenticazione Basic, a meno che non abbiate utenti particolarmente smaliziati, o la reception del vostro ufficio non molto efficiente!

Dobbiamo impostare un authentication helper, ovvero il modulo da caricare per poter eseguire l’autenticazione. NCSA è il primo authentication helper utilizzato in Squid, utilizza un file di password sullo stile di NCSA httpd (Apache), adottiamo nel nostro  Proxy Server.

 

auth_param basic children 10
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 30 minutes
auth_param basic program /usr/lib/squid/libexec/ncsa_auth 
/var/proxy/all.usr

 

dove:

 

il TAG authenticate_children indica quante istanze del programma di autenticazione devono essere eseguite contemporaneamente

il TAG realm  specifica il  realm, il testo che l'utente vedrà nella dialog box di autenticazione.

il TAG credentialsttl  specifica il tempo di vita (Time To Live o TTL) delle credenziali di accesso

il TAG program specifica il comando che avvia il programma autenticatore esterno /usr/lib/squid/libexec/ncsa_auth ed il file contenente le credenziali di autenticazione /var/proxy/all.usr
 

l file delle credenziali può essere generato ed aggiornato tramaite  il comando htpasswd  che fa parte del corredo standard di Apache o tramite il pannello di gestione Webmin, nem modulo SQUID -> User.

Di seguito la corretta sintassi per la creazione del file /var/proxy/all.usr

% htpasswd -c /var/proxy/all.usr NomeUtente 
New password: 
Re-type new password: 
Adding password for user NomeUtente

 

 

Generiamo le ACL

Le Access Control List o ACL sono delle liste di controllo di accesso tramite le quali é possibile impedire o consentire agli utenti di accedere a determinati siti, di impedire o consentire l’utilizzo di determinati protocolli etc. etc.
 

Cominciamo col definire quali sono i gruppi degli utenti

 

acl UTENTI_ GRUPPO1 proxy_auth ““/var/proxy/usergroup/group1.users”

acl UTENTI_ GRUPPO2 proxy_auth ““/var/proxy/usergroup/group2.users”

acl UTENTI_ GRUPPO3 proxy_auth ““/var/proxy/usergroup/group3.users”

 

I files group1.users, group2.users e group3.users sono dei file di testo dove sono elencati i nomi utente che fanno parte di quello specifico gruppo. Un nome per ogni riga, seguito da un invio. I nomi degli utenti devono essere identici a quelli specificati nel file /var/proxy/all.usr e senza la password.

 

Fatto questo definiamo le ACL dei siti accessibili dagli utenti

 

acl GRUPPO1_WHITELIST url_regex “/var/proxy/whitelist/gruppo1.whitelist

acl GRUPPO2_WHITELIST url_regex “/var/proxy/whitelist/gruppo2.whitelist

acl GRUPPO3_WHITELIST url_regex “/var/proxy/whitelist/gruppo3.whitelist

 

I files gruppo1.whitelist, gruppo2.whitelist e gruppo3.whitelist contengono la lista dei siti che ogni gruppo può visualizzare.

Un esempio del contenuto di questi file è:

 

agenziantrate.it 
agenziadogane.it 
agenziadogane.gov.it
areaaziende.190.it
areaaziende.190.it:443
finanze.it
inail.it
inps.it

Per i raccomandati che possono accedere a qualsiasi URL la sintassi della whitelist:

.*

 Non resta che associare tra di loro le ACL appena create per consentire la navigazione agli utenti.

 

http_access allow UTENTI_ GRUPPO1 GRUPPO1_WHITELIST

http_access allow UTENTI_ GRUPPO2 GRUPPO2_WHITELIST

http_access allow UTENTI_ GRUPPO3 GRUPPO3_WHITELIST

 

e bloccare tutto il resto

 

http_access deny all

 

Vi segnalo inoltre che tramite gli “add-on” di SQUID è possibile gestire i content management, i log, i report sul traffico e tanto altro ancora. Man mano che sperimenterò queste funzioni aggiuntive sarà mia premura occuparmi della stesura di un articolo che ne descriverà la procedura per ottenere una configurazione funzionante.

We use cookies
Attenzione! Questo sito utilizza i cookie tecnici e di terze parti per poter fornire i servizi.