Squid 3 and LDAP Auth

Ciao a tutti,

scrivo questo breve articolo in merito ad un argomento di cui si è discusso molto su alcune Mailing lists e su alcuni forum negli ultimi mesi. Rifacendomi al whitepaper da me scritto e che trovate anche qui su questo blog, relativo alla multilayered network security, uno strumento molto importante e utilizzato relativamente allo strato perimetral security è dettato proprio dal proxy di rete.

Perchè il proxy vi chiederete? Bè questo strumento permette di discriminare la navigazione, obbligare la navigazione ad essere autenticata e non più “selvaggia”, aiuta a risparmiare banda e permette di impostare ACL utili ai network admin per contenere i costi relativi al calo di produttività e allo spreco inutile di risorse di bandwith; oltre a ridurre i rischi di sicurezza  derivanti dalla navigazione irresponsabile degli utenti.

Su quanto riguarda i metodi di autenticazione, uno strumento open e flessibile come squid 3 ha tantissimi helper che ci permettono di scegliere il metodo che più ci aggrada. Sicuramente in una realtà enterprise dove convivono sistemi Windows e Linux, e  magari dove cè pure una backend Active Directory sicuramente l’helper LDAP è quello più utilizzato in quanto l’autenticazione ntlm non è supportata da tutti i prodotti (chrome per esempio ha ancora dei problemi con l’autenticazione ntlm).

Per autenticare gli utenti via LDAP, utilizzando una distro come debian squeeze con installato squid 3, basta impostare un’ACL come segue :

auth_param basic program /usr/lib/squid3/squid_ldap_auth -v 3 -R -b “dc=RAV3N,dc=HOME” -D “cn=Admin,cn=Users,dc=RAV3N,dc=HOME” -w passwordSegreta -f sAMAccountName=%s -h xxx.xxx.xxx.xxx:389
auth_param basic children 5
auth_param basic realm Web-Proxy della Rete RAV3N.HOME

La prima riga richiama l’helper squid_ldap_auth, e ora vederemo il significato di ognuno di essi :

  • -v 3 >> Indica di utilizzare la versione 3 del protocollo LDAP (Questo perchè utilizzo un DC Windows Server 2008 R2 come backend Active Directory e quindi era l’opzione maggiormente compatibile
  • -R indica di non seguire tutti i referal all’interno della struttura Active Directory
  • -b specifica il DN base della query; in questo caso io ho specificato tutta la forest Active Directory
  • -D Specifica il DN dell’utente abilitato alla lettura e all’estrazione degli attributi degli oggetti presenti nel catalogo AD
  • -w passa la password di autenticazione al dominio dell’utente utilizzato nel parametro -D
  • -f passa la condizione di match, e in questo caso sAMAccountName=%s indica che qualora l’utente sia matchato  venga accettata l’autenticazione della connessione
  • -h indica l’indirizzo ip del domain controller oppure del server LDAP contenente il database degli utenti
  • :389 indica la porta di default sulla quale il nostro DC Windows è in ascolto per queste interrogazioni – ATTENZIONE LA PORTA 389 NON SUPPORTA LA CRITTOGRAFIA SSL/TLS DELLA CONNESSIONE
  • children 5 indica di mantenere attivi 5 processi da parte dell’helper usato da squid per l’autenticazione
  • realm indica il messaggio da sparare all’utente quando comparirà il popup che richiederà di autenticarsi

In questo modo, indifferentemente dalla UO in cui l’oggetto utente sarà allocato, se l’username esiste e la password matcha con il valore dell’attributo password dell’utente presente nella base LDAP la connessione verrà autenticata con successo

Poi per la forzatura dell’autenticazione, e la specifica direttiva http_access da associare vi rimando al wiki di squid che è veramente ben fatto e ben fornito. Spero che questo post possa venire in aiuto a qualcuno che si sta cimentando in questo ambito

Ciauz

  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: