Als erstes möchten Sie möglicherweise überprüfen, ob Ihr Server die Zertifikate ordnungsgemäß präsentiert. Sie können dies tun, indem Sie versuchen, mit OpenSSL eine Verbindung zu Ihrem Server herzustellen. Führen Sie auf einem Clientcomputer mit Zugriff Folgendes aus:
openssl s_client –connect target_server_fqdn:636
Dies sollte einen schönen Ausdruck des Serverzertifikats zurückgeben. Der Schlüssel hier ist die Überprüfung des am Ende gedruckten "Rückgabecodes überprüfen". Möglicherweise erhalten Sie unterschiedliche Codes, aber im Allgemeinen sollten Sie 0 für ein gültiges Zertifikat und möglicherweise 19 erhalten, wenn Sie sich selbst signieren.
Wenn dies fehlschlägt, gehen Sie zurück und überprüfen Sie, ob Sie Ihre serverseitigen Zertifikate ordnungsgemäß importiert haben.
Wenn Sie diesen Test bestanden haben, fahren Sie mit dem Testen Ihrer TLS-Verbindungen auf der Clientseite fort.
Führen Sie auf einem Clientcomputer aus
ldapsearch -z -ZZ '(uid=<testusername>)'
Dadurch wird eine LDAP-Suche über eine verschlüsselte Verbindung erzwungen. Wenn dies erfolgreich ist, sollten Sie einige Benutzerinformationen zurückerhalten, und ein Einchecken in die DS-Protokolle sollte Folgendes ergeben:
[23 / Sep / 2011: 07: 48: 57 -0500] conn = 1631 op = 0 EXT oid = "XXXXXX.X.XX" name = "startTLS" [23 / Sep / 2011: 07: 48: 57 -0500 ] conn = 1631 op = 0 RESULT err = 0 tag = 120 nentries = 0 etime = 0 [23 / Sep / 2011: 07: 48: 57 -0500] conn = 1631 SSL 256-Bit-AES
Wenn dies fehlschlägt, sollten Sie sicherstellen, dass die Zertifikate auf der Clientseite ordnungsgemäß importiert wurden.
Bei der Fehlerbehebung habe ich häufig nach folgenden Bereichen gesucht:
1.) Auf den Clients können Sie in einigen Fällen (die hier von jemandem besser erklärt werden können) versuchen, eine Signatur zu verlangen, indem Sie ldap.conf bearbeiten und die Zeile einschließen
TLS_REQCERT allow
2.) Wenn die Authentifizierungs-GUI Probleme verursacht, können Sie versuchen, TLS für LDAP mit explizit zu aktivieren
authconfig --enableldaptls --update
Ich hatte zuvor Probleme mit der GUI, daher bleibe ich eher bei der Verwendung von CLI-Befehlen.
3.) Und eine letzte Sache, die Sie versuchen könnten (noch einmal, nur zum Testen), ist anzurufen
cacertdir_rehash <dir where certs are stored>
Aktualisieren
Wenn Sie weitere Hilfe beim Erstellen von Selbstsignaturzertifikaten suchen, versuchen Sie Folgendes:
1.) Erstellen Sie Ihr eigenes, selbstsigniertes CA-Zertifikat:
certutil -S -n "<CA Certificate Name Here>" -s "cn=<CN Name Here>, dc=<Your DC's FQDN>" -2 -x -t "CT,," -m 1000 -v 120 -d . -k rsa
2.) Erstellen Sie ein Serverzertifikat für den Verzeichnisserver
certutil -S -n "Cert-Name" -s "cn=<Server FQDN>" -c "<Name of CA Certificate>" -t "u,u,u" -m 1001 -v 120 -d . -k rsa
3.) Importieren Sie diese beiden Zertifikate in den Verzeichnisserver im Abschnitt "Zertifikate verwalten", der unter "Aufgaben" ausgewählt ist.
4.) Aktivieren Sie die TLS-Verschlüsselung
5.) Erstellen Sie ein exportierbares Zertifikat für Clients und geben Sie es in eine PEM-Datei aus
certutil -d . -L -n "<CA Certificate Name>" -a > cacert.pem
6.) Laden Sie nach Ihrer Wahl das Client-Zertifikat auf jeden Client herunter.
7.) Bereiten Sie die Zertifikate mit dem zuvor genannten Befehl erneut vor
cacertdir_rehash <dir where certs are stored>