[debian]mise en place LDAP+SSL/TLS

mise en place LDAP+SSL/TLS [debian] - Linux et OS Alternatifs

Marsh Posté le 02-08-2005 à 14:26:39    

bonjour,
 
voila, j'ai un annuaire en place qui fonctionne correctement avec les outils clients classiques (ldapsearch...) , installe sur une debian sid (via un classique apt-get install slapd).
j'ai crée mes certificats, rajoute les lignes  
TLSCertificateFile      
TLSCertificateKeyFile  
TLSCACertificateFile    
 
dans slapd.conf,
 
j'ai configure le fichier client, activé ldaps dans /etc/defaut/slapd,
un petit netstat -an me montre que le port 636 est bien en ecoute, mais quand je fais un ldapsearch -H "ldaps://monserveur" -D "cn=admin,..." -W -x ... , ca me donne un ldap_bind:can't contact ldap server (-1)
 
si quelqu'un a une idée.
merci !

Reply

Marsh Posté le 02-08-2005 à 14:26:39   

Reply

Marsh Posté le 02-08-2005 à 16:58:22    

up

Reply

Marsh Posté le 02-08-2005 à 22:21:47    

up

Reply

Marsh Posté le 05-08-2005 à 13:34:02    

up

Reply

Marsh Posté le 05-08-2005 à 14:32:06    

Il y a rien dans les logs? Les certificats sont bien lisible par le serveur ldap?


---------------
Le salut ne viendra pas d'esprits au garde-à-vous.
Reply

Marsh Posté le 05-08-2005 à 17:03:51    

non rien ds les logs, en fait je pense qu'il n'arrive meme pas a contacter mon serveur LDAP, mais pourquoi ?? le port 636 est bien en ecoute..
 
a noter que ca marche nickel sans SSL...

Reply

Marsh Posté le 09-08-2005 à 11:36:56    

up

Reply

Marsh Posté le 09-08-2005 à 15:24:15    

Salut
Voici ce que j'ai dû faire :
 
cd /usr/lib/ssl/
 
Création d'une autorité de certification :
 

Code :
  1. mkdir certs csr datas keys private datas/ca.db.certs
  2. touch private/ca.key datas/ca.db.serial
  3. cp /dev/null datas/ca.db.index
  4. openssl rand 1024 > datas/random-bits


 
On génère la clé de la CA :
 
openssl genrsa -des3 -out private/ca.key 1024 -rand datas/random-bits
 
On la protège :
 
chmod 600 private/ca.key
 
On crée le certificat de la CA :
 

Code :
  1. openssl req -new -x509 -days 3650 -key private/ca.key -out certs/ca.pem
  2. Pays : FR
  3. Département : 13
  4. Ville : ville
  5. Organisation : organisation
  6. Section : section
  7. Common name : CA
  8. email : root@localhost


 
Edite le fichier de la CA :
 
vi ca.conf
 

Code :
  1. default_ca = default_CA
  2. [ default_CA ]
  3. dir = .
  4. certs = ./certs
  5. new_certs_dir = ./datas/ca.db.certs
  6. database = ./datas/ca.db.index
  7. serial = ./datas/ca.db.serial
  8. RANDFILE = ./datas/random-bits
  9. certificate = ./certs/ca.pem
  10. private_key = ./private/ca.key
  11. default_days = 730
  12. default_crl_days = 30
  13. default_md = md5
  14. preserve = no
  15. x509_extensions = server_cert
  16. policy = policy_anything
  17. [ policy_anything ]
  18. countryName = optional
  19. stateOrProvinceName = optional
  20. localityName = optional
  21. organizationName = optional
  22. organizationalUnitName = optional
  23. commonName = supplied
  24. emailAddress = optional
  25. [ server_cert ]
  26. #subjectKeyIdentifier = hash
  27. authorityKeyIdentifier = keyid:always
  28. extendedKeyUsage = serverAuth,clientAuth,
  29. basicConstraints = critical,CA:false


 
echo '01' > datas/ca.db.serial
 
Ensuite il faut créer une certificat pour slapd :
 

Code :
  1. openssl genrsa -out keys/ldap.organisation.fr.key 1024
  2. openssl req -new -key keys/ldap.organisation.fr.key -out csr/ldap.organisation.fr.csr
  3. Pays : FR
  4. Département : 13
  5. Ville : ville
  6. Organisation : organisation
  7. Section : section
  8. Common name : ldap.organisation.fr
  9. email : root@localhost


 
On fait signer le certificat par la CA :
 
openssl ca -config ca.conf -out certs/ldap.organisation.fr.txt -infiles csr/ldap.organisation.fr.csr
 
perl -n -e 'm/BEGIN CERTIFICATE/ && do {$$seen=1}; $$seen && print;' < certs/ldap.organisation.fr.txt > certs/ldap.organisation.fr.pem
 
Vérifie que le certificat est bon :
 
openssl verify -CAfile certs/ca.pem certs/ldap.organisation.fr.pem
 
On copie ensuite ce qu'il faut dans le répertoire de slapd :
 

Code :
  1. mkdir /etc/ldap/ssl
  2. cp certs/ca.pem /etc/ldap/ssl/
  3. cp certs/ldap.organisation.fr.pem /etc/ldap/ssl/
  4. cp keys/ldap.organisation.fr.key /etc/ldap/ssl/


 
Puis dans /etc/ldap/slapd.conf :
 

Code :
  1. TLSCertificateFile /etc/ldap/ssl/ldap.organisation.fr.pem
  2. TLSCertificateKeyFile /etc/ldap/ssl/ldap.organisation.fr.key
  3. TLSCACertificateFile /etc/ldap/ssl/ca.pem


 
Un lien que je viens de trouver et qui a l'air interessant :  
http://www-lor.int-evry.fr/~michel [...] S-SSL.html
 
 :hello:


Message édité par phoenix-dark le 11-08-2005 à 21:40:47

---------------
Pingouins dans les champs, hiver méchant.
Reply

Marsh Posté le 09-08-2005 à 17:06:08    

toute la conf pour les certificats est correcte, en fait ca bloque a la connexion au serveur LDAP.
je vais regarder ton lien, merci !

Reply

Marsh Posté le 09-08-2005 à 17:13:42    

mes certificats sont ok, ma conf ok (je pense) je la poste ce soir.

Reply

Marsh Posté le 09-08-2005 à 17:13:42   

Reply

Marsh Posté le 11-08-2005 à 16:58:43    

bon, mes certificats sont ok, le CN est bien le nom du serveur ldap, j'ai rajoute les lignes  
    * TLSCertificateFile /etc/ldap/ssl/ldapcert.crt
    * TLSCertificateKeyFile/etc/ldap/ssl/ldapcert.key
    * TLSCACertificateFile /etc/ldap/ssl/cacert.pem
 
et quand je fais un ldapsearch -H ldaps://nomduserveurldap
 
ca me sort toujours : can't contact LDAP server(-1)
 
un lsof -i tcp 636,389 me montre que slapd ecoute bien sur ces 2 ports....
 
je desespere !!!!
 

Reply

Marsh Posté le 12-08-2005 à 10:17:51    

up

Reply

Marsh Posté le 21-08-2005 à 16:05:47    

up

Reply

Marsh Posté le 22-08-2005 à 14:54:08    

personne ?

Reply

Marsh Posté le 23-08-2005 à 14:12:14    

up

Reply

Marsh Posté le 25-08-2005 à 16:24:56    

up

Reply

Marsh Posté le 25-08-2005 à 16:47:35    

je ne connais pas trop les commandes lsof et netstat mais est-ce qu'elles tiennent compte d'un éventuel firewall ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed