IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Se connecter à OpenLDAP en LDAPS


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 68
    Points : 52
    Points
    52
    Par défaut Se connecter à OpenLDAP en LDAPS
    Bonjour,

    Je souhaiterais faire communiquer un serveur APACHE avec un serveur openLDAP en utilisant le protocole LDAPS mais malgré mes nombreuses recherches je n'y arrive toujours pas.

    Voici donc les faits :

    J'ai un serveur LDAP (srvLDAP) sur lequel j'ai installé openLDAP. J'ai aussi via openSSL pu obtenir des certificats auto signés. En tout j'ai trois fichiers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    cacert.pem
    srvLDAP.pem
    srvLDAP.key
    J'ai configuré mes fichiers slapd.conf et ldap.conf de cette manière :

    slapd.conf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    TLSCertificateFile      ./ssl/srvLDAP.pem
    TLSCertificateKeyFile   ./ssl/srvLDAP.key
    TLSCACertificateFile    ./ssl/cacert.pem
    ldap.conf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    BASE    <ma branche>
    URI     ldaps://srvLDAP/
    TLS_CACERT      ./ssl/cacert.pem
    TLS_REQCERT     demand
    Après avoir lancé mon service, je peux penser que le protocole ldaps fonctionne, puisque lorsque je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    C:\Program Files\OpenLDAP>ldapsearch -b o=exemple,dc=fr -s sub -x -w pass-D
    cn=admin,o=exemple,dc=fr -H ldaps://srvLDAP/
    Maintenant je souhaiterais, pourvoir à partir d'un serveur apache distant, communiquer avec le serveur LDAP en utilisant le protocole ldaps.

    voici mon code php (simplifié)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <h2>LDAP OPENLDAP LDAPS</h2>
    <?php
     
     
    $host="ldaps://srvldap";
    $port="636";
    $ds=ldap_connect($host,$port);
    ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3);
    $r=ldap_bind($ds,"cn=admin,o=exemple,dc=fr","pass" );
    $sr=ldap_search($ds,"o=exemplec,dc=fr",("objectClass=maclasse" ));
    $info=ldap_get_entries($ds,$sr);
    print $info["count"]." enregistrements trouvés.";
       ?>
    Et bien sur j'ai l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Unable to bind to server: Can't contact LDAP server
    Je sais que je dois configurer des certificats dans la configuration de APACHE (sur un win 2003), le problème c'est que je n'y arrive toujours pas (toujours la même erreur) et je suis un peu perdu.

    De plus, dans ce topic, ils parlent d'un fichier ldaprc et ldap.conf pour apache , mais malgrès les avoir crées, j'ai l'impression qu'ils ne sont pas prises en compte.

    Je souhaiterais donc si possible avoir quelques pistes/info pour résoudre ce problème sur lequel je suis depuis plusieurs jours maintenant.

    par avance merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 68
    Points : 52
    Points
    52
    Par défaut
    Bonjour,

    Je commence a y voir plus clair mais j'y suis pas encore.

    Voilà ce qui a été fait :

    Du coté openLDAP, j'ai mis en place les config suivantes:

    Fichier slapd.conf:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    #certificat demandé pour le serveur openLDAP
    TLSCertificateFile      ./ssl2/srvLDAP.cer
    TLSCertificateKeyFile   ./ssl2/srvLDAP.key
    #certificat de l'autorité de certification
    TLSCACertificateFile    ./ssl2/cacert.cer
    TLSVerifyClient         never
    le fichier ldap.conf:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TLS_CACERT      ./ssl2/cacert.cer
    TLS_REQCERT     never
    Du coté du serveur APACHE (sur un serveur win 2003)
    j'ai crée un dossier C:\openldap\sysconf
    dans ce dossier j'ai crée un fichier ldap.conf avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TLS_CACERT ./ssl/cacert.cer
    TLS_REQCERT     never
    (j'ai mis les certificats dans c:\openldap\sysconf\ssl)

    A partir de ce moment cela fonctionne, j'arrive bien à me contacter en LDAPS, MAIS le certificat n'est pas vérifier.

    Il faut donc faire en sorte de spécifier le certificat.. C'est là que je coince (et ça rejoint le lien de mon précédent message)

    Je ne sais pas sous windows/apache comment spécifier les certificats...
    (même si je pense savoir qu'il faut déjà changer TLS_REQCERT never en TLS_REQCERT demand)

    une idée ?

Discussions similaires

  1. [LDAP] se connecter a annuaire ldap
    Par dunod dans le forum Sécurité
    Réponses: 7
    Dernier message: 01/03/2011, 15h29
  2. [AC-2007] Comment se connecter à un annuaire LDAP depuis Access?
    Par Kokul dans le forum Access
    Réponses: 2
    Dernier message: 28/04/2010, 14h46
  3. Réponses: 1
    Dernier message: 12/01/2010, 13h34
  4. openldap - Fonctionnement ldap
    Par spongebobusa dans le forum Administration système
    Réponses: 2
    Dernier message: 01/03/2009, 21h19
  5. [AD] se connecter au serveur LDAP avec un client LDAP de base
    Par novices dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 24/04/2007, 18h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo