Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix > BSD
BSD Forum d'entraide sur les systèmes BSD. Avant de poster -> FAQ BSD et cours BSD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 09/11/2009, 13h48   #1
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
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 :
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
Citation:
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 (site en construction)
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2009, 10h45   #2
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
En allant jeter un coup d'oeil sur la définition md5 je suis tombé la dessus
Citation:
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 (site en construction)
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2009, 10h52   #3
Membre chevronné
 
Inscription : avril 2007
Messages : 665
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : avril 2007
Messages : 665
Points : 793
Points : 793
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.
tonton fred est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2009, 11h53   #4
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
Citation:
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 ?
Citation:
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 :
testftp:$1$maF5Df4y$AT64DhGrZtKWER7IhCHgP1:1003:50::0:0:testftp:/:/usr/local/bin/scponly
si j'ai bien compris

Citation:
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 (site en construction)
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2009, 18h57   #5
Invité régulier
 
Inscription : janvier 2009
Messages : 14
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 14
Points : 6
Points : 6
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/
debPG43 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2009, 19h17   #6
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
Citation:
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 ?

Citation:
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 (site en construction)
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2009, 22h44   #7
Invité régulier
 
Inscription : janvier 2009
Messages : 14
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 14
Points : 6
Points : 6
Citation:
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.
debPG43 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2009, 08h27   #8
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
Citation:
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 (site en construction)
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2009, 08h55   #9
Invité régulier
 
Inscription : janvier 2009
Messages : 14
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 14
Points : 6
Points : 6
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.
debPG43 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2009, 08h21   #10
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
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 (site en construction)
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2009, 17h16   #11
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
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 :
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 (site en construction)
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2009, 07h15   #12
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
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 (site en construction)
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2009, 07h58   #13
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
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 (site en construction)
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2009, 12h46   #14
Membre chevronné
 
Inscription : avril 2007
Messages : 665
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : avril 2007
Messages : 665
Points : 793
Points : 793
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.
tonton fred est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2009, 12h54   #15
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
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 (site en construction)
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2009, 11h02   #16
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
Citation:
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 :
/usr/local/etc/rc.d/slapd start
j'obtiens ces logs
Code :
 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 (site en construction)
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2009, 18h29   #17
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
En allant voir dans /usr/local/etc/openldap/slapd.conf j'ai remarqué ces 2 lignes
Code :
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é
Citation:
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 (site en construction)
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2009, 21h54   #18
Membre chevronné
 
Inscription : avril 2007
Messages : 665
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : avril 2007
Messages : 665
Points : 793
Points : 793
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
tonton fred est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2009, 21h36   #19
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
Citation:
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 :
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 :
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 (site en construction)
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2009, 16h11   #20
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 802
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 802
Points : 219
Points : 219
Avant de faire
Code :
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 :
/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 :
....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 (site en construction)

Dernière modification par Général03 ; 16/12/2009 à 16h51. Motif: Ajout d'information
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 06h24.


 
 
 
 
Partenaires

Hébergement Web