[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

PDC Samba/LDAP : mise en place de TLS/SSL



Bonjour,

J'essaie de mettre en place la couche TLS pour les communications avec un annuaire LDAP.
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 nommé 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 tutoriaux (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 apportées 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 ?
Merci d'avance

Reply to: