Pages : 1
#1 Le 16/07/2008, à 14:44
- raziel
[RESOLU] LDAP + TLS = Problème liste de chiffrements
Bonjour tout le monde,
Je suis en train de configurer un serveur ldap avec du tls... Aprés configuration, lorsque j'essaye de lancer le serveur pour un test voila ce que ça donne :
TLS: could not set cipher list HIGH:+SSLv3:+TLSv1:MEDIUM:+SSLv2:@STRENGTH:+SHA:+MD5.
main: TLS init def ctx failed: -1
slapd destroy: freeing system resources.
slapd stopped.
connections_destroy: nothing to destroy.
Dans le fichier de config /etc/ldap/sladp.conf, je vérifie que le paramètre TLSCipherSuite est correct via la commande
sudo openssl ciphers -v HIGH:+SSLv3:+TLSv1:MEDIUM:+SSLv2:@STRENGTH:+SHA:+MD5
Le résultat est somme toute correct :
ADH-AES256-SHA SSLv3 Kx=DH Au=None Enc=AES(256) Mac=SHA1
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256) Mac=SHA1
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
ADH-DES-CBC3-SHA SSLv3 Kx=DH Au=None Enc=3DES(168) Mac=SHA1
EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
EDH-DSS-DES-CBC3-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1
DES-CBC3-SHA SSLv3 Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1
ADH-AES128-SHA SSLv3 Kx=DH Au=None Enc=AES(128) Mac=SHA1
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
DHE-DSS-AES128-SHA SSLv3 Kx=DH Au=DSS Enc=AES(128) Mac=SHA1
AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1
RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1
DES-CBC3-MD5 SSLv2 Kx=RSA Au=RSA Enc=3DES(168) Mac=MD5
ADH-RC4-MD5 SSLv3 Kx=DH Au=None Enc=RC4(128) Mac=MD5
RC4-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
RC2-CBC-MD5 SSLv2 Kx=RSA Au=RSA Enc=RC2(128) Mac=MD5
RC4-MD5 SSLv2 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
J'ai vu sur plusieurs documentations que le problème pouvait être dû au fait que la clé privée de mon serveur n'appartenait pas à l'utilisateur system qui éxécute le serveur slapd. Chez moi, il n'en est rien l'utilisateur est bien le même et la clé privée est bien en readonly (400). Donc je n'arrive pas à savoir d'où cela provient.
voici le fichier /etc/default/slapd :
SLAPD_CONF=
SLAPD_USER="openldap"
SLAPD_GROUP="openldap"
SLAPD_PIDFILE=
SLAPD_SERVICES="ldap://127.0.0.1/ ldaps:///"
SLAPD_OPTIONS=""
Mon fichier /etc/ldap/slapd.conf :
[...]
TLSCACertificateFile /usr/lib/ssl/CA/private/CA.crt
TLSVerifyClient never
TLSCertificateFile /usr/lib/ssl/CA/certs/ldap/server_signed_ldap.pem
TLSCertificateKeyFile /usr/lib/ssl/CA/private/ldap/server_tls.pem
TLSCipherSuite HIGH:+SSLv3:+TLSv1:MEDIUM:+SSLv2:@STRENGTH:+SHA:+MD5
[...]
Et enfin mon /etc/ldap.conf (ou /etc/ldap/ldap.conf)
[...]
SSL start_tls
TLS_CACERT /usr/lib/ssl/CA/private/CA.crt
TLS_REQCERT demand
TLS_CERT /usr/lib/ssl/CA/certs/ldap/server_signed_ldap.pem
TLS_KEY /usr/lib/ssl/CA/private/ldap/server_tls.pem
[...]
Petite précision : Je me suis créé une autorité de certificat avec openssl. Pour générer le certificat du serveur j'ai rempli le champs "COMMON NAME" avec mon ancien FQDN. Comme j'en ai un nouveau désormais est-ce que cela peut-il venir de là?
Merci d'avance pour votre aide!
Dernière modification par raziel (Le 18/07/2008, à 12:32)
Hors ligne
#2 Le 18/07/2008, à 12:31
- raziel
Re : [RESOLU] LDAP + TLS = Problème liste de chiffrements
Ok les amis merci pour votre .... heuuu... lecture de mon post mais j'ai trouvé la solution par moi-même.
Pour ceux à qui cela intéresserait :
Il se trouve qu'openldap marche, non pas avec openssl mais depuis quelques versions, avec gnutls !
Donc si nous voulons choisir les chiffrements qui seront négociés, il ne convient plus de spécifier le paramêtre TLSCiphersSuite selon les listes de chiffrements données par la syntaxe d'openssl :
sudo openssl ciphers -v HIGH:+SSLv3:+TLSv1:MEDIUM:+SSLv2:@STRENGTH:+SHA:+MD5
ADH-AES256-SHA SSLv3 Kx=DH Au=None Enc=AES(256) Mac=SHA1
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256) Mac=SHA1
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
ADH-DES-CBC3-SHA SSLv3 Kx=DH Au=None Enc=3DES(168) Mac=SHA1
EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
EDH-DSS-DES-CBC3-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1
DES-CBC3-SHA SSLv3 Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1
ADH-AES128-SHA SSLv3 Kx=DH Au=None Enc=AES(128) Mac=SHA1
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
DHE-DSS-AES128-SHA SSLv3 Kx=DH Au=DSS Enc=AES(128) Mac=SHA1
AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1
RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1
DES-CBC3-MD5 SSLv2 Kx=RSA Au=RSA Enc=3DES(168) Mac=MD5
ADH-RC4-MD5 SSLv3 Kx=DH Au=None Enc=RC4(128) Mac=MD5
RC4-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
RC2-CBC-MD5 SSLv2 Kx=RSA Au=RSA Enc=RC2(128) Mac=MD5
RC4-MD5 SSLv2 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
Il convient maintenant d'utiliser la syntaxe donnée par la commande :
sudo gnutls-cli -l
Le résultat sera tout autre :
Cipher suites:
TLS_ANON_DH_ARCFOUR_MD5 0x00, 0x18 SSL 3.0
TLS_ANON_DH_3DES_EDE_CBC_SHA1 0x00, 0x1b SSL 3.0
TLS_ANON_DH_AES_128_CBC_SHA1 0x00, 0x34 SSL 3.0
TLS_ANON_DH_AES_256_CBC_SHA1 0x00, 0x3a SSL 3.0
TLS_PSK_SHA_ARCFOUR_SHA1 0x00, 0x8a TLS 1.0
TLS_PSK_SHA_3DES_EDE_CBC_SHA1 0x00, 0x8b TLS 1.0
TLS_PSK_SHA_AES_128_CBC_SHA1 0x00, 0x8c TLS 1.0
TLS_PSK_SHA_AES_256_CBC_SHA1 0x00, 0x8d TLS 1.0
TLS_DHE_PSK_SHA_ARCFOUR_SHA1 0x00, 0x8e TLS 1.0
TLS_DHE_PSK_SHA_3DES_EDE_CBC_SHA1 0x00, 0x8f TLS 1.0
TLS_DHE_PSK_SHA_AES_128_CBC_SHA1 0x00, 0x90 TLS 1.0
TLS_DHE_PSK_SHA_AES_256_CBC_SHA1 0x00, 0x91 TLS 1.0
TLS_SRP_SHA_3DES_EDE_CBC_SHA1 0xc0, 0x1a TLS 1.0
TLS_SRP_SHA_AES_128_CBC_SHA1 0xc0, 0x1d TLS 1.0
TLS_SRP_SHA_AES_256_CBC_SHA1 0xc0, 0x20 TLS 1.0
TLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA1 0xc0, 0x1c TLS 1.0
TLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA1 0xc0, 0x1b TLS 1.0
TLS_SRP_SHA_DSS_AES_128_CBC_SHA1 0xc0, 0x1f TLS 1.0
TLS_SRP_SHA_RSA_AES_128_CBC_SHA1 0xc0, 0x1e TLS 1.0
TLS_SRP_SHA_DSS_AES_256_CBC_SHA1 0xc0, 0x22 TLS 1.0
TLS_SRP_SHA_RSA_AES_256_CBC_SHA1 0xc0, 0x21 TLS 1.0
TLS_DHE_DSS_ARCFOUR_SHA1 0x00, 0x66 TLS 1.0
TLS_DHE_DSS_3DES_EDE_CBC_SHA1 0x00, 0x13 SSL 3.0
TLS_DHE_DSS_AES_128_CBC_SHA1 0x00, 0x32 SSL 3.0
TLS_DHE_DSS_AES_256_CBC_SHA1 0x00, 0x38 SSL 3.0
TLS_DHE_RSA_3DES_EDE_CBC_SHA1 0x00, 0x16 SSL 3.0
TLS_DHE_RSA_AES_128_CBC_SHA1 0x00, 0x33 SSL 3.0
TLS_DHE_RSA_AES_256_CBC_SHA1 0x00, 0x39 SSL 3.0
TLS_RSA_NULL_MD5 0x00, 0x01 SSL 3.0
TLS_RSA_EXPORT_ARCFOUR_40_MD5 0x00, 0x03 SSL 3.0
TLS_RSA_ARCFOUR_SHA1 0x00, 0x05 SSL 3.0
TLS_RSA_ARCFOUR_MD5 0x00, 0x04 SSL 3.0
TLS_RSA_3DES_EDE_CBC_SHA1 0x00, 0x0a SSL 3.0
TLS_RSA_AES_128_CBC_SHA1 0x00, 0x2f SSL 3.0
TLS_RSA_AES_256_CBC_SHA1 0x00, 0x35 SSL 3.0
Certificate types: X.509, OPENPGP
Protocols: SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2
Ciphers: AES 256 CBC, AES 128 CBC, 3DES 168 CBC, DES CBC, ARCFOUR 128, ARCFOUR 40, RC2 40, NULL
MACs: SHA, MD5, SHA256, SHA384, SHA512, MD2, RIPEMD160, NULL
Key exchange algorithms: Anon DH, RSA, RSA EXPORT, DHE RSA, DHE DSS, SRP DSS, SRP RSA, SRP, PSK, DHE PSK
Compression: LZO, DEFLATE, NULL
A partir de là mon paramêtre (qui se trouve dans /etc/ldap/slapd.conf)
TLSCipherSuite=HIGH:+SSLv3:+TLSv1:MEDIUM:+SSLv2:@STRENGTH:+SHA:+MD5
devient donc :
TLSCipherSuite=TLS_ANON_DH_ARCFOUR_MD5:TLS_ANON_DH_3DES_EDE_CBC_SHA1:TLS....(etc, etc)
Liens qui m'ont aidés dans mes recherches :
http://www.openldap.org/lists/openldap- … 00199.html
http://www.openssl.org/docs/apps/ciphers.html
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=462588
Bonne continuation à toutes et à tous !:)
Hors ligne