4 votes

Impossible d'utiliser SSL ou TLS pour accéder au serveur ldap OpenDirectory

Je ne parviens pas à me connecter à mon système openserver en utilisant une connexion SSL/TLS.

Il n'y a aucun problème de communication sans SSL sur le port 389 et il est possible de se connecter et de récupérer les informations du répertoire sans problème.

Cependant, lorsqu'on utilise le port 636 et qu'on s'attend à des communications sécurisées, la connexion échoue.

La tentative de connexion openssl ci-dessous détaille la trace qui indiquerait qu'aucune connexion ssl n'est établie.

Example output from openssl attempting to connect

L'image suivante provient de ServerAdmin et indique que SSL est activé et qu'un certificat a été fourni pour la connexion au serveur.

ServerAdmin Configuration

Le port 636 est ouvert sur le serveur ldap, et aucun pare-feu ne se trouve entre les deux hôtes.

sauce:Java frank$ netstat -an | grep 636
tcp6       0      0  *.636                  *.*                    LISTEN
tcp4       0      0  *.636                  *.*                    LISTEN

Une connexion telnet au port 636 du serveur réussit, ce qui indique qu'il n'y a pas de problème de pare-feu en jeu.

Quelqu'un peut-il fournir des éléments supplémentaires à vérifier pour identifier et corriger la cause de ce problème ?

1voto

sweetfa Points 287

Voici les étapes que j'ai suivies pour résoudre ce problème :

Redémarrez le serveur en mode sans échec (maintenez la touche shift enfoncée pendant le redémarrage).

Laissez-le tourner au ralenti pendant un moment (apparemment, il nettoie les caches dans ce mode).

Arrêter le serveur slapd existant

 sudo launchctl unload /System/Library/LaunchDaemons/org.openldap.slapd.plist

Définissez le GUID correct du certificat dans le fichier /etc/openldap/slapd_macosxserver.conf . C'est ce que l'on peut constater à partir du contenu de la /etc/certificats répertoire

sudo sed -e 's/oldguid/newguid/' /etc/openldap/slapd_macosxserver.conf >/tmp/conffile
sudo mv /tmp/conffile /etc/openldap/slapd_macosxserver.conf

Supprimez les valeurs des certificats TLS configurés du fichier /etc/openldap/slapd.d/cn=config.ldif

sudo vi /etc/openldap/slapd.d/cn=config.ldif
remove any lines beginning with olcTLSCertificate

Redémarrez le serveur slapd

 sudo launchctl load /System/Library/LaunchDaemons/org.openldap.slapd.plist

Redémarrez le serveur en mode standard.

Ensuite, depuis un ordinateur client sous linux ou mac osx, vérifiez que vous pouvez vous connecter via SSL et que les certificats sont corrects en utilisant la commande

openssl s_client -connect ldap.yourdomain:636 -showcerts

En cas de succès, vous obtiendrez une copie des certificats de votre serveur ainsi qu'une description détaillée de la connexion :

No client certificate CA names sent
---
SSL handshake has read 5209 bytes and written 807 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
    Session-ID: C8E0F4A4ED24021DB4D98ACF5A9ACDC2293BC3961BF2AE90026115D899369E73
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket:
    ...
    Start Time: 1400140597
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)

Quelques autres notes :

  1. Apple suggère que vous pouvez utiliser un certificat auto-signé et personnel chaînes de certificats ( http://support.apple.com/kb/ht3745 ). J'utilise une chaîne auto-signée auto-signée et c'est réussi.
  2. Le port 636 est le port standard de ldaps et le port utilisé par OpenDirectory (slapd).
  3. TLS1 est supporté comme le montre le test de connexion openssl.
  4. Les différences entre les noms DNS et les noms d'hôtes n'ont pas d'importance (j'ai essayé les deux méthodes avec un redémarrage entre les deux).
  5. La différence de reverse DNS n'a pas d'importance (j'ai essayé les deux méthodes avec un redémarrage entre les deux).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X