web-dev-qa-db-fra.com

Configuration de SSL avec 389 serveur d'annuaire pour l'authentification LDAP

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:

  1. Ca Création Ca - obtenu des certificats de CA privés et publics
  2. Utilisation de CA CERTS: généré à la fois des certificats privés et publics et combinés (-1er fichier) pour 389DS selon la demande de certificat 389DS, importé avec CA Public Cert à 389DS à partir de la console graphique (2ème fichier).
  3. Activé SSL dans 389DS
  4. Sur le client, à l'aide d'AuthConfig-GTK activé SSL pour LDAP, spécifié certificat public CA

ne fonctionne pas.

Comment? Quelle est la meilleure façon d'intégrer en toute sécurité?

7
GioMac

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>

Mise à jour

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>
7
Univ426

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...

2
quadruplebucky

Probablement une meilleure façon est d'utiliser Freeipa.

1
GioMac

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,

0
firstyear