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

2006-04-29 Par sujet Dominique Goncalves

Bonjour,

On 4/19/06, Cyril [EMAIL PROTECTED] wrote:

 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



Quel Comon Name (CN) as tu indiqué lors de la création des certificats ?
Tu dois utilisé ce même CN, lorsque tu utilises
ldapsearch -ZZ -H ldap://ldapserver

J'espère que ca t'aideras, tiens nous au courant.

Cordialement.
--
There's this old saying: Give a man a fish, feed him for a day. Teach
a man to fish, feed him for life.



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

2006-04-19 Par sujet Cyril




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 trs bien
sans TLS.

Le problme vient quand j'active TLS avec start_tls (pas SSL, je reste
sur le port 389 avec la couche TLS).


Voici les modifications apportes 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 dfaut, 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 dfaut, 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 prsent

TLS_CACERT /etc/ldap/cert/cacert.pem

ssl start_tls

tls_checkpeer yes

tls_cacertfile /etc/ldap/cert/cacert.pem


*** Redmarrage 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 entres 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
problme. 

Pourriez-vous m'aider  rsoudre ce problme svp ?
Merci d'avance