CONFIGURAZIONE DI SQUID PROXY SERVER SU LINUX UBUNTU 10.04
PER AUTENTICAZIONE CON ACTIVE DIRECTORY SU SERVER WINDOWS 2003
In questo articolo verrà illustrato come
configurare in modo ottimale il PROXY SERVER SQUID installato su un
server Linux (nel caso ubuntu 10.04) per l'utilizzo di utenti Microsot
Windows 2003 R2 che accedono al server in TERMINAL.
L'esperienza è maturata in base alla
necessità di monitorare la navigazione degli utenti aziendali. Tutti gli
utenti si loggano su un Terminal Server 2003 sotto D.C. (Domain
Controller). La navigazione internet (porta 80 e 8080) viene filtrata in
modo trasparente dal server proxy (linux Ubuntu 10.04 LTS).
Agli utenti di dominio Windows 2003
verrà chiesto di inserire Username e Password per accedere alla
navigazione Web. Il match delle utenze sarà fatto direttamente dallo
Squid proxy con una query sull'A.D. (Active Directory) del server MS
Windows 2003.
Le A.D.
di Micorsoft sono compatibili con il protocollo LDAP v3 e quindi
possono essere utilizzate come meccanismo per autenticare gli utenti.
Squid supporta LDAP v3 e diversi metodi di autenticazione. È possibile
ottenere risultati simili utilizzando Samba e Winbind, tuttavia questo
processo è molto più coinvolto e richiede che la macchina server Squid
debba essere membro del dominio MS Windows.
Usando i
metodi di autenticazione LDAP di Squid, è possibile ottenere
l'autenticazione degli utenti nelle A.D. utenti, solo attraverso qualche
semplice configurazione del server Squid.
Avrete
bisogno di Squid 2.5 o superiore (con libreire LDAP installate). Alcune
informazioni su questi moduli si possono trovare qui:
- http://www.die.net/doc/linux/man/man8/squid_ldap_auth.8.html
- http://www.die.net/doc/linux/man/man8/squid_ldap_group.8.html
Se la vostra installazione di Squid ha le librerie LDAP già installate e compilate, potrete trovare i seguenti files ldap_auth e squid_ldap_group nella directory "/usr/lib/squid" o path equivalente dove squid risulta installato.
Questi files servono per permettere
l'autenticazione LDAP e il controllo di appartenenza al/ai gruppo/i
settati sul server LDAP (in questo caso A.D. su Windows Server).
SQUID - CONFIGURAZIONE AUTENTICAZIONE LDAP
Il primo passo consiste nel configurare
lo Squid Proxy Server per autenticarsi con Username e Password nell'A.D.
di Windows Server. Per Far questo occorre aprire il file di
configurazione squid.conf che si trova in /etc/squid.
Una volta aperto il file (consiglio VI
come editor testuale oppure Gedit che ha anche una interfaccia grafica
abbastanza buona), occorre apportare le seguenti modifiche:
Trovare la sezione auth param (si può
cercare con il tag auth_param all'interno del file di configurazione) e
sostituire la linea
con la seguente linea:
N.B. L'indentatura delle linee 2, 3 e 4 indicano che fanno parte tutte della prima linea. Non ci sono "a capo" o similari.
Questi paramentri indicano a Squid il nome utente e la password per loggarsi al server A.D. In particolare:
- Opzione -b : indicata il nome di dominio del server dove riesede l'A.D.
- Opzione -D: indica l'utente che Squid utilizzerà per il login e le relative query sull'A.D. . Nell'esempio è stato utilizzato l'utente ADMINISTRATOR. Ovviamente potete utilizzare un'altro utente con permessi amministrativi.
- Opzione -w: indica la password per l'utente specificato nel precedente punto (opzione -D). Se volete garantire maggiore sicurezza, potete salvare la password in un file ed utilizzare l'opzione -w con il path completo che porta al file contente la password (E.S: -w /home/user/file.txt)
- Opzione -h: indica l'indirizzo IP del vostro server dove riesiedono le A.D.
- Opzione -R: è l'opzione che impone a Squid di autenticarsi tramite Windows A.D.
- Opzioine -f: è la query LDAP utilizzata per cercare l'utente . Nel nostro esempio la stringa sAMAccountName=%s andrà a controllare se le credenziali inseritte in fase di autenticazione (richieste da SQUID tramite IExplorer) sono presenti all'interno di A.D. In particolare, la variabile %s prenderà il nome utente inserito dall'utente in fase di autenticazione tramite IExplporer, E' possibile utilizzare anche query più complesse. Consiglio in tal caso di utilizzare un tool per comporre la query in modo ottimale e senza errori di sintassi.
Fatta questa modifica è necessario
riavviare il servizio di squid per rendere effetttive le modifiche. da
linea di comando potete lanciare
SQUID - CONFIGURAZIONE DEI GRUPPI PER L'ACCESSO A INTERNET
Una
volta che l'utente è autenticato, è possibile definire quali utenti
hanno accesso alle risorse di rete (cioè Internet) utilizzando le ACL di
Squid (Access Control List). Le ACL sono un argomento abbastanza
complesso che permette di attuare un sofisticato controllo sull'accesso
alle risorse esterne presenti sul web.
In questo articolo si illustrerà una
configurazione di base per permettere l'autenticazione tramite A.D. Se
volete maggiori informazioni riguardo l'utilizzo delle ACl potete
quardare qui:
Per cominciare abbiamo bisogno di inserire una regola ACL . Editiamo
ancora il file squid.conf e cercare la sezione ACL con TAG >
external_acl_type e inseriamo la seguente regola:
La maggior parte del codice è simile a
quello precedentemente indicato. La variabile %v raccoglie il nome
utente di chi si logga tramite IExplorer, La variabile %a è il nome del
gruppo dato nella ACL stessa come di seguito vedremo. Assicuratevi che
il filtro "memberof" sia corretto e puntii alla O.U (Organizational
Unit) definita nelle A.D. che contiene il gruppo con gli utenti membri
che possono navigare.
Esempio:
- Dominio > yourdomain.com
- Organizational Unit > Vendite
- Gruppo > Agenti
In questo esempio il filtro "memberof" sarà costruito come : memberof=cn=%a,ou=vendite,dc=your,dc=domain,dc=com
Fatto questa modifica, sempre
all'interno del file di configurazione di Squid, posizionarsi nella
sezione ACL con TAG > acl. Qui andiamo a inserire le 2 seguenti
regole:
Il nome della regola è Internet_Access e
potete modificarlo secondo le vostre esigenze. Il nome "credenziali"
richiama la regola esterna (external_acl_type) definita sopra. Il gruppo
presente nelle A.d. che permette agli utenti mebri di accedere ad
internet è "agenti".
Ora che abbiamo completato le ACL, dobbiamo permettere il traffico internet agli utenti che soddisferanno tutti i requisiti.
Sempre nel file squid.conf nella sezione con TAG > http_acces definite la seguente regola:
Riavvire lo squid server con la procedura vista precedentemente.
Dovremmo
quindi essere in grado di tentare di accedere a Internet tramite Squid,
e dovrebbe esserci richiesto di inserire il nome utente e password di
Windows. Solo agli utenti autenticati e agli utenti appartenenti al
gruppo "agenti" sarà consentito l'accesso a Internet.
Nessun commento:
Posta un commento
Grazie per aver scritto.
Il tuo commento sarà pubblica appena approvato dall'amministratore del blog.