Forum Linux.debian/ubuntu Sarge PHP ldaps

Posté par  (site web personnel) .
Étiquettes :
0
30
mar.
2005
Hello,

j'essaye en vain de faire fonctionner phpldapadmin avec mon serveur OpenLDAP.
Le serveur web est une Debian Sarge, il est distinct du serveur OpenLDAP qui est également une sarge (cluster).
Pour des raisons évidentes de sécurité, les accès non locaux au serveur LDAP sont sécurisés en ldaps (le bon vieux ldaps://xxx.xxx.xxx.xxx/ sur le port 636 et pas le StartTLS).
J'ai installé phpldapadmin sur le serveur Web pour voir. Après avoir configuré les accès correctement, impossible de me connecter: l'erreur était toujours la même: pas possible de se "binder". Pour info, je peux me connecter comme il faut de n'importe quel poste de travail (même sous win2K) par Mozilla, j'utilise GQ sur ma station de travail (Debian Sarge aussi) en ldaps sans problème, de même, j'utilise libnss-ldap et pam-ldap sur cette station toujours en ldaps et je n'ai aucun problèmes de connection.

J'ai maté le code (opensource c'est bien) et j'ai essayé d'isoler le moment du bug. J'ai vu que l'erreur venait au moment du bind.
J'ai donc fait un petit script PHP pour vérifier les accès. Verdict: j'arrive bien à me connecter mais la fonction ldap_bind m'envoie toujours bouler: Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server in xxx.php...
Bien sûr, ce n'est pas un problème de mot de passe ni de Bind DN (sauf si le mot de passe doit être crypté ou qu'il faille indiquer à PHP de le faire). J'ai essayé en ajoutant l'option LDAPV3 à PHP mais cela ne change rien.

Donc, il semble que PHP 4.3.10-9 de Debian (le module Apache et pas le CGI) ne supporte pas bien le ldaps. Néanmoins, un phpinfo() m'indique que PHP4 supporte openssl. Si quelqu'un à déjà réussi à faire fonctionner Sarge+PHP+ldaps, j'aimerais bien voir comment il a fait.

Une recherche sur Google ne m'a rien donné d'autres que les éléments permettant de décrire mon problème...

A vot' bon coeur
  • # config cliente LDAP

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

    Salut,

    essaye de mettre dans /etc/ldap/ldap.conf la ligne suivante:

    # Instruct client to NOT request a server's cert.
    TLS_REQCERT never


    man ldap.conf pour les explications.

    Attention toute fois, au niveau sécurité c'est bien sur nul :)

    Par contre en configurant avec les certificats qui vont bien (TLS_*) tu pourra surrement arriver à quelque chose d'acceptable.

    Si tu peux donner ici le retour d'expérience après ce serai cool :)

    Ze
    • [^] # Re: config cliente LDAP

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

      Hello,

      je ne saisis pas bien. Le fichier de conf /etc/ldap/ldap.conf est normalement celui du client. Donc, à priori, il faut que sur mon serveur Web (c'est lui qui est client via PHP), je place le fichier /etc/ldap/ldap.conf comme il faut.
      Donc, ça implique que PHP va lire ce fichier pour voir comment se comporter en LDAP ? Un tel comportement me semble louche (m'enfin si ça marche...) parce que la doc PHP ne le précise pas (enfin, à priori).

      Je me trompe complètement de route ou je suis sur la bonne voie ?
      • [^] # Re: config cliente LDAP

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

        Hello,

        bon, j'ai fait le test de chez moi avec une conf à peu près identique. J'arrive à répeter le bug.
        En modifiant le fichier du client /etc/ldap/ldap.conf, ça marche !
        Donc PHP lit bien ce fichier ce qui est assez suprenant (enfin pour moi ça l'est).

        En mattant en mode debug, je n'ai pas l'impression que les transferts se fassent en non cryptés (seuls les DN sont affichés en clair). Bon, pour me punir, un bon man slapd.conf devrait suffir.
        • [^] # Re: config cliente LDAP

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

          Salut,

          Après avoir fait ce petit changement voici un exemple d'appel:

          ldap_connect('ldaps://$serveur',636);

          Le port dans ce cas la ne sert en fait a rien dailleur..

          Alors maintenant en fait si jamais tout n'est pas crypté, colle ici le code php pour voir...

Suivre le flux des commentaires

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