Rechercher : dans
Par :

Cryptage des mots de passe dans .htaccess

Dernière réponse le 26 mai 2009 à 12:36:10 MGD, le 25 mai 2009 à 16:33:31 
 Signaler ce message aux modérateurs

Bonjour,

Je gère une bonne douzaine de sites web. La presque totalité a des répertoires protégés par mot de passe à l'aide du couple .htaccess/.htpasswd. Pas de problème particulier, mais une question dont je ne trouve la réponse nulle part:

Les mots de passe peuvent être cryptés ou non. Selon l'hébergeur, le cryptage est obligatoire, chez d'autres il est interdit. La méthode de cryptage peut être soit en crypt, soit en MD5, soit en SHA1. J'en déduit que c'est paramétrable quelque part dans Apache.

J'ai un serveur local (EasyPhp 2.0 sous windows) sur lequel je voudrais activer les mots de passe cryptés. J'ai essayé de mettre des mots de passe cryptés avec chacune des trois méthodes, rien ne fonctionne. Seuls les mots de passe en clair fonctionnent. Il faut donc paramétrer, mais impossible de trouver le paramètre qui définit le cryptage et sa méthode !

Quelqu'un saurait où ça se trouve ??
Merci pour des réponses PRÉCISES.

Configuration: Windows XP
Firefox 3.0.10

Meilleures réponses pour « Cryptage des mots de passe dans .htaccess » dans :
Générer et gérer des mots de passe VoirGénérer et gérer des mots de passe S'inscrire à des sites internet nécessite un mot de passe. Cela est d'ailleurs obligatoire pour les forums. Les mots de passe (césame dans la langue de Molière) sont également utilisés pour certains...
Réinitialiser le mot de passe principal de Firefox VoirVous pouvez demander à Firefox de se souvenir des mots de passe de différents sites à votre place. Tout ces mots de passe sont protégés par un mot de passe principal dans Firefox. Seul problème: Si un jour vous oubliez votre mot de passe principal,...
Apache - Crypter les mots de passe .htaccess VoirRésultat du chiffrement Pour créer votre fichier .htpasswd, il vous suffit de créer un fichier texte contenant uniquement la ligne suivante : Cet outil génère des mots de passe chiffrés différents pour un même mot de passe en clair. Toutefois...
Apache - Les fichiers .htaccess VoirLes fichiers .htaccess sont des fichiers de configuration d'Apache, permettant de définir des règles dans un répertoire et dans tous ses sous-répertoires (qui n'ont pas de tel fichier à l'intérieur). On peut les utiliser pour protéger un répertoire...
Mots de passe VoirLes mots de passe Lors de la connexion à un système informatique, celui-ci demande la plupart du temps un identifiant (en anglais login ou username) et un mot de passe (en anglais password) pour y accéder. Ce couple identifiant/mot de passe forme...

1

le père, le 25 mai 2009 à 17:07:39

Bonjour

Ça se trouve dans le fichier de mots de passe lui même, et c'est à toi d'indiquer quel codage tu utilises quand tu ajoutes le mot de passe au fichier.
Pour ajouter un mot de passe au fichier, tu utilises bien l'utilitaire htpasswd fourni avec Apache ?

Répondre à le père

2

MGD, le 26 mai 2009 à 09:07:50

Ach ! J'ai trouvé ! (grâce à la question apparemment bête mais à l'évidence pas inutile "Pour ajouter un mot de passe au fichier, tu utilises bien l'utilitaire htpasswd fourni avec Apache ?").

Je n'utilisais pas htpassword.exe mais une page PHP perso qui cryptait en MD5 et SHA1 les mots de passe qu'on lui donnait. Le résultat n'est pas du tout le même, ni en MD5 ni en SHA ! Pourtant les routines md5() et sha1() de PHP sont réputées conformes à la norme !?

Par exemple, pour le login "truc" et le mot de passe "muche", les résultats en MD5 donnent ceci :
htpassword.exe : $apr1$I01.....$Oe0cnUnqxrl9NV0bxp6CM/
php : md5("muche") = e7c6a0c72bf7c2fa9ffa7858b534b896

htpassword.exe demande le nom utilisateur. C'est bien sûr pour insérer dans le fichier .htpassword, mais je soupçonne aussi qu'il utilise ce nom pour personnaliser le mot de passe de façon spécifique.

Le problème est que je crée le fichier .htpassword de façon dynamique à l'aide d'un formulaire d'inscription. Je ne peux donc pas utiliser htpassword.exe pour créer les mots de passe cryptés. Quelqu'un connaît-il la subtilité du cryptage MD5 spécifique à Apache ? (algorithme bienvenu)

"c'est à toi d'indiquer quel codage tu utilises quand tu ajoutes le mot de passe au fichier"
comment on fait ça ?? Dans le fichier .htaccess, je n'ai jamais lu qu'il faille mettre autre chose que les lignes (sauf authentification autre que "basic, bien sûr):
AuthType Basic
AuthUserFile D:\Web\www\restricted\.htpasswd
AuthName "Mon espace"
require valid-user

Jamais vu de paramètre spécifiant le type de codage.
Merci pour plus d'infos là-dessus.
En attendant, j'en suis réduit à toujours utiliser les sessions, avec test dans chaque page, ce qui est lououourd !

Répondre à MGD

3

VieTgOOx, le 26 mai 2009 à 10:37:34

Je crois qu'on doit le spécifier pour le SHA1 au début du cryptage par ceci {SHA} ou quelque chose comme ça...juste après l'utilisateur genre:
olivier:{SHA}...

Mais sinon en MD5 non pas besoin d'indiquer et encore moins en DES...en tout cas jamais entendu parlé.

EN plus je dit ça mais moi je parle du htpasswd pas du htaccess ^_^! C'est surement par défaut d'ailleurs qu'il faut mettre {SHA} ?

Enfin bref, bonne chance.

Répondre à VieTgOOx

4

le père, le 26 mai 2009 à 11:27:19

grâce à la question apparemment bête Si je l'ai posée, c'est que je doutais un peu de la réponse ;)
Le cryptage des mots de passe est basé sur MD5 ou SHA, ça ne veut pas dire que c'est directement le résultat de l'appel à la fonction md5()...
Des détails ici, dont un lien qui te mène vers un code en C qui te donne l'algorithme complet pour le md5. Bon courage !
http://httpd.apache.org/docs/2.2/misc/password_encryptions.h­tml

Répondre à le père

5

 MGD, le 26 mai 2009 à 12:36:10

Génial !

avec la ligne PHP :
$pass_crypte = '{SHA}' . base64_encode(sha1($pass, TRUE));
j'obtiens exactement la même chose qu'avec le htpasswd.exe d'Apache.
Cela prouve bien qu'Apache n'utilise pas le cryptage du simple mot de passe, mais qu'il lui ajoute un sur-encodage de type URL (sans parler du préfixe {SHA}).

Merci beaucoup pour le lien, "le pere"

Répondre à MGD