IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

BSD Discussion :

Cryptage mot de passe


Sujet :

BSD

  1. #1
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut Cryptage mot de passe
    Bonjour,

    je souhaite effectuer une authentification avant que l'utilisateur soit diriger vers la page demandée. Pour cela, j'ai besoin d'aller lire le mot de passe dans le fichier de FreeNAS. Le fichier en question est "/etc/master.passwd" et le 2e champs est celui qui m'intéresse. Voila la ligne en question
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    testftp:$1$maF5Df4y$AT64DhGrZtKWER7IhCHgP1:1003:50::0:0:testftp:/:/usr/local/bin/scponly
    En lisant les différentes documentation je me suis rendu compte que le cryptage était de type md5 car le mot de passe crypté dans le fichier est précédé de "$1$".

    Mon problème est que le mot de passe dans le fichier "master.passwd" est différent de mon mot de passe crypté en md5
    mot de passe dans master.passwd => maF5Df4y$AT64DhGrZtKWER7IhCHgP1

    mot de passe crypté en md5 => ff104b2dfab9fe8c0676587292a636d3
    Pourquoi cette différence ? D'autant plus que je constate 2 choses dans le fichier master.passwd:
    - il y a un succession de majuscule et minuscule que n'a pas md5
    - le mot de passe contient un caractère "$"

    Merci de votre aide
    Mes contributions phares en dev : www.rigaudie.fr

  2. #2
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    En allant jeter un coup d'oeil sur la définition md5 je suis tombé la dessus
    MD5 peut aussi être utilisé pour calculer l'empreinte d'un mot de passe ; c'est le système employé dans GNU/Linux avec la présence d'un sel compliquant le décryptage. Ainsi, plutôt que de stocker les mots de passe dans un fichier, ce sont leurs empreintes MD5 qui sont enregistrées, de sorte que quelqu'un qui lirait ce fichier ne pourra pas découvrir les mots de passe.
    Donc si je comprend bien, je ne peux pas exploiter le fichier master.passwd ?? De plus j'ai remarqué :
    - La valeur du hachage du mot de passe contenu dans master.passwd est renouvelé à chaque redémarrage du PC
    - Un mot de passe crypté en md5 est composé de 32 caractères or dans ce fichier il y en a plus

    Mais alors comment puis-je faire pour récupérer le mot de passe à partir d'un script PHP ?

    Merci
    Mes contributions phares en dev : www.rigaudie.fr

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Salut,
    Citation Envoyé par Général03 Voir le message
    En allant jeter un coup d'oeil sur la définition md5 je suis tombé la dessus
    Donc si je comprend bien, je ne peux pas exploiter le fichier master.passwd ?? De plus j'ai remarqué :
    - La valeur du hachage du mot de passe contenu dans master.passwd est renouvelé à chaque redémarrage du PC
    La valeur est probablement renouvellee a chaque demarrage a cause du sel different.

    Citation Envoyé par Général03 Voir le message
    - Un mot de passe crypté en md5 est composé de 32 caractères or dans ce fichier il y en a plus
    Peut etre que ce n'est pas du md5. Par defaut il me semble que master.passwd utilise des.

    Citation Envoyé par Général03 Voir le message
    Mais alors comment puis-je faire pour récupérer le mot de passe à partir d'un script PHP ?
    Ce serait un enorme trou de securite de pouvoir faire ca!
    Quand tu te loggues, le systeme hache le mot de passe que tu entres, le compare avec la valeur hachee qu'il connait et te donne ou non l'acces. Il est a priori impossible de trouver le mot de passe a partir de la valeur de hachage, c'est d'ailleurs le but

    Explique plutot ce que tu cherches a faire.

  4. #4
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    La valeur est probablement renouvellee a chaque demarrage a cause du sel different.
    Je n'ai pas bien compris se qu'était le sel, tu pourrais m'en dire plus ?
    Peut etre que ce n'est pas du md5. Par defaut il me semble que master.passwd utilise des.
    Pourtant dans l'avant dernier paragraphe de ce lien http://www.freebsd.org/doc/fr_FR.ISO...ook/crypt.html il est dit que c'est du md5 selon mon fichier master.passwd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    testftp:$1$maF5Df4y$AT64DhGrZtKWER7IhCHgP1:1003:50::0:0:testftp:/:/usr/local/bin/scponly
    si j'ai bien compris

    Explique plutot ce que tu cherches a faire.
    Je cherche à réaliser une page d'authentification qui autorise l'accès à l'utilisateur si le mot de passe et login sont correct. Ce mot de passe est paramétré dans mon serveur FreeBSD qui héberge ma page d'authentification.
    Une fois le mot de passe saisi je pensais le hacher en md5 et le comparer au fichier master.passwd qui contient le mot de passe hacher de l'utilisateur. Ainsi, si les 2 mots de passe hachés sont identiques j'autorise l'accès.
    En aucun cas, je souhaite connaitre le mot de passe en clair. Se qui m'intéresse est de savoir si l'utilisateur est reconnu par mon serveur pour accéder aux différentes pages.

    Merci de ton aide
    Mes contributions phares en dev : www.rigaudie.fr

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Salut,
    le sel ou le grain de sel est la technique consistant à ajouter une valeur à un mot de passe avant de le hacher. Cela permet principalement de lutter contre les bases de données stockant un mot de passe et sa correspondance md5 (comme http://decrypt.vanvan.cc/) mais aussi de renforcer la protection d'un mot de passe faible contre un "décrypteur" utilisant la force brute.

    En général pour faire ce que tu souhaite on passe par le LDAP.
    voir http://julp.developpez.com/freebsd/a...fication-ldap/

  6. #6
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    le sel ou le grain de sel est la technique consistant à ajouter une valeur à un mot de passe avant de le hacher. Cela permet principalement de lutter contre les bases de données stockant un mot de passe et sa correspondance md5 (comme http://decrypt.vanvan.cc/) mais aussi de renforcer la protection d'un mot de passe faible contre un "décrypteur" utilisant la force brute.
    Mais ce sel, FreeBSD le connait car si à chaque redémarrage de la machine il donne un nouveau mot de passe haché il faut qu'il le retrouve. Dans mon cas je pourrai récupérer la valeur du sel, l'associer à mon mot de passe, hacher le tout et regarder si cette valeur est identique à celle stockée par FreeBSD ?

    En général pour faire ce que tu souhaite on passe par le LDAP.
    J'ai l'impression que cette technique est dur à mettre en place, de plus je croyais que LDAP était fait pour les annuaires (nom, adresse,... des personnes) ?
    Mes contributions phares en dev : www.rigaudie.fr

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    LDAP permet la centralisation de l'authentification et ce quelque soit le service proposé (ftp, ssh, boîte mail, ...). Outre l'avantage de la centralisation, les utilisateurs ne possèdent qu'un seul mot de passe pour accéder à l'ensemble des services qui leur sont offerts.

    Cet article se limite à la mise en place de l'authentification système basée sur LDAP pour des systèmes Linux et FreeBSD.
    Il existe en php des fonctions permettants de se connecter au ldap et c'est en général ce que l'on utilise sur une appli intranet afin d'éviter à l'utilisateur de jongler avec différents mots de passe.

  8. #8
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    Il existe en php des fonctions permettants de se connecter au ldap et c'est en général ce que l'on utilise sur une appli intranet afin d'éviter à l'utilisateur de jongler avec différents mots de passe.
    Pour mon cas c'est pas une application intranet mais bien internet (accès à mon interface depuis n'importe où en dehors de mon réseau local) mais avec des utilisateurs très restreints. Le principe reste le même ?
    Mes contributions phares en dev : www.rigaudie.fr

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Du moment que les utilisateurs appartiennent à ton réseau et tu veux éviter qu'ils aient plusieurs mot de passe. Il existe des cms qui se basent sur le ldap comme MDpro.

  10. #10
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    En effet je viens de lire un peu de doc sur LDAP, il est aussi utiliser afin de centraliser les mots de passe...comme tu le disais...
    Je vais essayer d'approfondir ce point et je vous tiens au courant de l'avancement.

    Merci pour vos explications
    Mes contributions phares en dev : www.rigaudie.fr

  11. #11
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    Je viens de suivre le tuto que debPG43 a donné. Il me semble avoir configuré correctement LDAP. Mais lorsque FreeNAS démarre j'ai ces messages
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ...
    Updating smbpasswd
    Failed to add entry for user Paul
    Failed to modify password entry for user Paul
    Failed to add entry for user Martin
    Failed to modify password entry for user Martin
    Failed to add entry for user Joe
    Failed to modify password entry for user Joe
    ...
    Le processus s'arrete environ 30 secondes sur "Updating smbpasswd" puis affiche les erreurs.
    Comment je pourrais savoir si LDAP fonctionne correctement ?

    Merci de votre aide
    Mes contributions phares en dev : www.rigaudie.fr

  12. #12
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    Dans mes logs j'ai une erreur de connexxion à mon serveur LDAP. L'adresse de ce serveur est ldap://127.0.0.1:389
    Pourquoi mon serveur LDAP ne veut pas démarrer ?
    Mes contributions phares en dev : www.rigaudie.fr

  13. #13
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    En se qui concerne la configuration du serveur, le fichier /usr/local/etc/openldap/slapd.conf n'existe pas. J'ai mis le contenu préconisé du tuto dans le fichier/usr/local/etc/openldap/lapd.conf
    Est se normal que le fichier slapd.conf ne soit pas présent sur ma machine ?
    Mes contributions phares en dev : www.rigaudie.fr

  14. #14
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Disons que ca arrive, cela depend des ports. Le probleme etant de bien gerer les mises a jours (ecraser? prendre le risque de fonctionner avec un fichier de config d'une autre version?) donc souvent le fichier de conf par defaut est installe dans /usr/local/share/example (ou quelque chose d'approchant, je ne suis pas sur mon ordi) et c'est a l'utilisateur de faire la manip a la main.

  15. #15
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    J'ai regardé dans /usr/local/share/example mais rien concernant ce fichier. Alors j'ai fait une recherche du fichier slapd.conf sur le système mais rien trouvé.
    Tu veux dire que c'est à moi de créer ce fichier et mettre son contenu ?
    Mes contributions phares en dev : www.rigaudie.fr

  16. #16
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    J'ai regardé dans /usr/local/share/example mais rien concernant ce fichier. Alors j'ai fait une recherche du fichier slapd.conf sur le système mais rien trouvé.
    en faite j'avais installer la partie cliente mais j'ai oublié d'installer la partie serveur d'openLdap(car mon PC va se connecter au serveur LDAP en local, sur la même machine). Maintenant je trouve tous mes fichiers slapd.
    Mais lorsque j'essaie de lancer mon serveur LDAP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/local/etc/rc.d/slapd start
    j'obtiens ces logs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     slapd[2049]: nss_ldap: could not search LDAP server - Server is unavailable
    Quelqu'un pourrait m'aider pour diagnostiquer le problème ? Merci
    Mes contributions phares en dev : www.rigaudie.fr

  17. #17
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    En allant voir dans /usr/local/etc/openldap/slapd.conf j'ai remarqué ces 2 lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     pidfile /var/run/slapd.pid
    argsfile /var/run/slapd.args
    or si je vais dans /var/run, aucun de ces fichiers sont présents
    En lisant le tuto dont je me suis inspiré il est bien noté
    Fichiers nécessaires au bon fonctionnement de LDAP
    Pour quoi ces fichiers ne sont pas présent et comment peut on les récupérer ?

    Merci pour votre aide
    Mes contributions phares en dev : www.rigaudie.fr

  18. #18
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Les fichiers qui sont dans /var/run sont cree par le script rc lors du demarrage. S'il ne sont pas crees c'est que le demarrage du serveur a echoue.

    Je n'ai jamais utilise openldap donc je ne peux pas t'aider du cote de la config elle-meme. Par contre je l'ai installe pour voir comment se passe le demarrage: sans faire aucune manip (autre que l'installation bien sur ) le serveur se lance sans aucun message d'erreur... Donc aucune idee du pourquoi

  19. #19
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    Les fichiers qui sont dans /var/run sont cree par le script rc lors du demarrage. S'il ne sont pas crees c'est que le demarrage du serveur a echoue.
    Ok merci des renseignements, donc ça confirme bien que slapd ne se lance pas.

    En faite, je ne pige pas le principe même de l'authentification par LDAP : je ne sais pas où LDAP va chercher les identifiants !! Aussi, dans le tuto de julp, je jugais (surement à tort) qu'il n'était pas nécessaire de mettre le fichier test.ldif qui selon moi contenait l'annuaire or dans mon cas je ne veux pas faire d'annuaire. Mais c'est peut être ce fichier qui permet à LDAP de connaitre les utilisateurs ?
    Donc j'ai voulu faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    slapadd -v -l test.ldif
    mais il me sort une erreur comme quoi mon directory (de slapd.conf) à savoir /var/db/openldap-data n'est pas un chemin valide. Donc j'ai fait un
    et la je vois mon dossier de cette façon : " openldap-data? "

    Est à cause d'avoir fait cela après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chown -R ldap:ldap /var/db/openldap-data
    ???

    Je sais que tu es compétent sur FreeBSD tonton fred , aussi si tu veux bien m'apporter tes conseils sur ce dossier bizarre on pourrait surement pas à pas arriver à bien cibler le problème.

    Merci de ton aide
    Mes contributions phares en dev : www.rigaudie.fr

  20. #20
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    Avant de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    slapadd -v -l test.ldif
    il faut que le serveur LDAP soit démarré hors dans mon cas ce n'est pas le cas. Donc pour démarrer le serveur je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/local/etc/rc.d/slapd start
    mais dans mes logs je n'ai rien trouvé suite à cette commande, mise à part des erreurs due au démarrage du serveur (car le serveur LDAP n'a pas était démarré....)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ....could not search LDAP server - Server is unavailable
    Je précise qu'au démarrage du PC, j'ai cette information Ainsi j'aimerais savoir si slapd est vraiment démarré. Quelle est la commande pour savoir si mon demon tourne ?

    Merci
    Mes contributions phares en dev : www.rigaudie.fr

Discussions similaires

  1. Cryptage mot de passe Connection
    Par srvremi dans le forum Sécurité
    Réponses: 16
    Dernier message: 15/02/2010, 20h21
  2. Cryptage mot de passe dans SQL Server 2000
    Par TheReturnOfMuton dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/02/2009, 22h43
  3. [cryptage] mot de passe en MD5
    Par afrodje dans le forum VB.NET
    Réponses: 17
    Dernier message: 11/02/2008, 15h29
  4. [Sécurité] Cryptage mot de passe
    Par elitemedia dans le forum Langage
    Réponses: 5
    Dernier message: 12/09/2006, 21h51
  5. cryptage mots de passe lors de la saisie
    Par ycef dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 14/09/2004, 13h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo