J'ai 389 serveur d'annuaire fonctionnant sur Rhel 5 avec des groupes, des utilisateurs, POSIX, etc. RHEL CLIENTS authentifier les utilisateurs avec LDAP - aucun problème, tout fonctionne parfaitement, mais les mots de passe sont envoyés en clairexuant et sont visibles avec le renifleur réseau. Alors, a décidé de courir avec SSL:
ne fonctionne pas.
Comment? Quelle est la meilleure façon d'intégrer en toute sécurité?
La première chose que vous voudrez peut-être faire est de vérifier que votre serveur présente ses certificats correctement. Vous pouvez le faire en essayant de vous connecter à votre serveur à l'aide de OpenSSL. Sur une machine client avec accès, exécuter:
openssl s_client –connect target_server_fqdn:636
Cela devrait renvoyer une belle impression hors du certificat du serveur. La clé ici est en train de vérifier le "Vérifier le code retour" imprimé à la fin. Vous pouvez obtenir des codes différents, mais en général, vous devez obtenir 0 pour un certificat valide et éventuellement 19 si vous êtes auto-signature.
Si cela échoue, revenez et vérifiez que vous vous assurez que vous avez importé correctement vos certificats de serveur.
Si vous avez passé ce test, passez à vos connexions TLS du côté client.
Sur une machine client, courez
ldapsearch -z -ZZ '(uid=<testusername>)'
Cela obligera une recherche LDAP sur une connexion cryptée. Si cela réussit, vous devez récupérer des informations de l'utilisateur et une vérification dans les fichiers DS Logs devrait céder les éléments suivants:
[23/SEP/2011: 07: 48: 57 -0500] conn = 1631 op = 0 ext Oid = "xxxxxx.x.xx" nom = "StartTLS" [23/SEP/2011: 07: 48: 57 - 0500] conn = 1631 op = 0 résultat err = 0 étiquette = 120 nentries = 0 ETIME = 0 [23/SEP/2011: 07: 48: 57 -0500] conn = 1631 SSL 256 bits AES
Si cela échoue, vous voudrez vous assurer que les certificats étaient correctement importés du côté du client.
Lors du dépannage, des espaces communs que je me suis retrouvé à la recherche fréquemment sont:
1.) Sur les clients, dans certains cas (que quelqu'un ici peut être capable de mieux expliquer), vous pouvez essayer d'exiger de la signature en modifiant LDAP.conf et y compris la ligne
TLS_REQCERT allow
2.) Si l'interface graphique d'authentification vous donne des problèmes, vous pourriez essayer d'allumer explicitement TLS pour LDAP avec
authconfig --enableldaptls --update
J'ai déjà eu des problèmes avec l'interface graphique, alors j'ai tendance à rester en utilisant des commandes de CLI.
3.) Et une dernière chose que vous pourriez essayer (à nouveau, juste pour tester), appelle
cacertdir_rehash <dir where certs are stored>
Si vous cherchez plus d'aide pour créer des certificats d'auto-panneau, essayez ce qui suit:
1.) Créez votre propre certificat de CA auto-signé:
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.) Créer un certificat de serveur pour le serveur de répertoires
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.) Importer les deux ces certificats dans le serveur de répertoires dans la section "Gérer les certificats", sélectionné sous "Tâches"
4.) Activer le cryptage TLS
5.) Créez un certificat exportable pour les clients et la sortie dans un fichier .PEM.
certutil -d . -L -n "<CA Certificate Name>" -a > cacert.pem
6.) Au moyen de votre choix - téléchargez le certificat client sur chaque client.
7.) REVASH Les certificats en utilisant la commande précédemment mentionnée
cacertdir_rehash <dir where certs are stored>
Je n'avais pas de chance en configurant SSL pour les serveurs Annuaire 389 ou Admin Après les Howtos que j'ai trouvés (je pensais que c'était parce que j'utilisais Centos 6, et la plupart des Howtos ciblaient plus précisément).
Ce qui a finalement travaillé pour moi, c'était d'initier des demandes de certificats à partir des interfaces de serveur 389-console (admin | Dir), signer ces requêtes avec une installation en tinyca (juste une frontière à OpenSSL, je suis paresseux), exportez les certs PEM signés et CA certs et importer celles-ci à l'aide de la console 389.
389 Console -> Groupe de serveurs -> (admin/répertoire) Server -> Ouvrir -> Gérer les certificats
J'espère que cela t'aides...
Probablement une meilleure façon est d'utiliser Freeipa.
Le projet 389 Annuaire Server conserve un guide sur TLS/SSL ici http://www.port389.org/docs/389ds/howto/howto-ssl.html
Cela couvre l'administration des certificats de serveur sans la console d'administration. J'espère que cela pourra aider,