Gérez, protégez et partagez vos mots de passe avec KeepPassXC

Nous stockons de nombreuses informations, pour beaucoup sensibles, et 
dans des formats différents. Cela fait autant de mots de passes à créer,
à retenir et à utiliser. À utiliser. À utiliser pour souvent 
quotidiennement, il faut donc leur utilisation soit la plus transparente 
possible soit la plus transparente possible et s'adapte aux différents 
services cleints : données sur une partition chiffrée, site internet, 
client d'une application bancaire. Application en ligne de commandes. 
Vous utilisez peut être déjà une extension Web pour les sites Web : 
c'est bien, mais cela ne gére pas une société tierce sur leurs serveurs 
lorsque vous rentrez dans l'extension. Dans cet article, nous allons 
découvrir KeepassXC, un gestionaire de mots de passe libre qui vous 
permettra de répondre à tous types de besoins et de ne pas partager 
vos mots de passe avec une société tierce.

Benoît Benedetti

Introduction :

À l’origine, il y avait Keepass, un très bon gestionnaire de mot de passe libre, seulement disponible sur Windows. Puis est arrivé KeepassXC (avec X comme croix, cross en anglais pour cross-platform/multiplateforme), un fork de Keepass pour le porter sur plusieurs plateformes et ajouter de nouvelles fonctionnalités. Malheuresement, le développement de KeePassX a commencé à s’éssouffler et s’est carrément arrêté en 2016. Des dééveloppeurs ont crée un nouveau projet plus dynamique : KeepassXC est né. Bien que KeePass n’ait pas ralenti son développement, KeePassXC reste la meilleure alternative des gestionnaires de mot de passe. Il est libre, a une communauté active, est plus simple à utiliser, et a pus de fonctionnalités :

  • multiplateforme Linux, MacOS et Windows
  • compatible avec KeePass, KeePassXC, MacPass
  • chiffrement de la base de données en AEs 256 bits
  • auto-remplissage des formulaires de connexion
  • client en ligne de commandes
  • intégration avec les navigateurs Web
  • import / export des mots de passes
  • générateur de mot de passe et de passphrases
  • partage et fusion de bases de mot de passe
  • https://keepass.info/help/base/index.html

Installation

KeePassXC est disponible sur toutes les distributions Linux, généralement la version 2.4.3, largement récente pour profiter de ses fonctionnalités, que vous pouvez installer simplement sous Debian et dérivées avec la commande :

$ sudo apt install keepassxc

La dernière version stable de KeePassXC est là 2.5.0 sortie en automne 2019. C’est elle que j’utiliserai dans cet article. Pour installer simplement, vous pouvez la récupérer au format AppImage depuis le site officiel. AppImage est un exécutable portable qui peut-être lancé tel quel sur n’importe quelle distribution Linux récente. On commence par récupérer KeePassXC au format AppImage et lancer l’application avec la commande ci-dessous :

$ sudo wget https://github.com/keepassxreboot/keepassxc/releases/download/2.5.0/KeePassXC-2.5.0-86_64.AppImage -O /usr/local/bin/keepassxc
$ sudo chmod a+x /usr/local/bin/keepassxc
$ sudo keepassxc &

On va créer un lanceur pour intégrer cette AppImage au bureau Gnom, afin de ne pas à avoir à passer par la ligne de commande pour utiliser KeePassXC.
Créez le fichier suivant :

$ nano ~/.local/share/application/appimagekit-keepass.desktop
[Desktop Entry]
Name=KeePassXC AppImage
GenericName=Password Manager
GenericName[fr]=Gestionnaire de mot de passe
Comment=Community-driven port of the Windows application "KeePass Password Safe"
Exec=keepassxc %f
TryExec=Keepassxc
StartupWMClass==keepassxc
Terminal=false
Type=application
Version=1.0
Categories=Utility;Security;Qt;

Vous pouvez désormais lancer la version 2.5.0 de KeePassxc au format AppImage comme n’importe quelle application graphique de bureau depuis votre lanceur d’application GNOME.

Démarrage et initialisation d’une base de mots de passe

Comme on peut le voir au lancement de l’application, celle-ci nous propose soit d’importer vos mots de passe depuis une autre applications ou d’ouvrir une base de données existante.Étant donné que nous partons de zéro, nous allons cliquer sur le bouton pour créer une nouvelle base de données dans laquelle stocker nos mots de passe. Un assistant de création vous demande d’abord de donner un nom à cette base : vous pouvez très bien créer une seule base qui va contenir tous vos mots de passe, ou bien créer plusieurs bases pour éviter de mélanger vos mots de passe personnels et professionnels, choisissez donc un nom pertinent pour votre base. Puis un autre écran vous demande les paramètres de chiffrement, vous pouvez tout à fait laisserceux par défaut. Ensuite, il faut protéger votre base avec au minimum un mot de passe à retenir, demandé lors de l’ouverture de la base, ne perdez donc pas ce mot de passe. En cliquant sur « Ajouter une protection supplémentaire .. » vous pourrez protéger votre base avec un keyfile (un fichier nécessaire pour ouvrir la base en plus du mot de passe maître, à ne pas perdre) et/ou avec une clé Yubikey. Enfin, choisissez un emplacement pour stocker votre base : je la stocke dans mon dossier Nextcloud, synchronisé entre mes différentes machines, car pour avoir avoir un code plus simple et ne pas forcer leurs utilisateurs avec une solution de synchronisation maison, les développeurs de KeePassXC ne proposent pas de mécanismes de synchronisation. J’ai aussi stocké le fichier dans un dossier caché au nom peut évocateurt « misc » , fichier de base de données qui est lui même un fichier caché nommé « perso » : ce n’est pas ça qui arrêtera quelqu’un qui veut vraiment pirater mes données, mais ce n’est pas plus cher et ça ne mange pas de pain, alors autant le faire.

Voilà, votre base est créee, vous revenez à l’interface de KeePassXC, cette base de données ouverte et déverrouillée, vide, mais prête à être utilisée. De là vous pouvez fermer la base, en créer ou en ouvrir une autre. Désormais, si vous fermez KeePassXC, la fenêtre de lancement va être différente, il vous sera proposé par défaut d’ouvrir la dernière base utilisée, à déverrouiller à l’aide de son mot de passe maître.

Ajouter une entrée identifiant / Mot de passe dans votre base

Maintenant que nous avons une base, ajoutons-y des mots de passe. Pour cela, on crée depuis l’interface de KeePassXC une entrée. Une entrée est une entité qui contient toutes les informations d’accès à un service : un site web, une application, un réseau (VPN, WIFI, …) un ordinateur, ect. Ces informations sont un nom, titre, un identifiant de connexion, un mot de passe,l’adresse du site, ect

Pour créer une entrée, cliquez sur l’icône sous forme de clé, ou depuis le menu « Entrée », sélectionnez « Nouvelle Entrée », la page d’édition d’une entrée apparaît. Rentrez les informations dont vous avez besoin puis enregistrer votre entrée. Vous pouvez bien sûr modifier l’entrée au besoin. Il y a même un menu pour ajouter des informations supplémentaires (attributs, fichier joints), ou encore la configuration de la saisie automatique que nous verrons plus loin. Voilà, c’est tout ce qu’il faut savoir pour créer une Entrée.

Parce que vous allez surement stockée plusieurs mots de passe, KeePassXC propose de regrouper vos entrées dans des groupes : vous créez un groupe, symbolisé par un dossier dans l’interface, suivant un thème pour contenir les mots de passe de ce même thème. Vous pouvez même créer des sous-groupes pour organiser au mieux vos Entrées.

Utiliser une entrée de votre base pour s’authentifier

Il existe plusieurs façon natives d’utiliser une entrée de votre base de données. La première, la plus simple, est la méthode que j’appelerai « manuelle » : depuis l’écran qui liste les Entrées de votre base, sélectionnez l’entrée que vous voulez utilisez, un clic-droit, ou depuis l’application, copiez le nom d’utilisateur de l’Entrée, puis copiez le mot de passe, et utilisez-les sur le service, site web, application dont vous avez besoin.

Cette méthode mérite d’être efficace, mais KeePassXC vous permet plus simple avec la saisie automatique. Pour cela, retournez sur la page d’édition de votre Entrée, et sélectionnez le menu à gauche « Saisie automatique » et sélectionnez « Utiliser une séquence personnalisée ».

Le premier champ de configuration indique les séquences clavier automatiques qui seront tapés par KeePassXC à votre place dans le formulaire d’authentification pour lequel vous avez besoin de l’Entrée. Par défaut, c’est (USERNAME)[TAB](PASSWORD)[ENTER] : KeePassXC va remplir le premier champ du formulaire avec l’attribut USERNAME (identifiant) de l’entrée, puis taper [TAB] pour passer au deuxièmne champ PASSWORD de l’Entrée puis tapé [Entrée]. C’est parfait, c’est exactement l’enchaînement de Framasite (et la grande majorité des sites web). Ensuite, il reste encore à indiquer à KeePassXC dans laquelle fenêtre taper cet enchaînement clavier, c’est à dire configurer l’association de fenêtres pour l’Entrée. C’est très simple, il vous suffit d’ouvrir le service utilisé par l’Entrée (ici, la page du site de Framasite dans votre navigateur). Puis revenez dans la page de configuration KeePassXC de la saisie automatique de l’Entrée concernée, et cliquez sur le bouton en forme de signe plus en bas de l’interface pour configurer l’association de fenêtre. Dans le menu déroulant qui apparaît à droite, sélectionnez la fenêtre qui correspond à l’application dans laquelle vous souhaitez utiliser cette Entrée, puis appuyez sur OK pour finaliser la configuration . Vous pouvez maintenant utiliser cette Entrée en saisie automatique : commencez par ouvrir l’application (ici le site web de Framasite) et à placer le curseur dans le premier champ à remplir, le champ de l’identifiant utilisateur. Puis, ouvrez KeePassXC et séléctionnez votre Entrée, puis depuis le menu contextuel choissisez « Effectuez une saisie automatique » (ou depuis la barre d’outils, ou mieux, avec le raccourci ([Crtl + Maj + V]). KeePassXC va remplir automatiquement. Pour vous les champs du formulaire de connexion, vous voilà identifié sur Framasite.
Mais on peut encore simplifier et automatiser la saisie automatique en éliminant le besoin d’aller dans l’interface de KeePassXC pour utiliser la saisie automatique, et la lancer directement depuis le site web à l’aide d’un raccourci global.
Pour créer ce raccourci, ouvrez « Outils » > « Préférences » depuis l’interface, dans le premier menu « Général », séléctionnez le deuxième onglet « Saisie automatique » et tapez le raccourci qui vous convient dans le champ « Raccourci de la saisieautomatique ». Il faut littéralement taper la combinaison de touches du raccourci désiré. Une fois fait, il vous suffira simplement d’aller sur l’application, le site, ect, qui vous intéresse. Tapez le raccourci configuré, une fenêtre pop-up apparaît vous affichant l’Entrée qui correspond pour KeePassXC à la fenêtre active ; double-cliquez l’Entrée (ou appuyez sur [Entrée] et la saisie automatique va remplir les champs du formulaire. Depuis cette pop-up, vous pouvez aussi faire un clic droit pour copier manuellement le login et/ou le mot de passe, ou vous pouvez faire une recherche parmi vos Entrées si KeePassXC ne vous a pas proposé l’Entrée qui convenait.

Utiliser l’extension WEB pour saisir une entrée de manière automatique

Avec la saisie automatique et son raccourci, vous avez déjà de quoi pouvoir utiliser vos informations de connexion, pas de manière complétement transparante, mais au moins d’une manière simplifiée. Mais sachez que KeePassXC possède une intégration avec les navigateurs les plus connus, pour vous faciliter la vie lors de la connexion à vos sites préférés : Firefox, Chrome, Chromium, Vivaldi, et même Brave sont supportés. Ainsi, vous n’aurez même plus à utiliser de raccourci : une fois l’extension pour votre navigateur installé, celle-ci remplit automatiquement les formulaires sur les sites pour lesquelles vous avez crée une entrée. Pour cela, il faut activer cette intégration, car elle n’est pas activée par défaut dans KeePassXC : cliquez sur « Paramètres », et cliquez ensuite « Intégration aux navigateurs ». Cochez « Activer l’intégration au navigateur », et cochez ensuite le ou les navigateurs qui vous intéressent.

Ouvrez ensuite votre navigateur, et installez l’extension KeePassXC. Puis allez dans les paramètres de l’extension, et, KeePassXC ouvert et la base de mots de passe dévérouillé, associez cette base afin que l’extension soit autorisée à y accéder. À partir de ce moment, lorsque vous ouvrirez une URL dans votre navigateur qui correspond à une entrée KeePassXC va afficher l’Entrée correspondante et demandez si on veux autoriser l’accès depuis l’extension. Une fois l’accès autorisé, une icône KeePassXC apparaît dans le formulaire de connexion.

Voilà, vous avez désormais une base fr mots de passe liée à votre navigateur, de manière transparente, comme beaucoup de solutions existantes, la différence est que vos mots de passe sont hébergés. Et l’intégration KeePassXC avec votre navigateur via l’extension peut en plus être configurée de manière plus avancée si vous en avez besoin.

Protéger l’utilisation d’un agent SSH avec KeePassXC

Les clés SSH sont très utilisées pour vous connecter à un serveur sans avoir à taper identifiant et mot de passe d’accès au serveur. Dans l’idéal, on les protège par une passphrase pour éviter de se faire voler et que quelqu’un puisse les utiliser à votre place. Pour gagner du temps et par fainéantise, un logiciel appelé « ssh-agent » charge une clé et vous permet de l’utiliser sans avoir à retaper la passphrase. L’utilisation de « ssh-agent » est donc sensible, et KeePassXC vous permet de la protéger : vous configurez vos clés SSH dans KeePassXC, et vous liez KeePassXC à « ssh-agent« . Si la base de mots de passe KeePassXC n’est pas ouverte et déverrouillée, « ssh-agent » ne peut pas utiliser de clé.

Commençons par créer une clé SSH protégée par une passphrase, afin de servir d’exemple :

Dans l’interface de KeePassXC, allez dans « Paramètres » > « Agent SSH » et activez l’agent SSH. Puis créez une Entrée pour notre clé avec la passphrase comme mot de passe. Dans la page d’édition de l’Entrée, sélectionnez le menu Agent SSH : cochez les trois premières cases pour gérer la clé dans l’Agent SSH via KeePassXC. Puis indiquez son chemin dans le champ « Fichier externe ». Si le chemin et le mot de passe sont bons, le champ Clé Publique sera rempli automatiquement. Désormais au déverrouillage de la base KeePassXC, la clé sera ajoutée automatiquement à l’agent SSH.

Accéder en ligne de commandes à votre base de mot de passe

Vous pouvez également intéragir en ligne de commande avec KeePassXC et gérer vos bases et entrées depuis le terminal. Cet outil « keepassxc-cli » est livré avec KeePassXC. Si vous avez installé KeePassXC depuis le dépôts, il devrait déjà être disponible :

$ keepassxc-cli version
2.5.0

Si vous avez récupéré KeePassXC au format AppImage, le paquet AppImage contient lui aussi l’exécutable en ligne de commandes, il faut passer la commande « cli » en paramètre de l’appel à l’exécutable au format AppImage :

$ ./KeePassXC-2.5.0-86_64 --version
2.5.0

Dans notre cas, nous avons ajouté l’AppImage dans un dossier PATH, et nous l’avons renommé. Un simple appel comme suit suffit :

$ keepassxc cli --version

L’outil propose deux mondes : le mode commande classique, et le monde interactif. Dans le monde interactif, vous vous connectez à une base, puis vous rentrez dans une sorte de Shell KeePassXC, qui permet de se déplacer dans une base de donnée et ses Entrées, tel un système de fichier en ligne de commandes. Pour rentrer dans ce mode interactif, on utilise la commande « open » avec la base en paramètre :

Si vous voulez utiliser l’outil en mode non interactif, il suffit de passer en paramètre la commande désirée (tout sauf open), les options de la commande, suivis du nom de base, et enfin les paramètres éventuels de la commande. Voilà comment par exemple afficher la même Entrée que nous avons affichée en mode interactif.
Pour connaître la syntaxe, les options et les paramètres d’une commande, on l’exécute en la faisant suivre de l’option –help

La majorité des opérations accessibles dans le client de bureau sont possibles depuis l’outil en ligne de commandes : ajout d’une base, modification d’une Entrée, import/export des données. Cet outil est donc parfait pour ajouter des entrées, maintenir et sauvegarder une base, importer ou exporter en masse vos données.

Conclusion

KeePassXC possède toutes les fonctionnalités pour devenir votre gestionnaire de mots de passes. Si vous n’en utilisez pas pour l’instant, il est temps de vous y mettre avec KeePassXC. Si vous utilisez déjà un gestionnaire de mots de passe propriétaire, j’espère vous voir démontré de migrer vers KeePassXC, une alternative auto-hebergée. Vous pouvez également partager tout ou une partie d’une base avec d’autre personne et il existe une application mobile non officielle pour emporter vos mots de passe partout avec vous. Même s’il ne propose pas (encore) un système de plugins comme KeePass, KeePassXC a pour moi largement dépassé son arrière parent, ce qui en fait la solution la plus sérieuse de gestionnaire de mots de passe, et pas que dans le monde du libre.

Références

[1] https://keepassxc.org/download

Remerciement

Un grand merci à Linux Pratique et à Benoît Benedetti.

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s