Introduction
Petite contribution sur comment faire fonctionner ensemble squid, dansguardian, kerberos, ldap, et le filtrage par groupe.
On ne traite pas ici de l'installation et la configuration de squid squidguard et kerberos.
L'installation est faite ici sur debian, squid 3.1.20
Chaine de traitement
Afin de séparer l'authentification, le filtrage et le cache, la chaine suivante est mis en place :
Squid (Kerberos ou Ldap auth) = > Dansguardian => squid (cache)
Le problème est que dansguardian ne supporte pas kerberos et le filtrage par groupe (voir doc). Les données utilisateurs ne sont pas transmis en utilisant l'option login=PASS
du cache_peer
pour kerberos. Le problème peu être contourné en utilisant login=*:motdepasse
si on a besoin de ne récupérer que l'utilisateur. Le mot de passe est factice car on n'en a pas besoin dans la suite de la chaine.
Squid (Kerberos ou Ldap auth):
L'authentification se fait par kerberos ou on récupère l'authentification associé à un utilisateur de la forme : user@REALM
L'authentification ldap est aussi utilisé pour les applications ne suppportant pas kerberos. Dans ce cas on récupère un utilisateur de la forme : user
Le tout est transféré à squidguard avec:
cache_peer 192.168.1.xxx parent 3128 0 no-digest no-netdb-exchange no-query proxy-only login=*:passsecret
Dansguardian
Deux groupes sont gérés dans dansguardian avec les directives filtergroups
du fichier dansguardian.conf et les fichiers associés dansguardianf1.conf et dansguardianf2.conf
filtergroups = 2 filtergroupslist = '/etc/dansguardian/lists/filtergroupslist'
le fichier filtergrouplist doit donc être généré de la forme suivante : doublon des nom utilisateur et utilisateur@realm (en minuscule)
#Groupe sur filter1 user1=filter1 user1@realm=filter1 user2=filter1 user2@realm=filter1 #Groupe sur filter2 user3=filter2 user3@realm=filter2
Les utilisateurs sont maintenant filtrés qu'ils soient authentifiés par kerberos ou ldap.