C'est parfait comme d'hab '')

  - première connection pour chopper le dn (-LLL dn)
- je construis la requête avec les bonnes infos, et je récupère le code retour du ldapsearch.

Je vous confirme que c'est fonctionnel, par contre effectivement, je suis obligé de mettre le password de l'admin du ldap. Dans mon cas c'est pas critique, sachant que le but est de valider que la personne utilisant le script est bien authentifiée, et cela me permets de logger les infos.

Alex.

On 09/09/14 17:34, HURTEVENT VINCENT wrote:
Salut,


j'appuie le point 2 cité par Florent ! Toujours récupérer le véritable
DN de l'utilisateur avant de binder.

Ca coute une connexion supplémentaire et ca oblige à entrer en dur les
credentials d'un compte de service avec les droits suffisants dans le
code mais ca peut éviter bien des galères et ca garantie une certaine
portabilité de ton code.

Trop d'applications estiment que le RDN vaut le login entré par
l'utilisateur et qui tente une connexion LDAP directe avec un DN forgé à
partir de cette information.
Ca dépend également du DIT. On peut faire une vue dédiée, mais bon...





------------------------------------------------------------------------
*De :* FRsAG [frsag-boun...@frsag.org] de la part de Florent Bacci
[florentba...@gmail.com]
*Date d'envoi :* mardi 9 septembre 2014 17:19
*À :* Alexandre
*Cc:* French SysAdmin Group
*Objet :* Re: [FRsAG] comparaison du hash d'un password

Bonjour Alexandre,

Effectivement, la méthode n'est pas optimale. L'idée d'une
authentification LDAP est que c'est le serveur LDAP qui fait le calcul
et la comparaison des hash.
Pour cela, l'enchaînement à suivre est du style :
1. Récupérer le login/mdp du user
2. Se connecter au LDAP avec le compte d'administration pour trouver le
DN de l'utilisateur grâce à son login. Si la recherche échoue, c'est que
le login/mdp du user est incorrect
3. Se déconnecter du LDAP
4. Se connecter au LDAP avec le DN de l'utilisateur précédemment trouvé
et le mdp du user. Si la connexion échoue, c'est que le couple login/mdp
du user est incorrect.

Grâce à cette méthode tu es indépendant de l'algo de hash utilisé par
ton LDAP et tu n'as pas besoin de récupérer l'attribut userPassword.

Bon courage à toi!



Le 9 septembre 2014 16:51, Alexandre <in...@opendoc.net
<mailto:in...@opendoc.net>> a écrit :

    Bonjour à tous,

    je me permets de vous solliciter, j'essaie de réaliser une
    "authentification" ldap avant de lancer des traitements dans un
    script (en bash). Je n'utilise peut-être pas la bonne technique,
    mais voilà ce que je souhaiterai faire :

    1. faire saisir login/passord au user
    2. récupérer les infos sur le ldap
    3. via un traitement, être capable de pouvoir comparer les 2 hash
    (si c'est possible)

    La saisie c'est pas bien compliqué, ensuite je vais chercher les infos :

    ---
    ldapsearch -D "cn=admin,dc=__entreprisetartempion,dc=fr" -w password
    -p 389 -h serveurldap -b "dc=entreprisetartempion,dc=__fr" -s sub
    "uid=jeanclaudedusse" -LLL userPassword

    dn: cn=jean claude dusse,ou=people,dc=__entreprisetartempion,dc=fr
    userPassword::
    e0NSWVBUfSQxJFhiREZKYXRoJHRrc2__xEdHNWaTRzaVUvb0xBVkxISDE=
    ---

    un petit coup de décode en base 64:

    ---
    echo '__e0NSWVBUfSQxJFhiREZKYXRoJHRrc2__xEdHNWaTRzaVUvb0xBVkxISDE='
    |base64 -d; echo
    {CRYPT}$1$XbDFJath$__tkslDtsVi4siU/oLAVLHH1
    ---

    Je suis content mais je n'arrive a générer le hash de mon password
    pour pouvoir le comparer.

    Ca sent la question stupide, mais vu que je suis bloqué, je me
    permets de vous déranger '')

    Alex.
    _________________________________________________
    Liste de diffusion du FRsAG
    http://www.frsag.org/




--
Florent Bacci
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

Répondre à