Comment gérer ses mots de passe avec KeePass (ou KeePassXC) ?
Sommaire [-]
I. Présentation
Ce tutoriel vous propose de découvrir KeePass (et KeePassXC), un gestionnaire de mots de passe libre et open source, qui présente l'avantage d'être certifié par l'ANSSI. KeePass est une alternative aux autres gestionnaires de mots de passe comme Bitwarden, LastPass, Dashlane, 1Password ou encore NordPass. Depuis plusieurs années maintenant, le gestionnaire de mots de passe est devenu un outil indispensable, encore trop peu adopté par les utilisateurs lambda, et qui mérite d'être mis en avant.
Quant à KeePass, c'est une solution fiable pour stocker ses mots de passe (et toute sorte d'informations sensibles) dans un coffre-fort sécurisé qui repose sur du chiffrement pour protéger vos identifiants. On peut citer quelques algorithmes qu'il utilise : AES, Twofish, SHA-256, Chacha20, etc. Ce n'est pas un petit nouveau dans cet univers puisque la première version date du 13 novembre 2003 !
Comme de nombreuses solutions libres et open source, KeePass a le droit à de nombreux forks, c'est-à-dire d'autres logiciels basés sur la version originale de KeePass. Personnellement, le seul fork que je vous recommande s'appelle KeePassXC, et il est open source également. D'ailleurs, dans cet article, je vais vous parler de KeePass, mais aussi de KeePassXC.
Note : Initialement KeePassXC est un fort de KeePassX qui est lui-même un fork de KeePass, donc à mon sens on peut considérer que KeePassXC est un fort de KeePass. KeePassX n'est plus maintenu depuis 2016.
Pourquoi un gestionnaire de mots de passe ?
Il est recommandé d'utiliser un mot de passe différent pour chaque site et service que l'on utilise afin de réduire les risques en cas de fuite de données ou de compromission d'un compte. En effet, s'il y a l'un de vos mots de passe qui est compromis, cela affecte uniquement le site sur lequel vous l'utilisez. Si vous utilisez le même mot de passe sur 10 sites différents, les conséquences peuvent être beaucoup plus graves, et il faudra changer le mot de passe sur l'ensemble de ces sites.
Cependant, il n'est pas possible de mémoriser l'ensemble des mots de passe. Comment stocker ses mots de passe de manière sécurisée ? Certainement pas dans un fichier Excel ni dans un fichier Word, mais dans un logiciel spécialement conçu à cet usage : un gestionnaire de mots de passe.
Si l'on prend l'exemple de KeePass / KeePassXC, voici une liste non exhaustive de ce que vous allez pouvoir faire :
- Stocker vos identifiants (nom d'utilisateur et mots de passe) de vos applications et sites favoris
- Organiser votre base d'identifiants par groupe et sous-groupes
- Importer des données à partir d'une autre source (un fichier CSV, un autre gestionnaire de mots de passe, etc.)
- Générer des mots de passe complexe
- Stocker des clés de licences, des numéros de cartes bancaires, et même des fichiers
- Associer des tags à vos identifiants pour les retrouver plus facilement, autrement que par les groupes
- Etc.
KeePass ou KeePassXC ?
Dès maintenant, on pourrait se demander : faut-il choisir KeePass en version originale ou son fork KeePassXC ?
En fait, il faut garder à l'esprit que KeePass est un gestionnaire de mots de passe qui s'installe sur Windows (le site officiel distribue seulement l'exécutable), et bien qu'il soit possible d'en profiter sur Linux grâce à Mono (qui permet d'avoir le support de .NET), le projet KeePassXC quant à lui est directement pensé pour être multi-plateformes. Un premier avantage, car sur une Debian on pourra l'installer simplement avec la commande "apt-get install keepassxc".
Vous verrez aussi que l'interface de KeePass, elle est un peu comme le site officiel du projet : pas très jolie. Même si c'est surtout la sécurité qui est importante, un logiciel avec une belle interface est plus agréable à utiliser, et sur ce point, KeePassXC fait beaucoup mieux. Autre avantage de KeePassXC que je pourrais citer : il est disponible nativement en français.
D'un point de vue du code, KeePass est écrit en C# et nécessite la plateforme .NET Framework, tandis que KeePassXC est écrit en C++ ce qui facilite son portage sur les différents systèmes. Tout cela pour dire que KeePassXC n'est pas simplement un clone de KeePass sans intérêt : à mon sens, c'est une réelle évolution.
II. Le gestionnaire de mots de passe KeePass
Commençons par une courte présentation de KeePass, qui est toujours maintenu, au même titre que KeePassXC.
A. Installation de KeePass
Pour la démonstration de KeePass, je vais utiliser une machine sous Windows. Si vous êtes sous Linux, je vous recommande plutôt d'utiliser directement KeePassXC. L'exécutable d'installation est disponible sur le site officiel et il est distribué via Sourceforge.
Une fois l'exécutable téléchargé, l'installation doit être effectuée : quelques clics suffiront. KeePass est un logiciel léger.
C:\Program Files\KeePass Password Safe 2
Pour installer KeePass, il suffit de suivre l'assistant, en commençant par accepter les termes du contrat de licence.
Effectuez une installation complète, car KeePass reste un logiciel très léger.
Suite à l'installation, KeePass vous demande si vous souhaitez autoriser les mises à jour automatiques. Cliquez sur "Enable (recommended)" pour dire "Oui". Il faut savoir que KeePass est mis à jour quelques fois par an, mais cela reste très raisonnable.
Vous remarquerez que KeePass est en anglais, malgré que l'installeur était en français.
B. Comment mettre KeePass en français ?
Pour mettre KeePass en français, ou dans une autre langue que l'anglais, il ne suffit pas d'aller dans les options et de choisir un autre langage. Il faut commencer par télécharger un fichier de langue sur le site officiel au sein de cette page : Traductions de KeePass.
Ensuite, il faut cliquer sur le lien correspondant à la langue que vous souhaitez, dans la bonne version du logiciel. Cela va permettre de télécharger une archive ZIP qui contient un fichier au format LNGX : French.lngx. Ce fichier doit être copié-collé directement dans ce dossier :
C:\Program Files\KeePass Password Safe 2\Languages
Ce qui donne :
Ouvrez KeePass, cliquez sur le menu "View" puis "Change language". Cliquez sur "French (français)" dans la liste.
Le logiciel va vous demander de redémarrer pour prendre en compte le changement de langue. Confirmez.
Voilà, KeePass est en français. On fait quoi maintenant ? Et bien, nous allons apprendre à créer un coffre-fort, ou une base KeePass si vous préférez.
C. Créer sa première base KeePass
Pour créer une nouvelle base KeePass qui va vous permettre d'avoir un container sécurisé pour stocker ses mots de passe, cliquez sur "Fichier" puis "Nouveau". Vous devrez définir l'emplacement de cette base KeePass au format "KDBX". Cliquez sur "Enregistrer".
Remarque : vous pouvez stocker la base KeePass sur un emplacement Cloud, ou sur un partage réseau (votre NAS, par exemple). Veillez à sauvegarder ce fichier, car si vous perdez le fichier KDBX, vous perdez votre base de données et donc tous vos mots de passe !
Puisqu'il s'agit d'un simple fichier, vous pouvez déplacer le fichier KDBX de votre base KeePass à tout moment. Ensuite, vous devez définir un mot de passe maître : il s'agit du mot de passe qui sert à ouvrir votre base KeePass. Autrement dit, c'est la clé du coffre-fort ! C'est le seul mot de passe que vous devez retenir et il doit être complexe.
Indiquez deux fois ce mot de passe. En complément, ou en alternative, vous pouvez créer un fichier clé : ce fichier clé peut remplacer le mot de passe ou venir en complément (un peu comme une double authentification : mot de passe + clé). Je vous déconseille d'utiliser l'authentification basée sur un compte utilisateur Windows, car c'est trop lié à l'utilisateur de votre machine locale (ce qui pose problème si vous devez réinstaller).
Poursuivez. A l'étape suivante, vous devez nommer votre base de données et ajouter éventuellement une description. Différentes options sont proposées, mais la configuration par défaut est suffisante à mon avis. Par défaut, la compression GZip est activée pour limiter la taille de votre base et la corbeille est activée également, ce qui permet de récupérer une entrée supprimée par erreur. Cliquez sur "OK".
Voilà, la base KeePass est prête ! Par défaut, plusieurs groupes sont créés et quelques identifiants sont inclus. Cela permet d'avoir un exemple, mais personnellement j'aimerais que ce soit vide plutôt que l'on m'impose ça... Et il va falloir prendre du temps pour supprimer ces éléments si l'on n’en a pas besoin.
D'ailleurs, pour supprimer un élément (ou plusieurs), il suffit de faire une sélection, puis clic droit "Supprimer l'entrée". La suppression d'un premier élément va créer la corbeille : elle sera visible à gauche, sous la liste de vos groupes (donc sous "Banque à domicile").
D. Premiers pas avec sa base KeePass
Pour créer une nouvelle entrée afin d'ajouter un identifiant et un mot de passe, vous devez vous positionner dans le groupe souhaité (l'entrée pourra être déplacée par la suite), puis effectuer un clic droit dans la colonne de droite et cliquer sur "Ajouter une entrée". Un assistant s'ouvre... A minima, je vous recommande de renseigner les champs suivants :
- Titre : nom de l'identifiant
- Nom d'utilisateur : nom d'utilisateur à ce compte
- Mot de passe : mot de passe de ce compte (à renseigner deux fois, sauf si vous cliquez sur "...")
Lorsque les identifiants sont liés à une page Web, je vous recommande de remplir le champ "Adresse (URL)" afin de bénéficier du remplissage automatique dans le navigateur. Vous pouvez aussi indiquer des notes dans la zone "Remarques", indiquez une date d'expiration via le champ "Expire le" (utile pour filtrer les entrées), ou ajouter un fichier dans cette entrée via l'onglet "Avancé" puis "Pièces jointes".
À chaque fois que vous modifiez une entrée, cela vient actualiser l'historique propre à cette entrée. Si vous faites une erreur, vous pouvez revenir en erreur en sélectionnant la bonne version et en cliquant sur le bouton "Restaurer". Cette fonctionnalité peut s'avérer très utile en cas de mauvaise manipulation.
Validez avec "OK" pour confirmer la création de l'entrée. Un double-clique sur une entrée permet de l'éditer.
Pensez à enregistrer la base KeePass via le raccourci "CTRL + S" ou en cliquant sur l'icône en forme de disquette en haut à gauche. Lorsque vous avez besoin de copier le nom d'utilisateur ou le mot de passe, vous n'avez pas besoin d'éditer l'entrée : un clic droit suffit, voire même le bon raccourci clavier. L'option "Accomplir la saisie automatique" est utile aussi pour injecter le nom d'utilisateur et le mot de passe dans la fenêtre qui est active (derrière KeePass).
Voyez par vous-même :
Par ailleurs, pour organiser votre base KeePass, vous pouvez créer différents groupes. Pour créer un groupe, il suffit d'effectuer un clic droit dans la colonne de gauche puis "Ajouter un groupe". Pour créer un groupe enfant sous un groupe existant, effectuez un clic droit sur le groupe parent.
Rien qu'en étant capable de créer des groupes et des entrées, vous êtes en mesure de gérer votre base KeePass.
E. Quelques options à connaître
Lorsque vous copiez un nom d'utilisateur ou un mot de passe dans KeePass, l'information est disponible dans le presse-papier pendant 12 secondes. Une fois ce délai écoulé, l'information est supprimée du presse-papier, ce qui évite les erreurs de copier-coller 30 minutes plus tard... Dans les options de KeePass, ce comportement correspond à l'option "Effacement du presse-papiers après un délai (en secondes)".
En complément et pour protéger votre base, vous pouvez cocher les deux options juste au-dessous pour que la base KeePass se verrouille toute seule en cas d'inactivité.
Au-delà des options, il y a quelques fonctionnalités pratiques que l'on peut retrouver dans les menus. Tout d'abord, sous "Outils", "Outils de la base de données", vous avez des options pour faire du tri dans votre base notamment pour détecter les doublons, ou les groupes vides.
Quant au menu "Rechercher", il intègre des filtres de recherche très pratique pour les personnes qui indiquent des dates d'expiration sur certaines entrées, mais aussi pour rechercher les éventuels mots de passe en doublons dans votre base !
Enfin, vous pouvez cliquer sur "Fichier" puis "Exporter" pour exporter les données de votre base KeePass vers un autre format. L'inverse est possible aussi : importer des données, notamment à partir d'autres gestionnaires de mots de passe, afin de migrer vers KeePass.
F. Les plugins KeePass
Avec ses fonctionnalités natives, KeePass a ses limites et pourra sembler en retrait par rapport à d'autres solutions du marché. De plus, les nouvelles versions de KeePass font très peu évoluer le logiciel. Pour lui ajouter de nouvelles fonctionnalités, il est possible d'installer des plugins. Sur le site officiel, les plugins sont référencés et organisés par catégorie :
Voici quelques exemples de plugins intéressants :
- KeeAnywhere : synchroniser la base vers le Cloud (Amazon S3, Dropbox, Box, etc.)
- keepass2-haveibeenpwned : vérifier si les mots de passe sont compromis via Have I Been Pwned
- KeePassRDP : réaliser un appel RDP depuis KeePass
- KeePassOTP : prise en charge 2FA "TOTP"
- Etc...
KeePassXC, que l'on va voir après, ne prend pas en charge les plugins compatibles KeePass 2, ce qui pourrait décevoir certaines personnes. Néanmoins, certaines fonctionnalités que l'on peut ajouter dans KeePass 2 à l'aide d'un plugin sont prises en charge nativement dans KeePassXC. Les plugins, c'est bien, mais il est important de vérifier si un plugin est maintenu avant de l'installer. Au moins, quand c'est une fonctionnalité native, c'est pris en charge dans le cadre du développement du logiciel.
III. Le gestionnaire de mots de passe KeePassXC
KeePass et KeePassXC s'utilisent sensiblement de la même façon, si ce n'est que l'interface est différente visuellement. Comme pour KeePass, je vous propose de découvrir KeePassXC.
A. Installation de KeePassXC
Les instructions d'installation de KeePassXC sont fournies sur le site officiel, aussi bien pour Windows, MacOS et Linux. Sur Windows, l'installation s'effectue en quelques clics dans le même esprit que le KeePass original.
Comme je le disais en introduction, une simple commande permet d'installer KeePassXC sur Debian (ou une autre distribution, en utilisant le gestionnaire de paquets adéquat).
sudo apt-get install keepassxc
Une fois le logiciel installé, on peut commencer à l'utiliser.
B. Créer une base KeePassXC
A l'ouverture KeePassXC nous propose de créer une nouvelle base, d'en ouvrir une existante (on peut ouvrir une base KeePass vu que c'est le même format), ou d'importer des données. Cliquez sur "Créer une nouvelle base de données" et appliquez la même logique que pour KeePass. Autrement dit, il faudra définir un mot de passe maître et un emplacement pour ce nouveau coffre-fort.
En comparaison de KeePass, ce qui change avec KeePassXC lors de la création d'une base, c'est la possibilité de créer une base qui se déverrouille à l'aide d'une clé de sécurité physique telle qu'une YubiKey.
C. Premiers pas avec KeePassXC
Nous voici dans la base KeePassXC. L'interface est beaucoup plus agréable, n'est-ce pas ? Au niveau du fonctionnement, c'est sensiblement la même chose puisque nous retrouvons les groupes à gauche, et les entrées à droite. L'accès aux mots-clés (tags) en bas à gauche s'avère pratique pour filtrer selon un tag, en un seul clic de souris.
Pour créer une entrée, il suffit d'un clic droit puis de cliquer sur "Nouvelle entrée".
Le principe pour ajouter des identifiants reste similaire également. Le menu de gauche permet d'accéder aux autres options, cela remplace les onglets de l'interface de KeePass. Ainsi, nous retrouvons la possibilité d'ajouter des fichiers, de consulter l'historique des versions de cette entrée, etc.
Lorsqu'une entrée est créée, nous pouvons copier le nom d'utilisateur, le mot de passe ou utiliser le remplissage automatique sur le même principe qu'avec KeePass. L'information copiée sera conservée dans le presse-papier pendant 10 secondes, et comme pour KeePass c'est ajustable dans les options. Pour cela, cliquez sur l'icône paramètre dans le menu, et basculer dans la section "Sécurité" à gauche.
Pour approfondir l'utilisation de KeePassXC, découvrons comment utiliser le remplissage automatique des formulaires dans les navigateurs.
KeePassXC dispose d'extensions officielles pour les navigateurs, ce qui permet au navigateur de lire les informations d'une base et de remplir automatiquement les formulaires de connexion : c'est très pratique. Pour effectuer la correspondance, KeePassXC s'appuie sur l'URL renseignée dans les entrées.
Si l'on se connecte sur un site avec des identifiants qui ne sont pas dans la base KeePass, l'extension va proposer de créer une nouvelle entrée. Si les informations saisies sont différentes vis-à-vis de la base, l'extension proposera de mettre à jour l'entrée existante.
Pour utiliser cette fonctionnalité, accédez aux paramètres du logiciel. Cliquez sur "Intégration aux navigateurs" à gauche, puis cochez l'option "Activer l'intégration aux navigateurs". Ensuite, vous devez activer l'intégration pour un ou plusieurs navigateurs, selon ceux que vous utilisez : cochez les cases correspondantes, et validez avec "OK". Mais, avant cela utilisez les liens (en vert) pour être redirigé vers la page de l'extension afin de l'installer.
Dans le navigateur, l'extension détecte KeePassXC sur votre machine. Cliquez sur "Connecter" et attribuez un nom à cette connexion : le nom de votre ordinateur, par exemple.
À partir de là, l'extension est capable de piocher dans votre base KeePass. Dans mon exemple précédent, j'ai créé une entre avec une URL, donc si je visite cette URL, KeePassXC me propose de remplir le formulaire avec les identifiants présents dans mon coffre. Parfait !
E. Options supplémentaires
Il y a une option cachée dans KeePassXC que j'apprécie particulièrement, c'est la possibilité de vérifier si les mots de passe de la base font l'objet d'une compromission liée à une fuite de données. Pour obtenir cette information, KeePassXC interroge le très célèbre site Have I Been Pwned. Pour accéder à cette option, suivez ce chemin : Base de données > Rapports de la base de données > HIBP - Mot de passe compromis.
Il suffit de cliquer sur "Effectuer une analyse en ligne", et s'il y a des mots de passe compromis dans votre base, ils seront mis en évidence. Il ne vous restera plus qu'à les changer !
Voici un exemple :
Enfin, il y a deux autres fonctionnalités qui enrichissent beaucoup KeePassXC :
- La prise en charge de la génération des codes TOTP pour l'authentification à double facteurs
- KeePassXC peut générer les codes à usage unique, sans que vous ayez besoin d'utiliser une application tierce (sur votre mobile, par exemple)
- Cette option se configure sur chaque entrée, via un clic droit : TOTP > Configurer TOTP
- Remarque : si vous stockez dans la même base l'identifiant, le mot de passe et la possibilité de générer le code TOTP, cela revient à regroupe tous les facteurs d'authentification au même endroit donc si votre base KeePass est compromise, vous perdez le bénéfice de l'authentification multifacteurs
- La fonctionnalité KeeShare pour synchroniser des identifiants à partir d'autres bases KeePass
- À la place de synchroniser, on peut importer ou exporter également
- Cette autorisation se crée dans les propriétés des groupes (modifier le groupe) dans la section KeeShare
- En amont, KeeShare doit être activé dans les propriétés de KeePassXC
Enfin, sachez que KeePassXC est capable de gérer vos clés SSH et de stocker la passphrase associée, grâce à l'option "SSH Agent" que vous pouvez activer dans les propriétés.
IV. Conclusion
Cet article touche à sa fin, nous venons de découvrir l'un des gestionnaires de mots de passe les plus populaires, KeePass, et son très bon fork, KeePassXC. Je n'ai pas évoqué la consultation d'une base KeePass depuis un mobile, mais sur Android, il y a l'application KeePass2Android qui est très bien (il y en a d'autres... mais méfiance quand même !), tandis que sur iOS, il y a KeePass Touch.
Sachez qu'une base de données créée avec KeePass peut être ouverte et modifiée avec KeePassXC, et inversement. Ainsi, si vous décidez de passer de KeePass à KeePassXC suite à la lecture de cet article, cela ne doit pas poser de problèmes pour la prise en charge de vos bases KeePass ! Personnellement, j'ai utilisé KeePass pendant très longtemps (près de 10 ans, peut-être...), mais je suis passé sur KeePassXC, car il va plus loin que KeePass et il est plus agréable à utiliser. Que vous utilisiez l'un ou l'autre, veillez à stocker votre base sur un emplacement sécurisé et sauvegardé.
Entre KeePass et KeePassXC, à vous de choisir ! Ou, peut-être que vous utilisez une autre solution ? Personnellement je suis sur KeePassXC et Bitwarden, selon les usages. J'attends vos avis en commentaire !
J’utilise également KeepassXC. J’ai plus ou moins suivi l’évolution du logiciel oroginal Keepass, avant de passer à un premier fork, KeepassX, pour enfin arriver sur le fork de ce dernier KeepassXC.
Sur Android, j’utilise KeepassDX, il a le mérite d’être libre et disponible sur F-Droid.
Je ne pense pas que cela soit le seul, mais il a l’avantage de donner la possibilité de passer les mots de passe et identifiant via un clavier dédié, cela permet d’éviter d’utiliser le presse papier qui est accessible par toutes les applications.