Forum Linux.debian/ubuntu OpenLDAP SASL Active Directory

Posté par  .
Étiquettes : aucune
-1
4
juin
2011

Bonjour,
je suis actuellement en stage et ai pour mission la mise en oeuvre d'une plate forme d’échange de données. les utilisateurs de cette plateforme sont divisés en deux catégories, les collaborateurs et les partenaires.

Les collaborateurs sont enregistrés dans un annuaire Active directory et le partenaires sont enregistrés dans un annuaire OpenLdap (contrainte imposée par l'entreprise).

La solution d’échange à mise en oeuvre se connecte à un seul annuaire, donc c'est à moi de trouvé une solution pour faire communiquer les deux annuaires pour cela j'ai utiliser le tutoriel suivant:http://linagora.org/contrib/annuaires/documentations/delegation_sasl_openldap_ad
pour que l'annuaire OpenLdap dans le cas ou il ne trouve aucune entrée qui correspond à la requête, il la transfert directement à Active DirectoryTitre de l'image

Le problème:quand je fais des tests unitaires ça semble marcher, c à d:
1: quand je m'authentifie avec un utilisateur (partenaire) enregistré dans le OpenLDAP ça marche.
2: quand je fait un ldapsearch -H ldap://@IP AD ........ ça marche
3: quand je test liaison sasl AD en excutant la commande testsaslauthd -u user -p pw ça marche (sachant que user est bien enregistré sur AD)
l'exportation des comptes AD à été faite sans problème.
4: quand j'essaye de m'authentifier directement à partir de l'application d’échange (qui est le client LDAP)en utilisant un utilisateur enregistré sur AD ==> ça marche pas
5: quand je fais un ldapsearch sans préciser le serveur cible et visant un utilisateurs enregistré sur le AD ça marche pas ....

Je pense qu'il y a un pb entre le OpenLDAP et la couche sasl [étape 3 dans le schéma]....??!!

J'ai lu des dizaines de docs mais j'ai pas trouvé cas similaire à le mien ....!!!

j'ai essayé d'implémenter les referral mais apparemment dans le LDAP V3 c'est au client de gérer les retours des serveur ce qui pas le cas pour la solution d’échange que j'essaie de mettre en place.

PS: je n'ai aucun contrôle sur le serveur AD, je dispose seulement d'un compte générique qui sert à la lecture.

existe-t-il un autre moyen pour faire cohabiter OpenLDAP avec AD ou bien une autre architecture pour mettre une authentification centralisée à base de plusieurs annuaire.

Merci d'avance.

  • # test unitaire manquant

    Posté par  . Évalué à 2.

    2: quand je fait un ldapsearch -H ldap://@IP AD ........ ça marche

    ca c'est bien tu essaie de contacter directement l'AD sans passer par ton LDAP

    4: quand j'essaye de m'authentifier directement à partir de l'application d’échange (qui est le client LDAP)en utilisant un utilisateur enregistré sur AD ==> ça marche pas
    5: quand je fais un ldapsearch sans préciser le serveur cible et visant un utilisateurs enregistré sur le AD ça marche pas ....

    avant de faire le 5°) tu as testé en faisant un 2bis°) sur l'IP de ton LDAP en cherchant un utilisateur qui se trouve dans l'AD ?

    c'est quoi la reponse de ton serveur ?
    que disent les logs ?

    • [^] # Re: test unitaire manquant

      Posté par  . Évalué à 0.

      Merci pour votre réponse,
      avant de faire le 5°) tu as testé en faisant un 2bis°) sur l'IP de ton LDAP en cherchant un utilisateur qui se trouve dans l'AD ?

      j'ai bien effectué ce test .....mais malheureusement ça marche pas!!

      la réponse du serveur est "invalid credentials"

      En ce qui concerne les logs, j'ai consulté le /var/log/auth.log mais ce dernier ne fournit pas des informations sur le processus d'authentification via le SASL, est-t-il le bon log??.

      Je vous donnerai plus de détails le Lundi.....:)

      PS: il y a un autre test que j'ai effectué et ça marche
      testsaslauthd -u userAD -p pwAD

      Cordialement.

      • [^] # Re: test unitaire manquant

        Posté par  (site web personnel) . Évalué à 2.

        Les logs du daemon ldap, slapd.conf ( enfin ça dépend comment c'est configuré )

        Essaie d'exécuter les commande ldapsearch en mode verbeux ( man ldapsearch, refferal idem )

        Bref, rien de nouveau, activer les log coté client et serveur, lire la doc des logiciels et les comprendre.

        Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités

    • [^] # Re: test unitaire manquant

      Posté par  . Évalué à 0.

      j'ai activer les logs
      en ajoutant : loglevel 256 dans /etc/ldap/slapd.conf
      en ajoutant : local4.* /var/log/slapd.log dans /etc/rsyslog/conf

      les log ne marchent qu'en un seul cas, quand j'execute la commande
      ldapsearch -D "userAD" -w pwAD, et ça me donne l'erreur suivante qui'est inscrite dans deux fichies de log en mm temps '/var/log/syslog et /var/log/slpad.log'

      erreur:
      May 29 19:23:34 debian slapd[9313]: SASL [conn=1009] Failure: cannot connect to saslauthd server: Permission denied

      voici mes configs:
      rsyslog
      > auth,authpriv.* /var/log/auth.log

      .;auth,authpriv.none -/var/log/syslog

      daemon.* -/var/log/daemon.log
      kern.* -/var/log/kern.log
      lpr.* -/var/log/lpr.log
      mail.* -/var/log/mail.log
      user.* -/var/log/user.log
      local4.* /var/log/slapd.log

      slapd.conf

      include /etc/ldap/schema/core.schema
      include /etc/ldap/schema/cosine.schema
      include /etc/ldap/schema/nis.schema
      include /etc/ldap/schema/inetorgperson.schema
      include /etc/ldap/schema/samba.schema

      pidfile /var/run/slapd/slapd.pid
      argsfile /var/run/slapd.args

      --Configuration SASL--
      sasl-host localhost
      sasl-secprops none

      loglevel 256

      modulepath /usr/lib/ldap
      moduleload back_bdb

      backend bdb
      database bdb

      suffix "dc=partenaire,dc=groupe-casino,dc=fr"
      rootdn "cn=-----------,dc=partenaire,dc=---------,dc=fr"
      rootpw {SSHA}---------------------------

      directory "/var/lib/ldap"
      index objectClass eq

      Configuration SASL --->saslauthd.conf

      ldap_servers: ldap://@IP AD:389/
      ldap_search_base: DC=branches,DC=intra,DC=---------,DC=fr
      ldap_timeout: 30
      ldap_filter: sAMAccountName=%u
      ldap_bind_dn: svcacc_RADIUSTest@branches.intra.----------.fr
      ldap_password: ----------
      ldap_deref: never
      ldap_restart: yes
      ldap_scope: sub
      ldap_use_sasl: no
      ldap_start_tls: no
      ldap_version: 3
      ldap_auth_method: bind

      • [^] # Re: test unitaire manquant

        Posté par  (site web personnel) . Évalué à 2.

        ça fait quoi loglevel = 256 ?

        Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités

        • [^] # Re: test unitaire manquant

          Posté par  . Évalué à 0.

          loglevel précise les niveaux de log, voici les différents niveaux :

          1 (0x1 trace) trace function calls
          2 (0x2 packet) debug packet handling
          4 (0x4 args) heavy trace debugging (function args)
          8 (0x8 conns) connection management
          16 (0x10 BER) print out packets sent and received
          32 (0x20 filter) search filter processing
          64 (0x40 config) configuration file processing
          128 (0x80 ACL) access control list processing
          256 (0x100 stats) stats log connections/operations/results
          512 (0x200 stats2) stats log entries sent
          1024 (0x400 shell) print communication with shell backends
          2048 (0x800 parse) entry parsing
          4096 (0x1000 cache) caching (unused)
          8192 (0x2000 index) data indexing (unused)
          16384 (0x4000 sync) LDAPSync replication

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.