Bienvenue sur ce tutoriel qui vous présente comment utiliser KeePassXC sur ordinateur. Dans ce tutoriel, nous verrons :

  1. Comment installer l'application
  2. Comment créer une base de données chiffrée
  3. Comment ouvrir cette base de données
  4. Comment ajouter une nouvelle entrée (un nouveau compte)
  5. Comment bien paramétrer votre application
  6. Comment avoir accès à plusieurs endroits à votre base de données
  7. Comment paramétrer l'application pour une prise en charge des extensions navigateurs

Installer KeePassXC

💡
Nous recommandons d'installer le paquet natif de votre distribution et d'éviter les versions Snap et Flatpak.
💡
Dans la suite du tutoriel, nous serons sur la version KeepassXC 2.7.4.
Votre version peut différer, et les paramètres de votre version peuvent légèrement être différents.

Distributions Debian/Ubuntu

Si vous passez par la logithèque, faites bien attention à prendre la version Native :

Linux Mint Logithèque - KeepassXC version native
GNOME Logithèque - KeepassXC version native Ubuntu

Si vous passez par la ligne de commande :

sudo apt install keepassxc
  • Entrez votre mot de passe puis laissez l'installation se faire.

Distributions Fedora

Si vous passez par la logithèque, faites bien attention à prendre la version Native (RPM) :

Si vous passez par la ligne de commande :

sudo dnf install keepassxc
  • Entrez votre mot de passe puis laissez l'installation se faire.

Distributions OpenSuse

Si vous passez par la logithèque, faites bien attention à prendre la version Native (de openSUSE Tembleweed ou Leap) :

Si vous passez par la ligne de commande :

sudo zypper install keepassxc
  • Entrez votre mot de passe puis laissez l'installation se faire.

Distributions Arch

En ligne de commande :

sudo pacman -Sy keepassxc
  • Entrez votre mot de passe puis laissez l'installation se faire.

Créer une base

L'application ouverte, voici ce que vous obtenez :

💡
Pour de plus amples informations théoriques sur ce type d'outil ainsi que les algorithmes, veuillez relire l'article sur les gestionnaires de mots de passe.
Voilà, bravo, votre base de données est créée.
  • A gauche se trouve une arborescence et vous pouvez créer des dossiers,
  • Au milieu haut, vous retrouverez la liste des entrées (données de comptes) crées,
  • Au milieu bas, vous trouverez les informations de ces entrées, avec les mots de passe obfusqués !

Ouvrir votre base

Ouvrez l'application :

Sélectionnez le répertoire et le fichier de la base de données préalablement enregistré lors de la création :

  1. Entrez votre mot de passe.
  2. Déverrouillez la base de données.

Ajouter une entrée

Ouvrez l'application et votre base de données :

Vous obtenez ceci :

Paramétrages de KeepassXC

Ouvrez l'application et votre base de données puis cliquez sur la roue crantée pour obtenir les paramètres :

  • Le presse-papier correspond à la partie de la mémoire qui vous sert à faire des copier-coller. Si vous utilisez cette fonction pour copier les mots de passe, il est important de nettoyer cette partie de mémoire rapidement afin de ne laisser aucune trace de mot de passe. Nous positionnons la suppression à 1 min, avec un maximum recommandé de 5 min.
  • Également, il est important de revérouiller la base de données après une période d'inactivité de l'application. Cela évite que, lorsque vous quittez votre machine longtemps, l'on puisse jeter un coup d'oeil à vos mots de passe. Nous recommandons : si votre machine est dans un endroit où d'autres personnes sont présentes (travail ? café ?), positionnez le reverrouillage à 2 min. Si votre machine est à la maison, vous pouvez positionner à 10 min.
  • Activez les options visibles dans le bloc 3, ceci afin de rendre plus robuste le fonctionnement de l'outil.
  • Enfin, il est tout à fait possible, si vous téléchargez des miniatures d'internet, de plutôt passer par l'index DuckDuckGo. C'est optionnel et nous ne recommandons pas forcément de télécharger des miniatures car cela implique des requêtes sur internet que vous devriez éviter avec ce genre d'outils.

Synchronisation de votre base

Avant d'entrer dans le vif du sujet, il est très important de bien considérer les aspects 'sécurité' autour de cette pratique.

Les bonnes pratiques

Si vous avez plusieurs machines sur lesquelles vous souhaitez avoir accès à vos mots de passe, vous avez deux possibilités afin d'accéder à votre base de données sur plusieurs machines :

  1. Vous utilisez une clé USB, sur laquelle vous copiez votre base de données puis la transférer sur l'autre machine ; opération à répéter à chaque mise à jour de la base de données (sur une machine ou une autre). Veillez à bien supprimer la base de données de votre clé une fois l'opération effectuée !

Utiliser une clé USB (de confiance) permet d'éviter que le fichier se transfère sur un réseau en limitant donc son exposition et, de facto, diminuer la probabilité (même si déjà toute relative !) de compromission.

💡
Cette solution est en revanche assez contraignante, au quotidien, surtout si vous souhaitez avoir à disposition votre base de données sur plus de 2 ou 3 machines...

Attention, garder son fichier base de données sur la clé USB est une fausse bonne idée : non seulement vous pouvez la perdre facilement, mais vous pouvez également perdre les données si la clé USB est corrompue (cela arrive parfois tout comme les cartes SD, ces périphériques ayant une durée de vie moindre que des disques durs mécaniques voire SSD du fait du type de mémoire utilisée).
  1. Il existe une autre possibilité : synchroniser votre base de données. Certaines applications vous permettent de synchroniser des répertoires par le réseau, que ce soit entre ordinateur fixe/portable ou bien même entre ordinateur et téléphone.

Bien entendu, ici, cela implique certains compromis en terme de sécurité car vous allez, de ce fait, augmenter la surface d'attaque sur votre fichier. Afin de garder une relative confiance, vous devrez respecter certaines recommandations :

  • Vous allez devoir faire confiance à l'application que vous utiliserez afin de synchroniser le fichier 'base de données' : privilégiez toujours une application de confiance open source et/ou libre, bien notée par ses utilisateurs, potentiellement avec de bons retours d'experts.
  • En termes de bonnes pratiques et d'hygiène cyber, vous devriez uniquement autoriser la synchronisation sur votre réseau local. Exit donc la synchronisation via 3G/4G/5G ou sur un WiFi autre que le vôtre ! La raison est simple : vous limitez le risque à un échange purement local, chez vous, sur votre réseau, et non sur internet, réseau publique.
  • Souvenez-vous toujours de limiter le nombre de sauvegardes de ce fichier. Moins vous aurez de copies, moins le risque sera important qu'il se retrouve ailleurs ! Nous recommandons de limiter à 3 le nombre de sauvegardes. Attention donc particulièrement si vous activez le versioning ou préservation des versions de fichiers.
  • Si possible, vous devriez protéger la synchronisation : une protection par mot de passe pour chiffrer les échanges au minimum et/ou l'utilisation de signatures pour vérifier qu'émetteurs et destinataires sont bien ceux qu'ils prétendent être, etc. Cela reste facultatif (si vous faites pleinement confiance à votre réseau et vos machines !) car certaines applications ont du mal à fonctionner ainsi.
Cela reste bien sûr des recommandations et vous êtes libres de les adopter ou non, sachant que la base de données elle-même est chiffrée.

Mise en place

Voyons maintenant dans la pratique ce que donne la solution 2 :

Dans notre exemple, nous utilisons Syncthing, une application de synchronisation réseau très connue de la communauté et très simple d'usage. Egalement, nous utiliserons pour l'exemple un ordinateur et un téléphone car c'est le cas d'utilisation qui reviendra le plus souvent.

🚧
Comme nous sommes en pleine reconstruction du wiki, nous travaillons toujours sur le tutoriel dédié à l'utilisation de Syncthing.
Nous vous préviendrons quand celui-ci aura été publié.
💡
Note : vous pouvez très bien utiliser votre propre application de synchronisation, il n'y a aucun problème !

Intégration aux navigateurs

Il est souvent fastidieux de copier le mot de passe et de le coller dans les champs respectifs à chaque fois que l'on désire aller sur un compte en ligne. Il est possible de faire appel à une extension sur votre navigateur qui sera capable de vous pré-remplir les champs lorsque vous tombez sur une page d'identification.

L'extension se nomme KeepassXC-Browser extension et est disponible sur la plupart des navigateurs :

▶️ Vivaldi et Brave
▶️ Mozilla Firefox et alternatives

Dans cet exemple, nous utiliserons Mozilla Firefox sans autre paramétrage.

💬
Nous traitons dans la partie "Synchronisation non établie" ci-après les éventuels problèmes de connexion rencontrés avec Ungoogled Chromium et Librewolf.

Tout d'abord, il va nous falloir configurer KeepassXC. Afin de configurer l'accès à l'extension vers votre base, ouvrez KeePassXC et paramétrez comme suit :

  • Allez dans les paramètres, puis "Intégration aux navigateurs",
  • Choisissez quel navigateur ira interroger votre base.

Ensuite, installez l'extension sur votre navigateur :

Ouvrez votre base de données sur KeePassXC (si ce n'est pas déjà fait !), l'extension vous demandera d'initier la connexion :

  • "KeePassXC-Browser n'est pas configuré. Appuyer sur le bouton Connecter pour se connecter à KeePassXC."

En cliquant sur le bouton "Se connecter", une fenêtre s'ouvrira vous demandant de nommer cette connexion. Nous prendrons comme exemple "connec-test". Voici ensuite ce que vous devrez obtenir comme message :

  • "KeePassXC-Browser est connecté à KeePassXC et a été configuré avec l’identifiant suivant : connec-test"

Voilà, vous pouvez maintenant naviguer sur vos sites, si vous avez entré les URLs, l'extension vous proposera de remplir automatiquement les champs en cliquant sur l'icône KeePassXC.

Synchronisation non établie

Il est parfois plus complexe sur certains navigateurs de faire fonctionner cette synchronisation, bien souvent vous obtenez des messages comme "L'échange de clés a échoué" :

Cela dépend de certains facteurs comme :

  • Le format d'installation de l'application i.e. via le dépôt de la distribution Linux (apt / rpm ou autre natif) ou via Flatpak ou Snap ou AppImage.
  • La configuration du navigateur : Firefox est différent de Librewolf par ex.

Le cas Ungoogled Chromium

Disclaimer : Ungoogled Chromium est un navigateur permettant d'assurer une sécurité élevée, mais il vient avec des contraintes élevées également ; en effet il s'agit d'un navigateur plutôt réservé à ceux qui peuvent le configurer correctement, et l'installer sans y introduire de risques est complexe i.e. on privilégie donc la version flatpak qui est une version officielle, les autres types d'installation étant portées par des tiers, qui ne sont spécifiquement à temps plein sur ce projet.
Installer la version Flatpak vient avec la contrainte majeure de fermer les communications extérieures (cf. bac à sable), et il n'est pas conseillé de réduire ce niveau de sécurité juste pour permettre de communiquer avec une application extérieure.
C'est pourquoi nous déconseillons fortement l'utilisation de Ungoogled Chromium avec KeePassXC.

Le cas Librewolf

🚨
Important : Installer la version Flatpak vient avec la contrainte majeure de fermer les communications extérieures (cf. bac à sable), et il n'est pas conseillé de réduire ce niveau de sécurité juste pour permettre de communiquer avec une application extérieure.
C'est pourquoi nous conseillons plutôt l'installation de Librewolf au format natif distribution pour pouvoir l'utiliser avec KeePassXC.

Technique

Pour ceux qui souhaiteraient savoir comment fonctionne cette extension avec l'application KeePassXC et pouvoir peut-être en comprendre le fonctionnement intrinsèque, voici en substance ce qui est mis en place pour l'échange des données entre navigateur et KeePassXC :

1. Les communications entre l'extension (dans le navigateur) et l'application s'effectuent via un Proxy keepassxc-proxy, disponible et implémenté par l'application KeePassXC.

2. Les échanges de login et mot de passe se font grâce à keepassxc-protocol qui utilise la cryptographie asymétrique :

- Chaque partie génère des paires de clés temporaires (re-générées à chaque session) pour chiffrer et signer les échanges.
- L'identification entre l'extension et l'application se fait grâce à une paire de clés permanente dès lors que vous avez nommé un identifiant de connexion. Cette paire est stockée protégée dans le navigateur.

Cette solution est plutôt robuste et rend la communication assez sécurisée, surtout pour le mot de passe. De plus, cela évite d'utiliser le presse-papier sans chiffrer le mot de passe lors d'un classique copier-coller...

Pour plus de détails, vous pouvez consulter la page dédiée sur le dépôt de l'extension.