Bonsoir,
je poste en désespoir de cause, j'ai passé quelques jours à essayer de mettre en place TLS sur mon annuaire LDAP et ça ne marche toujours pas.
Pourtant la démarche est assez simple en soi, mais j'ai toujours la meme erreur.
Présentation :
Debian 3.1r1, OpenLDAP 2.2.23-8, Samba 3.0.14a, libnss-ldap 238-1, libpam-ldap 178-1, smbldap-tools 0.9.2
La machine nomme PDC-SRV appartient au domaine "oac" et sert de controleur de domaine (PDC) Samba avec annuaire LDAP, plus quelques services (DHCP, DNS, ...)
J'ai suivi plusieurs tutos (plusieurs se recoupent et divergent), et je suis arrivé à une configuration qui marche très bien sans TLS.
Le problème vient quand j'active TLS avec start_tls (pas SSL, je reste sur le port 389 avec la couche TLS).
Voici les modifications pour TLS, tout d'abord les certificats :
mkdir /etc/ldap/cert
*** certif serveur
# openssl genrsa -out serverkey.pem 1024
# openssl req -new -key serverkey.pem -out servercert.req
tout est laissé par défaut, sauf le CN : PDC-SRV.oac
*** certif de la CA
# openssl genrsa -out cakey.pem 1024
# openssl req -new -x509 -key cakey.pem -out cacert.pem -days 365
tout est laissé par défaut, sauf le CN : CA
*** signature du certif serveur par la CA
# openssl x509 -req -in servercert.req -out servercert.pem -CA cacert.pem -CAkey cakey.pem -days 365 -CAcreateserial
# chmod 400 serverkey.pem
*** modification de /etc/ldap/slapd.conf
TLSCertificateFile /etc/ldap/cert/servercert.pem
TLSCertificateKeyFile /etc/ldap/cert/serverkey.pem
TLSCACertificateFile /etc/ldap/cert/cacert.pem
*** modification de /etc/ldap/ldap.conf
HOST 127.0.0.1 # pour info, deja présent
TLS_CACERT /etc/ldap/cert/cacert.pem
ssl start_tls
tls_checkpeer yes
tls_cacertfile /etc/ldap/cert/cacert.pem
*** Redémarrage du serveur
# /etc/init.d/slapd restart
pas d'erreur
*** Tests de recherche dans l'annuaire
# ldapsearch -b 'dc=oac' -ZZ -xh PDC-SRV.oac -v
ldap_initialize( ldap://PDC-SRV.oac )
ldap_start_tls: Can't contact LDAP server (-1)
# ldapsearch -b 'dc=oac' -Z -xh PDC-SRV.oac -v
ldap_initialize( ldap://PDC-SRV.oac )
ldap_start_tls: Can't contact LDAP server (-1)
ldap_bind: Can't contact LDAP server (-1)
# ldapsearch -b 'dc=oac' -ZZ -x -v
ldap_initialize( DEFAULT )
ldap_start_tls: Connect error (-11)
additionnal info: TLS: hostname does not match CN in peer certificate
lors de ce test, je vois dans les logs de slapd cette ligne :
connection_read(9): unable to get TLS client DN, error 49 id=5
# ldapsearch -b 'dc=oac' -Z -x -v
ldap_initialize( DEFAULT )
ldap_start_tls: Connect error (-11)
additionnal info: TLS: hostname does not match CN in peer certificate
filter: (objectclass=*)
requesting: ALL
[...] affichage des entrées de la base LDAP, ça marche si TLS n'est pas employé donc.
Peut-être que ces tests peuvent permettre de voir d'où vient le problème
Pourriez-vous m'aider à résoudre ce problème svp ?
J'espère avoir été assez clair dans mon explication, c'est peut-être une petite bricole à coté de laquelle je suis passé, ou bien un problème que certains d'entre vous ont déjà rencontré, tout conseil est plus que bienvenu !
Merci d'avance
Message édité par Moa_ le 19-04-2006 à 00:34:16