SquidGuard et Active Directory [résolu]

SquidGuard et Active Directory [résolu] - Sécurité - Systèmes & Réseaux Pro

Marsh Posté le 30-05-2011 à 11:39:30    

Bonjour à tous,  
 
J'ai mis en place un serveur proxy sur une base debian 6, squid 2.7 et squidguard 1.4, le tout avec une authentification sur un annuaire AD win 2003 et un filtrage par groupes AD grâce à une OU internet et 2 groupes : "acces_internet_illimite" et "acces_internet_heures_de_bureau" je place mes utilisateurs dans l'un de ces groupes et SquidGuard vérifie l'appartenance de l'utilisateur à son groupe via une requête LDAP pour lui affecter les ACLs adéquat, s'il ne trouve pas l'utilisateur dans un de ces groupes il le place dans le groupe par défaut qui n'a accès à rien.
Jusque là tout va bien seulement lorsque que je place un groupe d'utilisateurs dans le groupe de filtrage (par ex: le groupe "stagiaire informatique" dans le groupe "acces_internet_illimite" ) squidguard obtient bien le nom d'utilisateur en réponse à la requête LDAP :  
un tail du squidguard.log me donne :
 
2011-05-30 10:25:01 [9211] init domainlist /usr/local/squidGuard/db/warez/domains
2011-05-30 10:25:01 [9211] loading dbfile /usr/local/squidGuard/db/warez/domains.db
2011-05-30 10:25:01 [9211] init domainlist /usr/local/squidGuard/db/social_networks/domains
2011-05-30 10:25:01 [9211] squidGuard 1.4 started (1306743901.079)
2011-05-30 10:25:01 [9211] Info: recalculating alarm in 21899 seconds
2011-05-30 10:25:01 [9211] squidGuard ready for requests (1306743901.127)
2011-05-30 10:25:15 [9206] Added LDAP source: xxx
2011-05-30 10:25:15 [9206] Added LDAP source: xxx
2011-05-30 10:45:31 [9206] Added LDAP source: xxx
2011-05-30 10:45:31 [9206] Added LDAP source: xxx

Mais il le place dans le groupe par défaut et donc sans aucun accès au cache.
 
Extrait du squidguard.conf :
 
src acces_internet_heures_de_bureau {
 ldapusersearch ldap://X.X.X.X:3268/dc=domaine,dc=local?sAMAccountName?sub?(&(memberof=CN=acces_internet_heures_de_bureau%2cOU=internet%2cDC=domaine%2cDC=local)(sAMAccountName=%s))
}
 
src acces_internet_illimite {
 ldapusersearch ldap://X.X.X.X:3268/dc=marquette,dc=local?sAMAccountName?sub?(&(memberof=CN=stagiaire+informatique%2cCN=acces_internet_illimite%2cOU=internet%2cDC=domaine%2cDC=local)(sAMAccountName=%s))  
}

 
que je rajoute le CN=stagiaire+informatique ou pas dans la requête LDAP, le résultat est le même j'obtiens une réponse "ADDED LDAP source : xxx" dans le fichier log mais l'utilisateur n'a pas accès au cache, alors qui si l'utilisateur est membre direct du groupe "acces_internet_illimite" tout fonctionne parfaitement
 
Je ne comprend pas pourquoi il ne le prend pas en compte alors que la requête aboutit.
 
Est-ce que pour pouvoir l'affecter à une source squidGuard doit impérativement trouver directement l'utilisateur dans le groupe ?
 
Merci d'avance.
 
Cordialement,
 
Chris.


Message édité par chris4321 le 30-05-2011 à 13:21:49
Reply

Marsh Posté le 30-05-2011 à 11:39:30   

Reply

Marsh Posté le 30-05-2011 à 12:21:20    

Pour moi, niveau LDAP c'est normal. Si tu regardes l'attribut memberOf de l'utilisateur tu verras bien que ton groupe internet illimité n'y est pas.

Reply

Marsh Posté le 30-05-2011 à 12:41:23    

"(memberof=CN=stagiaire+informatique%2cCN=acces_internet_illimite%2cOU=internet%2cDC=domaine%2cDC=local)(sAMAccountName=%s)"
 
Dans cette partie là elle y est bien, dans la requête je cherche si le nom d'utilisateur (%s) est membre du groupe "stagiaire informatique", du groupe "acces_internet_illimite" dans l'OU "internet" de "domaine.local"
 
Prenons un utilisateur membre d'un groupe gA dans une OU oA par exemple:  
(memberof=CN=gA%2cOU=oA%2cDC=domaine%2cDC=local)(sAMAccountName=%s) la tout fonctionne
 
Si maintenant cet utilisateur et membre d'un groupe gB et que je place ce groupe dans le groupe A, la requête LDAP va-t-elle trouver l'utilisateur qui fait partie indirectement du groupe A par l'intermédiaire du groupe B ?
Est-ce qu'avec une requête de ce type je peux trouver l'utilisateur membre d'un groupe lui même membre d'un autre groupe ? si oui de quelle manière ? je serais tenté de dire comme cela :  
(memberof=CN=gB%2cCN=gA%2cOU=oA%2cDC=domaine%2cDC=local)(sAMAccountName=%s)  
mais cela ne fonctionne pas, j'ai essayé en inversant les groupes "acces_internet_illimite" et "stagiaire informatique" au cas ou il y faudrai respecter une hiérarchie mais sans plus de succès.

Reply

Marsh Posté le 30-05-2011 à 13:02:35    

ça veut rien dire memberof=CN=gB,CN=ga blabla.
 
Le pb c'est que ton user, il est memberof le groupe où il est directement dedans.  
Ton user est member of du groupe gB
Ton groupe gB est member of du groupe gA
 
mais ton user n'est pas memberof du groupe gA.
 
Il est membre indirect et tu n'as pas de requête LDAP capable de faire la récursivité pour vérifier que ton user est bien dans gA même indirectement.

Reply

Marsh Posté le 30-05-2011 à 13:13:14    

OK, merci pour cette réponse rapide,  
Bonne fin de journée, je passe le sujet en résolu ;o)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed