Forum Linux.debian/ubuntu Client sur OpenLdap+SSL

Posté par  .
Étiquettes : aucune
1
3
fév.
2009
Bonjour tout le monde,

Je suis depuis peu sur Linux, et plus particulièrement sur Debian, je dois pour l'instant connecter une machine sur un LDAP (OpenLDAP) et la connexion doit être chiffré pour évité tout sniffage du mot de passe, chiffré via SSL.

Je ne trouve pas vraiment de tuto expliquant de A à Z ce qu'il faut faire, je tatonne avec ce que je trouve mais sans réussite.

Alors quelqu'un aurait t-il un tuto ou pourrait t-il m'aider?

Merci,
  • # PAM_ldap

    Posté par  . Évalué à 2.

    perso je fais du pam_ldap

    cela me permet ainsi d'avoir des services ftp, ssh qui se basent sur ldap pour aller chercher les utilisateurs
  • # tls ou ssl

    Posté par  (site web personnel) . Évalué à 2.

    Il faut activer tls sur le port 389 ou ssl 636.
    cf la config du serveur slapd.conf et celle du client
    Côte ssl: generation d'une AC et d'un cerfificat client et serveur signe par l'AC.

    Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités

  • # En anglais...

    Posté par  . Évalué à 2.

    ... mais très très bon : http://www.zytrax.com/books/ldap/ (section 2.5 pour les ACL, et section 5 pour TLS sur le serveur).

    Par contre, pas d'exemple de TLS avec un certificat pour le client... mais moi qui découvre un peu LDAP ces temps-ci, j'ai un peu l'impression que l'authentification du client sur la base de donnée via un certificat client n'est pas chose si répandue que ça (genre, avec PowerDNS, ça n'a pas l'air d'être possible... même si je n'arrive de toute façon pas encore à lui faire vérifier le certificat du serveur :p ... enfin, ce serait dommage : avec tinyca2, je trouve plus simple de générer un certificat signé par un CA maison que de générer du mot de passe texte... à creuser, ce où j'en suis en ce moment).

    Cela dit, pas besoin de ça pour avoir une connexion chiffrée (ça, j'y arrive bien avec du ldapsearch, et un ldap.conf qui va bien) - un certificat pour le serveur LDAP suffit : basiquement, tu signes le certificat de ton serveur [avec un autre certificat, ou pas, selon comme tu veux faire], et tu mets le certificat du CA sur le client (le CA est le couple clés privée/certificat, autosigné pour un CA maison, dont la clé privée t'a servi à signer le certificat de ton serveur - évidemment, la clé privée du CA, moins tu l'exposes, mieux c'est)... et ça roule.

    Sinon, il y a aussi pas mal d'infos utiles et de recettes dans le tuto de YoLinux : http://www.yolinux.com/TUTORIALS/LinuxTutorialLDAP.html ...
    • [^] # Re: En anglais...

      Posté par  . Évalué à 3.

      genre, avec PowerDNS, ça n'a pas l'air d'être possible
      Je confirme. J'ai eu le problème il y a quelques mois. La société qui développe n'est pas interessée par l'ajout de cette fonctionnalité, sauf si on lui fourni toute cuite ou en échange de quelques lingots :-) Je n'avais pas le besoin au point de donner les lingots (ils demandaient 3 jours de développement, ça m'a semblé très exagéré) donc c'est râpé pour toi.
      • [^] # Re: En anglais...

        Posté par  . Évalué à 2.

        Bon, en fait, c'est plus profond - je ne dis pas que c'est possible, pour le bind de PowerDNS au serveur LDAP via un certificat client... juste que je ne peux même pas tester avec Debian Lenny...

        ... en fait, il semble que pour s'authentifier à OpenLDAP, via un certificat client, il faut utiliser SASL/EXTERNAL... ... or, OpenLDAP ne supporte pas SASL/EXTERNAL avec la libgnutls : il faut donc aussi avoir un OpenLDAP compilé avec la libssl comme dépendance...

        ... sauf que dans Lenny, Debian compile OpenLDAP (slapd aussi bien que ldap-utils) avec le support de la libgnutls à la place (alors que je ne vois pas trop le problème entre l'OpenLDAP Public Licence et la OpenSSL Licence, vu que la première n'interdit pas de rajouter la, certes infâme, clause publicitaire, exigée par la seconde... m'enfin, c'est juste infâme, pas incompatible)...

        Bref, apparemment, pas de support du bind à de l'OpenLDAP via du certificat client dans Lenny (même ldapsearch se viande avec un truc du genre "TLS : mécanisme non supporté")... c'est la loose... :(
        • [^] # Re: En anglais...

          Posté par  . Évalué à 2.

          Mea culpa... je suis un âne : j'avais oublié le TLSCACertificateFile dans le slapd.conf (et donc, le serveur ne pouvait vérifier la signature du certificat du client... je ne l'avais mis que dans le ldap.conf, ce qui est inutile pour le serveur)... ldapsearch marche donc nickel sur Lenny avec gnutls, SASL, et des certificats clients...

          ... par contre, en effet, PowerDNS n'a pas l'air du tout de vouloir s'authentifier via SASL... j'arrive à lui faire charger un .ldaprc en spécifiant la valeur $HOME dans le script d'init (un peu goret, mais c'était juste pour voir), mais il semble se foutre éperduement de TLS_CERT, TLS_KEY et SASL_MECH...

          Apparemment, il ne gère pas SASL, qui interdit le "bind" anonyme, mais qui n'implique pas davantage de spécifier un CN sur lequel "binder" (en tout cas, en "EXTERNAL" ; il y a juste un mapping à faire dans la conf du server entre le CN du certificat, et ce sur quoi on veut binder : ça ne regarde donc pas le client)... Et pour PowerDNS, il semble que le seul choix soit entre un "bind" anonyme, et un "bind" explicite, avec des mots de passe tout pourris...

          Bref, j'ai avancé, mais c'est toujours la loose... Bon...
  • # Merci....

    Posté par  . Évalué à 1.

    Merci beaucoup pour votre aide, je vais revoir tout ça à tête reposé demain !!

    Encore une fois merci et si certains ont d'autre conseil à donner je suis preneur.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.