Changer de gestionnaire de mot de passe
le 18 mars 2023
Un gestionnaire de mot de passe est un utilitaire, une application ou un service qui vous permet de mémoriser et organiser vos mots de passe.
Aujourd'hui, j'utilise déjà un gestionnaire de mot de passe Enpass. Cet utilitaire est bien pratique car je peux aussi synchroniser mes données de façon sécurisée via mon serveur où j'ai hébergé Nextcloud. J'ai même acheté la version premium afin de pouvoir l'utiliser pleinement sur mobile, car la version lite ne permet que d'utiliser les 10 premiers mots de passes.
Pourquoi changer de gestionnaire de mot de passe ?
Bien que cet utilitaire fait son boulot, une problématique qui revient au quotidien est pour ma part de l'ordre de l'utilisabilité. En effet, Enpass c'est avant tout une application que vous installez sur votre ordinateur, il faut que celle ci soit ouverte pour interagir et déverouiller la session installée sur votre Navigateur via l'extension. Il faut avoir le client de bureau ouvert, puis de valider l'étape de connection entre le client et l'extension navigateur. Cette opération revient assez régulièrement pendant mes journées, puisque EnPass se verrouille au bout de 5 minutes (réglage par défaut), il faut alors renouveler le processus à chaque fois que je souhaite remplir automatiquement mes identifiants de connections et cela m'est très pénalisant.
Comparons les solutions existantes
Cela commençais à me préoccuper et c'est vrai que je commençais à avoir le sujet de changer à nouveau de gestionnaire de mot de passe. Cela n'est pas mince affaire étant donné que choisir un autre gestionnaire de mot de passe est quelque chose qui prend du temps, dans le sens où il faut s'assurer que ces données restent bien sous son contrôle et éviter une fuite de tous ses mots de passes sur le web, qu'il faut faire une migration de l'ancien vers le nouveau et être satisfait du nouveau gestionnaire de mot de passe. J'étais tombé il y a quelques semaines justement sur un Tweet de Guillaume Champeau sur le sujet
Vous auriez des recommandations de bons gestionnaires de mots de passe européens ?
— Guillaume Champeau (@gchampeau) February 3, 2023
Après avoir lu les réponses des internautes sur le sujet il en ressort pas mal de solutions :
- Ton cerveau : Non, ce n'est pas une solution que j'ai retenue, j'ai pas assez de mémoire pour retenir tous les mots de passes selon les sites que j'utilise.
- Le bloc note : ok, c'est super sécurisé et biodégradable, mais cela ne correspond pas à mes attentes pour remplir les formulaires automatiquement et puis je préfère avoir une version numérique de mes mots de passes.
- Keepass : je dirais ok pourquoi pas, car c'est tout de même la solution libre qui a fait ses preuves dans le monde Linux depuis des années. Le problème pour ma part c'est que je n'en voit pas une utilisation uniformisée, le stockage est normalisé, mais pour les clients (Desktop cross-platforme et Mobile) il y a de tout. Il n'y a pas une seule façon d'utiliser le logiciel : compter 7 applications différentes pour iPhone ! Et énormément de plugins à installer au cas par cas. Pour ma part, je souhaite une solution uniforme clef en main.
- Dashlane : Globalement il faut payer pour juste utiliser plusieurs appareils synchronisés, le code n'est pas OpenSource et on ne sait pas trop où sont stockées nos données.
- Lesspass : Ok sur le principe, un mot de passe maître pour les avoir tous. Mais dans mon utilisation, je préfère des mots de passes dédiés pour chaque sites, que se passe-t-il par exemple si je dois changer de mot de passe sur un site passé une période ? Puis comment je sauvegarde des notes sécurisées ? Je préfère tout de même une utilisation avec une base de données.
- iCloud : Oui c'est vrai que ca m'a fait sourire, j'aime bien Apple, mais pas de là à leur confier la gestion de mes mots de passes puis cette utilisation n'est que valable sur les appareils Apple, j'ai aussi besoin d'avoir un support sur d'autres plateformes.
- Firefox, Google Chrome : Pour ce point j'ai coché la case dans les préférences pour ne pas stoquer de mots de passes dans mon navigateur. C'est fini la synchronisation des mots de passes sur navigateur, ces données ne vous appartiennent pas et sont stoquées sur des serveurs.
- Cozy Cloud : C'est vrai que j'ai hésité, et je ne connais pas, mais j'utilise déjà Nextcloud pour l'hébergement de fichiers et Joplinapp. Il y aurait en plus une synchro des comptes bancaires avec Cozy Bank. Je connais pas assez et peut être cela est bien, mais peut être que je préfère une solution dédiée à la gestion de mots de passes.
- Enpass : Le gestionnaire de mot de passe que j'utilise déjà de manière courante et dont je souhaite évoluer pour les raisons d'UX que j'ai évoquées en introdution. D'ailleurs je suis étonné que peu de personne n'en parle vraiment.
- 1password : Le gestionnaire de mot de passe que j'utilisait avant de passer sur Enpass. Je pense qu'a l'époque c'était encore gratuit.
- Proton : Quelqu'un a lancé un Proton Privacy et le compte officiel a répondu qu'il serait surement sur le coup. J'utilise Proton comme messagerie actuelle, mais j'imagine que leur offre portera sur un usage centralisé sur leur serveur. A voir ce qu'il auront à proposer, pour le moment je préfère rester sur un gestionnaire de mot de passe où je contrôle mes données.
- Bitwarden : On y arrive, une des solutions les plus cités et pour le coup je m'y suis interessé de plus près. En vrai, ce pourrait être une solution retenue, cepandant en regardant le code github pour l'auto-hebergement, c'est fait en C# et pour ma part, il faudrait installer les outils microsoft sur mon serveur pour compiler l'application nativement. Il c'est plus simple de passer par docker pour installer l'outil, cepandant, cela crée un overhead que je ne souhaite pas.
- Vaultwarden : Oui pourquoi pas c'est l'alternative "non-officielle" de Bitwarden écrite en Rust. Mes félicitation au(x) développeur(s) qui en a(ont) fait une application à part entière, mais ce serait tout de même plus cool si cela était intégré à Bitwarden.
- Passbolt : Ce serait l'équivalent de Bitwarden, cepandant pour un usage orienté en entreprise sur la gestion fine des droits lorsque je compare les plans entre Birtwarden et Passbolt. Par ailleurs Bitwarden est encrée au US alors que Passbolt est Européen, mais les deux sont compilant RGPD.
Mon choix est porté sur Passbolt.
Installation
Côté serveur, l'installation serveur auto-hébergée est disponible sur un large panel de plateforme et le code est écrit en PHP. Derrière l'installation automatique, c'est aussi Nginx qui est utilisé, cependant, mon serveur utilise Caddy qui a la particularité par exemple d'utiliser une configuration simplifiée et de gérer automatiquement les certificats SSL. J'ai choisi de faire l'installation "From source". En suivant les pré-requis, il a fallut que j'ajoute l'extension PHP-GnuPG sous Debian et PHP-FPM avec la commande
$ apt-get install -y php8.1 php8.1-fpm php8.1-{bz2,curl,intl,mysql,readline,xml,gd,mbstring,zip,bcmath,gnupg}
Puis que j'ajoute une configuration propre à Caddy-serveur
$ nano /etc/caddy/Caddyfile
[nom-de-domaine].[ext] {
root * /var/www/[nom-de-domaine].[ext]/webroot
php_fastcgi 127.0.0.1:9000
encode gzip
file_server
log {
output file /var/log/caddy/[nom-de-domaine].[ext].log
}
}
Ensuite, j'installe le dépot du serveur par une simple commande Git
$ cd /var/www
$ git clone [email protected]:passbolt/passbolt_api.git
Et comme expliqué dans la mise à jour de Passbolt, je vérifie les droits de mes dossiers et je sélectionne la dernière version tagué qui a été releasé par l'équipe. A l'heure où j'écris l'article, c'est la version v3.12.0
$ git checkout tags/v3.12.0
Puis je vérifie que tout est bon par la commande
$ bin/cake passbolt healthcheck
Au passage, n'oubliez pas de créer vos clefs JWT avec la commande
$ bin/cake passbolt create_jwt_keys
Elles sont utiles par exemple lorsque vous souhaitez vous connecter depuis l'application mobile. Dans le cas contraire, vous aurez un message HTTP Forbiden
à la connection mobile si vous oubliez de faire cette étape.
Enfin, je me connecte à l'interface de l'administration depuis l'url du serveur https://[nom-de-domaine].[ext]
. Et j'ai l'affichage d'accueil pour finir la configuration.
Concernant les étapes propre à l'installation, vous pouvez les retrouver directement sur le site. Vous devez aussi avoir un serveur SMTP sous la main, car les emails sont utilisés pour vous connecter depuis d'autres ordinateurs.
Aussi par rapport à la migration de Enpass vers Passbolt, elle n'est pas gérée à l'heure actuelle. Cependant, j'ai pu modifier l'export CSV de Enpass afin de me conformer aux exemple de format d'import attendu par Passbolt.
Ce que j'aurai aussi aimé ce serait d'avoir accès à l'écriture de notes cryptées, mais cette feature est déjà prévue dans la roadmap du projet.
J'aimais bien l'auto soumission du formulaire de connection avec Enpass, j'espère qu'elle arrivera aussi sur Passbolt.
Vous pouvez aussi activer la fonctionnalité auto-fill depuis votre mobile
Enfin, il faut aussi penser à mettre en place le système de backup au cas où votre serveur venait à tomber en panne, ce qui vous ferait perdre tous vos mots de passe et a priori, ce n'est pas désiré.
Et vous, utilisez vous un gestionnaire de mot de passe et si oui, lequel ? Vos retours sur le sujet sont les bienvenus.