PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : Sécurité » Authentification ldap avec plusieurs OU à la racine d'un domaine » 06/08/2024 15:12:18

Merci pour votre retour, j'avoue que je n'avais pas l'info que le mot de passe passait en clair sur le réseau... je vais étudier la methode GSSAPI.
En attendant voici le retour de la commande ldapsearch :
# extended LDIF
#
# LDAPv3
# base <DC=exemple,DC=com> with scope subtree
# filter: (&(sAMAccountName=*)(|(OU=XXX,OU=Services,DC=exemple,DC=com)(OU=YYY,OU=Acces_Serveurs,DC=exemple,DC=com)))
# requesting: ALL
#

# search reference
ref: ldap://DomainDnsZones.exemple.com/DC=DomainDnsZones,DC=exemple,DC=com

# search result
search: 2
result: 0 Success

Tout semble correct ?!

#2 Sécurité » Authentification ldap avec plusieurs OU à la racine d'un domaine » 06/08/2024 12:01:07

groju
Réponses : 2

Bonjour,

Voici le contexte : j'ai un serveur postgreSQL en version 15 et je souhaite faire de l'authentification ldap.
------
Côté config pour se connecter au serveur active directory tout est ok car :
Dans mon fichier pg_hba.conf lorsque je fais un ldap "search + bind" sur une OU tout fonctionne très bien. Voici la ligne qui fonctionne :

host all all 0.0.0.0/0 ldap ldapserver=monserveur.exemple.com ldapbasedn="OU=Informatique,OU=Services XXX,DC=exemple,DC=com" ldapbinddn="CN=bindpg,OU=postgreSQL,OU=Acces_Serveurs,DC=exemple,DC=com" ldapbindpasswd="secret" ldapsearchattribute=sAMAccountName
------
Mon soucis c'est que je souhaiterais faire un "search" sur 2 OU qui sont toutes les 2 à la racine de mon domaine.
J'ai compris qu'il n'est pas possible de faire plusieurs lignes comme celle ci-dessus (en spécifiant une OU différente dans chaque ligne) car à partir du moment où je ne rentre pas dans la 1ere ligne, la ligne du dessous ne sera pas lue).

>>>> Pour contourner ce souci, j'ai trouvé (en fouillant doc et forum) qu'il est nécessaire de faire une seule et même ligne avec laquelle je dois pouvoir scruter 2 OU en utilisant l'option "ldapsearchfilter" de la manière suivante :
host all all 0.0.0.0/0 ldap ldapserver=monserveur.exemple.com ldapbasedn="DC=exemple,DC=com" ldapbinddn="CN=bindpg,OU=postgreSQL,OU=Acces_Serveurs,DC=exemple,DC=com" ldapbindpasswd="secret" ldapsearchfilter="(&(sAMAccountName)(|(OU=Informatique,OU=Services XXX,DC=exemple,DC=com)(OU=autre,OU=ServiceYYY,DC=exemple,DC=com)))"

Lors du redémarrage du moteur, la ligne est bien prise en compte puisque le moteur démarre (si elle est incorrecte j'ai noté que le moteur ne démarre pas), mais l'authentification ldap ne fonctionne plus du tout, même sur l'OU unique du départ qui fonctionne lorsque c'est la seule à être scrutée.
En consultant la vue  pg_hba_file_rules, aucune erreur n'est signalée

Côté syntaxe je ne vois pas ce qui peut clocher.
------
Quelqu'un saurait-il me dire où est l'erreur ou le cas échéant quelle serait la méthode adéquate pour que mes users de l'OU n°1 ET ceux de l'OU n°2 puissent se connecter. Je reprécise qu'elle sont dans l'arborescence de mon AD toutes les 2 au même niveau (qui plus est à la racine de mon domaine exemple.com).

Je précise que mes users AD sont créés sur le serveur avec le droit de login et que j'utilise ldap2pg pour les importer, de ce côté-ci c'est très efficace et fonctionne impeccablement bien wink
------
D'avance merci pour votre aide.
Bonne journée à tous

Pied de page des forums

Propulsé par FluxBB