Pour un rendu optimal, activez JavaScript

Le gestionnaire de mot de passe Passwordstore

 ·  ☕ 6 min de lecture  ·  🩊 Propositionjoe

Futé comme un git.

Je vous propose un tuto afin de mettre en place password store comme gestionnaire de mot de passe. Il existe une interface aussi bien sous linux (qtpass est excellent) que sous android. Son fonctionnement est Ă  la fois simple et lisible (synchronisation par git et chiffrement gpg), mais relativement technique Ă  mettre en oeuvre. C’est donc une belle occasion de se fortifier les commandes.

Prérequis

  • Une forge logicielle de type git
  • Une machine sous debian ou fedora (et probablement d’autres distributions).

Présentation du logiciel

À l’écoute de remarques de lecteur, j’ajoute une courte prĂ©sentation de la solution avant de vous proposer “juste” un tuto.

Chez moi, je n’utilise pour mes besoins que deux interfaces avec pass (mĂȘme s’il est possible d’utiliser pass en ligne de commande, je ne le fais pas une fois la configuration initiale terminĂ©e), l’une pour Android (Password store dans les dĂ©pĂŽts fdroid) et qtpass (disponible en apt et dnf pour ce que j’en sais).

Dans ces deux cas les interfaces sont trĂšs sobres. Pour Android, je conseille d’utiliser avec Password store, l’appli Openkeychain pour gĂ©rer sa/ses clĂ©s gpg. Les deux softs travaillent trĂšs bien ensemble. À l’usage l’utilisation de ce soft sous Android est trĂšs simple, on appuie sur la fiche qui stocke son mot de passe, un fenĂȘtre s’ouvre pour nous laisser renseigner notre passphrase. En option un onglet vous donne aussi la possibilitĂ© de la garder en mĂ©moire jusqu’à 1 jour (pas trĂšs sĂ©curisĂ©, mais parfois pratique).

Sur desktop, l’appli est plus complĂšte et propose en sus un gĂ©nĂ©rateur de mot de passe (longueur dĂ©sirĂ©e, avec ou sans caractĂšres spĂ©ciaux Ă  l’intĂ©rieur). L’appli est en outre liĂ© avec gnome et peut si vous le souhaitez retenir votre passphrase. Je vous laisse regarder les captures d’écran pour plus de dĂ©tail et vous faire votre propre idĂ©e. Le maĂźtre mot, comme sur Android est la aussi la simplicitĂ©. Pas de chichi, pour une grande efficacitĂ©, le tout dans la convivialitĂ©… GĂ©nĂ©rer une fiche pour un site, avec un mot de passe nouveau Ă  chaque fois, ne prend que quelques secondes. C’est simple je ne pourrais plus m’en passer.

Je termine cette prĂ©sentation en vous montrant une capture du dossier des mots de passe mis en “musique” par pass: Il ne s’agit en fait que de petits fichiers textes chiffrĂ©s par gpg. Il n’y a donc aucune inquiĂ©tude Ă  avoir quand Ă  la pĂ©rennitĂ© du format de ses donnĂ©es.

Le tuto

Générer sa clé gpg

Pour commencer, il va falloir gĂ©nĂ©rer la clĂ© qui vous utiliserez pour chiffrer vos mots de passe. IdĂ©alement cette clĂ© ne devra servir qu’à cela, je ne vous propose donc pas d’ajouter un date d’expiration. Pour ce qui est du choix du type d’algorithme de votre clĂ©, il y a deux grandes Ă©coles; les clĂ©s de type RSA et celles qui utilisent des courbes elliptiques (ECC).

Le choix de l’un ou l’autre ne pose Ă  ce jour aucun problĂšme de sĂ©curitĂ©, Ă  condition de prendre une clĂ© RSA de plus de 2048 bits (par prĂ©caution on conseille donc de choisir 4096 bits), ce qui l’alourdit, et rend donc les clĂ©s elliptiques pertinentes. En effet, Ă  robustesse Ă©gal, ces derniĂšres sont plus lĂ©gĂšres. La contrepartie est qu’elles sont moins Ă©prouvĂ©es, car plus rĂ©centes que les RSA.

Je vous laisse affirmer votre prĂ©fĂ©rence mais vous invite en tout cas Ă  choisir une passphrase solide. En effet, vous allez mettre cette clĂ© sur votre tĂ©lĂ©phone, sur le pc de votre lieu de travail
 Il faut donc en protĂ©ger l’utilisation. Cette passphrase deviendra alors le « mot de passe maĂźtre » de votre trousseau de clĂ©.

~$ gpg --expert --full-gen-key

Répondez aux différentes questions, pour une aide dans cette étape je vous laisse vous reporter à cette page Fedora ou celle de gnupg.

Vérifiez que votre clé est bien dans votre systÚme en tapant cette commande:

~$ gpg --list-keys

Vous devrier voir trois lignes, la derniĂšre se nommant “sub” puis une suite de nombre et de chiffre coupĂ©e par un slash, par exemple:

sub 4096R/644YTF9 2017-03-08

Dans l’exemple ci-dessus, l’id de la clĂ© est 644YTF9. Gardez-le sous la main, nous allons en avoir besoin. Mais avant de procĂ©der Ă  l’installation de pass, on va clore cette premiĂšre Ă©tape en faisant un backup de cette clĂ© afin de pourvoir la diffusĂ©e facilement plus tard.

~$ gpg2 --export-secret-keys --armor 644YTF9 > makey.asc

Utiliser password store

Pour installer pass, rien de plus simple:

~$ apt install pass

ou

~$ dnf install pass

Ensuite, il faut initaliser votre base en informant pass de votre choix de clé gpg, puis en faire un dépÎt git en tapant ces deux commandes:

~$ pass init 644YTF9
~$ pass git init

VoilĂ  ! Pass est Ă  prĂ©sent prĂȘt Ă  gĂ©rer vos mots de passe. Il reste maintenant Ă  assurer la synchronisation de vos clĂ©s en donnant Ă  manger du git Ă  pass (ou l’inverse). Si vous souhaitez utiliser une solution du « marchĂ© » ou si vous disposez dĂ©jĂ  de votre propre forge, crĂ©ez-y un dĂ©pĂŽt pass.git, puis :

~$ pass git remote add pass.git ssh://utilisateur@adresse-ou-IP: port/pass.git

Puis:

~$ pass git pull master pass.git

Pour tirer du serveur au local

Ou

~$ pass git push -u --all

Pour pousser du local au serveur

En cas de soucis, je vous laisse quelques commandes utiles supplémentaires.

~$ pass git push --set-upstream pass.git master

Pour choisir une branche prioritaire sur une autre

~$ pass git remote remove pass.git

Pour supprimer un dépÎt

Bonus : héberger son propre dépÎt git

Jusqu’à rĂ©cemment j’ignorais que git suffisait pour avoir une forge logicielle autonome et fonctionnelle (en ligne de commande uniquement). Or, il n’est vraiment pas nĂ©cessaire de disposer d’une interface web, ou d’outils avancĂ©s pour pass. En effet 95 % des fonctionnalitĂ©s de gitlab ou mĂȘme d’un gogs/gitea sont inutiles pour cet usage.

Pour crĂ©er son dĂ©pĂŽt, il faut s’assurer d’avoir un accĂšs ssh sur la machine qui va vous servir de dĂ©pĂŽt (par sĂ©curitĂ©, crĂ©ez un utilisateur rĂ©servĂ© Ă  cet usage, et mettez en place une connexion ssh par Ă©change de clĂ© pour cet utilisateur.

Idéalement, vous pouvez aussi mettre un place un chroot, ce qui est la solution la plus sécurisée pour votre serveur (il faut que je me penche là-dessus, si vous avez des liens, je suis preneur!).

Tout ceci fait, rendez-vous sur votre serveur et entrez:

~$ apt install git
~$ cd /home/utilisateur
~$ mkdir pass.git
~$ cd pass.git
~$ git --bare init
~$ ln -s /home/utilisateur/pass.git/ /

La commande remote add donnĂ©e prĂ©cĂ©demment est dĂ©sormais prĂȘte Ă  accueillir votre tout nouveau dĂ©pĂŽt.

Bonne utilisation Ă  tous.

Partagez

Propositionjoe
RÉDIGÉ PAR
Propositionjoe
Soyez rĂ©solus de ne servir plus et vous voilĂ  libres, Étienne de La BoĂ©tie, Bricoleur militant.