Forum Linux.debian/ubuntu Besoin d'aide : Debian Squeeze Open Ldap et SSL :)

Posté par  . Licence CC By‑SA.
Étiquettes :
1
12
juin
2013

Bonjour à tous.
Je suis nouveau sur le forum et novice en Linux également. Je suis actuellement en formation professionnelle "réseau, exploitations, etc…" (je passe sur le titre il importe peu ici).
Bref j'ai découvert Linux au début de ma formation il y a 6 mois, je suis actuellement en stage (pour deux mois).
Je vais essayer de ne pas vous noyer dans une logorrhée inutile. Et m'en tenir à l'essentiel.

Je dois monter un Open Ldap (avec SSL) dans le cadre de mon stage. J'ai un tuteur qui m'aide un peu mais c'est à moi de faire le boulot.
J'ai choisi une Debian 6, OpenLdap 2.4.23 et d'utiliser les fichiers ldif (qu'on a vu en formation) au détriment du bon vieux "slapd.conf", très souvent présent dans pas mal de tuto mais des tutos et des VM … j'en ai usé un paquet… :/
Bref j'ai enfin un serveur qui tourne SANS SSL …

J'ai suivi principalement ce tuto :

http://www.geekstuff.fr/2011/05/27/securite/monter-rapidement-un-openldap-avec-des-comptes-de-tests/

Et pour la partie SSL, mon tuteur me demande de suivre celui-ci :

http://wiki.acacs.org/doku.php?id=installer_openldap_slapd_en_version_2.4_en_ssl_tls_sous_debian_squeeze

Vu que je n'arrive à RIEN avec les autres et que pour lui c'est un bon choix (et je pense qu'il a raison).

Mais voila … ce tuto considère qu'on a fait un dkpg et qu'on travaille avec slapd.conf … et n'aborde pas du tout la gestion OLC et me voilà bloqué dès qu'on arrive ici :

Editer /etc/ldap/slapd.conf: Ajouter en dessous de

backend hdb

les lignes:

TLSCertificateKeyFile /etc/ldap/ssl/ca-key.pem
TLSCertificateFile /etc/ldap/ssl/ca-cert.pem

Bref, pouvez-vous m'aider et me dire comment retranscrire la fin du tuto en me basant sur les ldif ? Les fichiers contenus dans le rep cn=config sont nombreux… aucun n'a une structure équivalente au slapd.conf… et vu que je découvre Linux (et Debian… depuis 8 jours !) je galère beaucoup.

Merci par avance et j'espère ne pas vous avoir noyé sous le flot :/

  • # config par des LDIF

    Posté par  . Évalué à 3.

    la configuration par les fichiers LDIF, c'est la nouvelle norme.
    avant on faisait en effet ca dans un fichier slapd.conf,
    maintenant la config du serveur se trouve dans l'annuaire en elle meme.

    il te faut en effet adapter la config qui doit etre faite dans slapd.conf pour la mettre dans le fichier cn{config} (un truc comme ca)

    • [^] # Re: config par des LDIF

      Posté par  (site web personnel) . Évalué à 3. Dernière modification le 13 juin 2013 à 19:06.

      Salut,

      Attention, il NE faut PAS modifier directement les fichiers LDIF.

      Il faut faire ça avec des "ldapadd", "ldapmodify", "ldapdelete".

      Il y a un bon article à ce propos dans le GNU/Linux Magazine France Hors Série 66, au format "mook" titré Apache.

      • [^] # Re: config par des LDIF

        Posté par  . Évalué à 1. Dernière modification le 13 juin 2013 à 10:38.

        Si je comprends bien, je fais des ldapadd ou ldapmodify du fichier qui commence par :

        # Database settings
        dn: olcDatabase=hdb,cn=config
        objectClass: olcDatabaseConfig
        objectClass: olcHdbConfig
        olcDatabase: {1}hdb
        olcSuffix: dc=geekstuff,dc=fr
        ...
        
        

        Appelé dans le tuto, fichier de configuration par défaut ?

        Bon ben va falloir faire des snapshots alors. Car cela m'étonnerait que j'y arrive du premier coup :/
        Merci pour les infos en tout cas. Je vous tiendrai au courant.

        • [^] # Re: config par des LDIF

          Posté par  . Évalué à 4.

          snapshot et bien documenter les etapes que tu suis une par une pour savoir lesquelles fonctionnent et lesquelles ne fonctionnent pas.

          pour pouvoir refaire tout de zero, sans se reprendre la tete a tout retesté

          • [^] # Re: config par des LDIF

            Posté par  . Évalué à 0. Dernière modification le 13 juin 2013 à 10:39.

            Alors après étude minutieuse de mon annuaire j'ai remarqué que le fichier de configuration ldif principal qui commence par :

            # Database settings
            dn: olcDatabase=hdb,cn=config
            
            

            Fait référence à ce fichier :

            olcDatabase={2}hdb.ldif

            qu'on peut trouver ici :

            /etc/ldap/slapd.d/cn=config

            Qui contient toutes les données contenues dans le fichier ldif.

            Je vais donc éditer ce fichier, et tester pas à pas… je croise les doigts. Merci pour vos conseils :)

  • # config OpenLDAP avec STARTTLS

    Posté par  . Évalué à 1.

    Debian 7 est sortie il y a un peu plus d'un mois. Debian 6 est donc obsolète et il vaut mieux utiliser la 7.

    Il est plus propre d'utiliser le mode dit "STARTTLS" qui passe du texte en clair à SSL à chaud et utilise le port standard du protocole, que le SSL natif sur un autre port (cf. FAQ de OpenLDAP).

    Trêve de pinaillage, voici comment ça se configure. Pour être plus tranquille, préconfigurer les options du client LDAP pour le root :
    # cat > /root/.ldaprc
    URI ldapi:///
    SASL_MECH EXTERNAL
    #
    Ensuite créer un fichier LDIF comme suit :
    # cat > init.ldif
    dn: cn=config
    changetype: modify
    add: olcTLSCertificateKeyFile
    olcTLSCertificateKeyFile: /etc/ldap/ssl/ca-key.pem
    -
    add: olcTLSCertificateFile
    olcTLSCertificateFile: /etc/ldap/ssl/ca-cert.pem
    # ldapmodify -Q -f init.ldif
    Pas besoin d'ajouter "ldaps///" en argument à slapd.

    Pour s'assurer que l'annuaire sera inaccessible aux clients sans SSL :
    # cat > ssl.ldif
    dn: olcDatabase={1}hdb,cn=config
    changetype: modify
    add: olcSecurity
    olcSecurity: tls=1
    # ldapmodify -Q -f ssl.ldif

    • [^] # Re: config OpenLDAP avec STARTTLS

      Posté par  . Évalué à 0.

      Très intéressant tout ça !
      Je vais voir si je peux le transposer à ma configuration actuelle sans avoir à revenir à un précédent snapshot.

    • [^] # Re: config OpenLDAP avec STARTTLS

      Posté par  . Évalué à 0.

      It… Works !

      Un ultra grand merci !!!
      J'en ai pas encore fini avec mon Open Ldap mais déjà j'y vois plus clair.

      • [^] # Re: config OpenLDAP avec STARTTLS

        Posté par  . Évalué à 0.

        Quand tu as des tutos en slapd.conf, tu peux transformer ces fichiers en arborescence de type cn=config avec slaptest (options -f et -F).
        Sinon perso je configure le SSL sur le port 636 et le STARTTLS sur le port 389, comme ça tout le monde est content.

        • [^] # Re: config OpenLDAP avec STARTTLS

          Posté par  . Évalué à 0.

          Bonjour à tous, me revoilà de retour car … petit soucis.
          Maintenant que j'ai bien activé le SSL/TLS et que le test :
          netstat -tan | grep LISTEN
          me confirme bien ceci :
          tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN 3215/slapd
          tcp 0 0 127.0.0.1:389 0.0.0.0:* LISTEN 3215/slapd

          Ce qui si j'ai bien compris, veut dire que tout va bien et que slapd écoute sur le 389 et le 636…
          J'ai aussi créé puis ajouté ce fichier ldif :

          dn: olcDatabase={1}hdb,cn=config
          changetype: modify
          add: olcSecurity
          olcSecurity: tls=1

          Ben maintenant c'est pas bien compliqué je ne peux plus me connecter avec JXplorer pour tester mon ldap…
          Je présume qu'il y a une histoire de certificats derrière tout ça ?
          J'ai trouvé ce site (mais il est très théorique et ne donne aucun exemple "concret" (ex : copiez le ca-cert ICI … le fichier xyz là…) :

          http://jxplorer.org/help/Managing_Certificates.htm

          Sachant que j'ai un peu de mal avec les certificats, quelqu'un peut-il me dire de quel fichier et/ou réglage JXplorer a besoin pour se reconnecter svp ?

          Un grand merci par avance.

          • [^] # Re: config OpenLDAP avec STARTTLS

            Posté par  . Évalué à 2.

            Tu ne montres pas si tes slapd écoutent en ldap:// ou en ldaps://. JXplorer ne gère pas le STARTTLS. Pour vérifier que ça marche utilise ldapsearch avec l'option -ZZ. Pour ne pas s'encombrer des problèmes de certificats, mettre "TLS_REQCERT allow" dans le fichier .ldaprc.

            • [^] # Re: config OpenLDAP avec STARTTLS

              Posté par  . Évalué à 0.

              OK merci. Je ne comprend pas trop mais… je vais faire en sorte que cela marche.
              Je crois que je suis … pas doué >_<

              • [^] # Re: config OpenLDAP avec STARTTLS

                Posté par  . Évalué à 2.

                tu as configuré ton LDAP pour etre actif sous certaines conditions sur les ports 686 et 389

                d'apres netstat tu vois bien les ports ouverts.
                686 ecoutant sur toutes les cartes reseaux
                389 uniquement sur localhost.

                si tu utilises un logiciel sur ton PC qui n'est pas la meme machine que ton serveur, il faut lui preciser de se connecter sur le port 686 en activant SSL ou STARTTLS suivant ce que tu as configuré sur le serveur derriere le port 686

Suivre le flux des commentaires

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