Forum Linux.général Authentification PAM LDAP+RADIUS

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
10
nov.
2014

Bonjour,
Je suis entrain de jouer avec LinOTP pour le double facteur; ça fonctionne très bien…
Le souci c'est que pour authentifier un utilisateur sur un service comme SSHD, il faut que l'utilisateur en question soit existant sur chaque machine locale :/

Donc, dans la mesure où LDAP centralise les comptes utilisateurs et RADIUS peut discuter avec LinOTP je me suis dis pourquoi pas LDAP+RADIUS :)

Mais je ne vois pas comment configurer ça dans PAM (/etc/pam.d/sshd):

un peu perdu entre les required, requisitive, + password, account, auth …

Si l'un de vous voit comment une telle config peut se faire je suis preneur !

Merci

  • # PAM_LDAP et ses amis

    Posté par  . Évalué à 1.

    cherche un tuto pam_ldap
    ca va te permettre de configurer pam pour faire de l'identification pam sur ldap.

    de memoire il te pose les questions quand tu l'installes,
    sinon il faut configurer un fichier ldap.conf avec les infos du ldap
    et changer l'ordre dans /etc/nsswitch pour passer les passwd et group de files compat à files ldap

    ca c'est pour l'authentification.

    evidemment si les machines n'ont pas les /home montés en reseau (via NFS par exemple)
    il faudra jouer sur certains reglages pour creer les dossiers lors de la connexion.

  • # Aller vers sssd

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

    Ça remplace pam_ldap, nslcd et consor, et c'est plus évolué et plus intégré.

    Comme c'est du made-by RedHat, pas mal de docs sont pour cette plateforme, mais j'ai utilisé ça sur du Ubuntu server et ça tourne. Et le fichier de config est relativement clair.

    => google sssd ldap radius donnera des pistes.

    Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

  • # mon pb c'est pas ldap...

    Posté par  . Évalué à 1.

    Bonjour,
    Merci pour vos réponses.
    Peut être me suis je mal exprimé mais mon problème c'est pas de faire du pam_ldap, ça y a des dixaines de tutos :)

    Mon souci c'est que une fois le pam_ldap configuré je veux ajouter un deuxième facteur d'authentification (via un serveur radius)…

    Ma problématique pour simplifier c est que j ai besoin d'utiliser les informations de ldap mais au moment de la saisie de Password: faire appel à radius.

    ou au pire devoir taper:
    Password: la_je_met_pass_ldap
    Password: la_je_met_pass_radius

    voilou !

    Merci

    • [^] # Re: mon pb c'est pas ldap...

      Posté par  . Évalué à 1. Dernière modification le 11/11/14 à 09:07.

      tu veux faire des choses compliquer.
      radius sait aller chercher les utilisateurs dans la base ldap,
      configure alors ton service pour faire du pam_radius

      par exemple ici : http://www.howtoforge.com/securing-ssh-on-ubuntu-precise-with-wikid-two-factor-authentication
      ou ils utilisent une solution externe qui gere les token pour authentifier des utilisateurs sur le ssh

      si tu veux vraiment faire ce que l'on appelle du "two factor authentification" (utiliser 2 mots de passe distinct pour valider l'entrée en utilisant deux services differents), alors il faut jouer de la configuration sshd, et pour cela une recherche two factor sshd devrait te donner des reponses.

      • [^] # Re: mon pb c'est pas ldap...

        Posté par  (site Web personnel) . Évalué à 1.

        C'est curieux de faire de l'authentification deux facteurs avec deux mots de passe.
        On m'a toujours expliqué (mais je ne suis pas spécialiste en sécu) que c'était basé sur deux notions différentes : ce qu'on sait (un équivalent de mot de passe) et ce qu'on possède (téléphone, token, …). L'idée étant que si on peut te voler ton mot de passe, on peut t'en voler deux. Par contre, c'est plus compliqué de te voler à la fois un mot de passe et un objet physique.

        • [^] # Re: mon pb c'est pas ldap...

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

          ça se configure dans pam, tu dis où tu dois chercher le(s) mot(s) de passe ( ldap, radius, … )

          Système - Réseau - Sécurité Open Source

        • [^] # Re: mon pb c'est pas ldap...

          Posté par  . Évalué à 1.

          oui c'est tout à fait ca:
          - Ce que tu connais: ton login/mdp LDAP
          - Ce que tu as, ton téléphone portable qui fait tourner un logiciel de TOTP qu va te générer un mdp unique pour 30secondes

      • [^] # Re: mon pb c'est pas ldap...

        Posté par  . Évalué à 0.

        Non tu n'as pas compris: si tu prends ton lien tu verras la chose suivante:

        "Note that we have not made any changes to the account setup, so the user is expected to have *a local account on the machine* or you can configure account to use pam_ldap and point it to your AD/LDAP server.
        "

        Dans ce cas pam_radius va effectivement faire du double facter mais si et seulement si le compte ldap existe aussi en local… d'ou l'idée d'utiliser une auth LDAP puis de rajouter notre auth RADIUS

        "two factor authentification": ca veut pas dire utiliser 2 mois de passes… ca veut dire avoir 2 facteurs d'auth, rien ne t'empècherait de les concaténer dans 1 seul et unique chaine de caractère…

  • # PAM comment ca marche

    Posté par  . Évalué à 0. Dernière modification le 12/11/14 à 01:31.

    Finalement, même si je n'espère plus vraiment de réponse :) ma question pourrait être simplifiée et généralisée pour PAM…

    Comment configurer PAM avec des required/sufficient, quoi configurter, account,auth,password ?

  • # SOLVED SSH via PAM LDAP + RADIUS

    Posté par  . Évalué à 1.

    Pour ceux que ça intéresse:
    Je précise qu'il n'y a AUCUN exemple faisant cela sur le net :)

    en gros pam faisait appel a common-auth via la directive:
    @include common-auth

    Comme je ne voulais pas que cela affecte tout le systeme… j'ai commenté l'include mais j'ai récupéré son contenu que j'ai "injecté dans le fichier sshd:

    J'y ai rajouté:
    auth sufficient /lib/security/pam_radius_auth.so

    Voila du coup à quoi la direcive auth de PAM correspond pour le fichier SSHD:

    auth    [success=2 default=ignore]  pam_unix.so nullok_secure
    auth    [success=1 default=ignore]  pam_ldap.so minimum_uid=1000 use_first_pass
    auth        sufficient     /lib/security/pam_radius_auth.so
    # here's the fallback if no module succeeds
    auth    requisite           pam_deny.so
    # prime the stack with a positive return value if there isn't one already;
    # this avoids us returning an error just because nothing sets a success code
    # since the modules above will each just jump around
    auth    required            pam_permit.so
    # and here are more per-package modules (the "Additional" block)
    auth    optional            pam_cap.so 
    

    Du coup j'ai mon double facteur !

    si je SSH une box authentifié en LDAP je dois saisir:
    motdepasse_ldap_suivi_de_otp_affichédans_le_labsde_temps

    et hop $

    :)

    • [^] # Re: SOLVED SSH via PAM LDAP + RADIUS

      Posté par  . Évalué à 1.

      wouah, tu as decouvert par toi meme ce qui se trouve dans la documentation ;)

      En effet, la document dit qu'on peut chainer des tests de login/pass,
      qu'en jouant sur les requiered, sufficient, etc on peut faire que le premier qui reussit laisse entrer l'utilisateur, ou qu'il faut tous les reussir pour laisser passer l'utilisateur.

      et qu'on peut donc choisir l'ordre des choses, comme :

      1. faire un pam_ldap.so
      2. suivi d'un pam_unix.so
      3. suivi d'un pam_xxxx.so

      ou dans l'autre sens.

      Mais je te remercie quand meme de nous avoir fait partager ta trouvaille.

      • [^] # Re: SOLVED SSH via PAM LDAP + RADIUS

        Posté par  . Évalué à 0. Dernière modification le 14/11/14 à 00:21.

        NeoX, je ne commenterai pas tes interventiosn inutilement nombreuses et contre productives. (me concernant je n'ai connu que cela sur les réposnes que tu as envoyé sur la plus part des topics que j 'ai posté… Le ton que tu utilises ne te mets pas en valeur puisque tu n'as pas été capable de fournir de réponse ou tout au plus un RTFM et des liens que tu n'as même pas lu… Je sais aussi fair eune recherche Internet quand au fait de faire un chain c'est facile quand on sait quoi chainer (hein ?), parce qu entre les sections, auth, session, password l'existant les imbrications entre pam_unix; pam_ldap pam_radius, pam_env, pam_deny etc… j'aurais bien voulu voir comment tu aurais résolu ça avec tes liens google ;)

        • [^] # Re: SOLVED SSH via PAM LDAP + RADIUS

          Posté par  . Évalué à 2.

          tu poses une question,
          je donnes des pistes,
          et ce sera rarement la reponse toute prete, toute machée.

          j'ai une preference pour que l'utilisateur apprenne par lui meme, plutot qu'il fasse un copier/coller d'un truc qu'il faudra que j'ai testé avant.

          surtout quand la documentation existe, et qu'elle explique comment faire les choses,
          ici la documentation explique ce que sont sessions, auth, password, puis que l'on peut chainer plusieurs methodes, il y avait meme des exemples, mais evidemment pas celui de pam_radius (etait-ce trop dur à deduire que ce que tu peux faire avec pam_unix suivi de pam_ldap peut aussi etre faire avec pam_unix suivi de pam_radius ?

          et la preuve, finalement malgré mes mauvaises interventions, tu as fini par trouver la config, peut-etre en preferant "tester par toi meme", mais peut-etre aussi car certaines documentations par de chainer les auth pam_xxxx.so

          Bon WE quand meme ;)

          • [^] # Re: SOLVED SSH via PAM LDAP + RADIUS

            Posté par  . Évalué à 1.

            yop… ce n'est pas vrai tu peux retourner la doc 50 fois tu n'arriveras à rien…
            en faite il faut réutilser les chaines existantes dans common-auth qui sont autrement plus complexes que de simples cascades/chaines…

            Ce qui est dommage c'est le fait que tes réponses soient aussi approximatives que le temps passé à étudier la question.

            Mais à côté de cela tu participes c'est déjà pas mal :)

Suivre le flux des commentaires

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