Catégorie: Développement

Générateur htpasswd

Idée interneUn outil manque ?

Créez des entrées de fichier de mots de passe Basic Auth en local

Générez une ligne htpasswd Apache dans votre navigateur. Créez des identifiants Basic Auth bcrypt et copiez ou téléchargez une entrée .htpasswd sans jamais envoyer le mot de passe à un serveur.

Chaque cran double le travail d'un attaquant — et le temps que met cette page à générer la ligne. 10 à 12 convient à la plupart des serveurs.

Ligne htpasswd
Le résultat s'affichera ici.

bcrypt ne lit au plus que 72 octets d'un mot de passe ; tout ce qui suit est ignoré, ici comme sur votre serveur.

Enregistrez le fichier hors de la racine web, puis faites pointer AuthUserFile dessus. Un .htpasswd placé dans un répertoire servi est téléchargeable.

Le mot de passe est haché dans cet onglet. Il n'est jamais envoyé nulle part, jamais conservé, et la ligne produite non plus.

Tout sur cette page est traité dans votre navigateur. Rien n'est envoyé.

À quoi sert cet outil

Un fichier .htpasswd est une simple liste d'enregistrements `utilisateur:hachage` que l'authentification Basic d'Apache consulte lors d'une connexion, et nginx lit le même format dans auth_basic_user_file. Cette page construit ces enregistrements sur votre appareil : l'implémentation de bcrypt s'exécute dans l'onglet, le mot de passe ne circule donc jamais. bcrypt est le choix par défaut parce qu'il est délibérément lent et salé individuellement, ce qui rend coûteux le cassage d'un fichier volé ; le curseur de coût règle à quel point vous le ralentissez. SHA-1 n'est proposé que pour un serveur trop ancien pour accepter bcrypt — il est sans sel et rapide, et la page le dit là où vous choisissez.

Mode d'emploi

  1. Saisissez le nom d'utilisateur et le mot de passe, ou générez un mot de passe aléatoire.
  2. Gardez bcrypt et choisissez un coût — 10 à 12 convient à la plupart des serveurs.
  3. Copiez la ligne, ou téléchargez le fichier .htpasswd, et rangez-le hors de votre racine web.

Confidentialité

Cet outil fonctionne entièrement dans votre navigateur. Ce que vous saisissez n'est jamais envoyé, stocké ni partagé : fermer l'onglet suffit à tout effacer.

Questions fréquentes

Mon mot de passe est-il envoyé ?
Non. Le hachage est calculé dans l'onglet du navigateur. Le mot de passe, le sel et la ligne finale ne sont jamais transmis, journalisés ni stockés où que ce soit.
Quel hachage choisir ?
bcrypt, sauf si votre serveur en est vraiment incapable. Il est salé pour chaque entrée et lent à dessein, si bien qu'un attaquant qui vole le fichier doit dépenser du temps réel à chaque essai. L'option SHA-1 est sans sel et rapide à casser ; elle n'existe que pour la compatibilité.
À quoi sert le coût bcrypt ?
C'est le logarithme en base 2 du nombre de tours de préparation de clé : chaque cran double le travail, pour l'attaquant comme pour votre serveur au moment de la connexion. Un coût de 10 à 12 est l'équilibre habituel ; au-delà, cette page devient nettement plus lente.
Puis-je utiliser la sortie avec nginx ?
Oui. nginx lit le même format de fichier dans auth_basic_user_file et prend en charge les entrées bcrypt : une ligne générée ici fonctionne pour Apache comme pour nginx.
Où le fichier doit-il se trouver ?
Hors du répertoire publié par votre serveur, avec AuthUserFile pointant sur son chemin. Si .htpasswd est dans un dossier servi, n'importe qui peut télécharger les hachages et les casser hors ligne.