11/12/2024

Logiciels

MFA : comment configurer le TOTP dans KeePassXC ?

I. Présentation

Le gestionnaire de mots de passe KeePassXC sert à stocker des identifiants composés d'un nom d'utilisateur et d'un mot de passe, et il est également capable de générer les codes à usage unique (TOTP) nécessaire dans le cadre d'une authentification à plusieurs facteurs. Ainsi, à partir de KeePassXC il devient possible de compléter un processus d'authentification multifacteurs, notamment dans le navigateur grâce à l'extension officielle qui est capable de compléter le formulaire automatiquement pour indiquer un code valide. C'est ce que nous allons voir dans ce tutoriel : comment configurer le TOTP dans KeePassXC ?

II. KeePassXC : intégration d'une TOTP à une entrée

Prenons l'exemple de l'entrée "IT-Connect.tech - Compte administrateur" déjà enregistrée dans mon coffre-fort avec les éléments suivants : nom d'utilisateur, mot de passe et URL. Pour rappel, l'URL est nécessaire pour que l'extension dans le navigateur puisse faire la correspondance avec la base KeePass au moment où j'arrive sur la page d'authentification.

Pour générer des codes à usage unique pour ce compte, il faut configurer la fonction TOTP. Pour cela, il suffit d'effectuer un clic droit puis sous "TOTP" de choisir "Configurer TOTP".

KeePassXC - Configurer TOTP

Ensuite, du côté de l'applicatif qui prend en charge le MFA, il faut afficher l'habituel QR code pour effectuer la configuration. En effet, habituellement on scanne ce QR code avec son smartphone, sauf que cette fois-ci, c'est une clé qu'il nous faut. Dans cet exemple, la clé est indiquée directement à l'écran : il me suffit de la copier. Dans certains cas, vous trouverez un bouton du style "Le QR code ne fonctionne pas" ou "Je ne peux pas lire le QR code" permettant d'accéder à la clé.

KeePassXC - Exemple MFA WordPress

À ce moment-là, il faut faire un copier-coller de la clé secrète dans le champ "Clé secrète" de la fenêtre KeePassXC, puis cliquer sur "OK", comme ceci :

KeePassXC - TOTP - Ajout de la clé secrète

Suite à cette manipulation, le menu "TOTP" de KeePassXC pour cette entrée, donne accès à de nouvelles options : "Copier le TOTP" pour copier le code à usage unique valide actuellement, ou "Afficher le TOTP" pour voir le code à l'écran.

KeePassXC - Afficher le TOTP

En cliquant sur "Afficher le TOTP", le code s'affiche, avec le temps restant avant expiration et un bouton permettant de le copier.

KeePassXC - Code TOTP

Afin de finaliser la configuration de l'application, il faut saisir le code actuel et valider. Dans mon cas, il s'agit d'un site de test sous WordPress, équipé d'un plugin pour gérer le MFA (Tutoriel - MFA sous WordPress).

KeePassXC - Confirmation MFA WordPress

Lors de la prochaine connexion, et à condition d'avoir la base KeePassXC déverrouillée ainsi que l'extension dans le navigateur, KeePassXC va proposer de remplir le formulaire avec le nom d'utilisateur et le mot de passe, puis le code TOTP ! Ainsi, on complète le processus de double authentification de façon quasi automatique !

KeePassXC - TOTP automatique dans le navigateur

III. Transférer le code TOTP sur son mobile

Dans le menu "TOTP" de KeePassXC, il y a une entrée nommée "Afficher le QR code" qui affiche une fenêtre comme celle-ci :

KeePassXC - TOTP - Afficher le QR code (exemple)

Ceci permet de transférer la génération des codes à usage unique à une autre application sur votre mobile. Que ce soit Aegis, FreeOTP, Microsoft Authenticator, Google Authenticator, etc... Cela va permettre d'ajouter la prise en charge de ce compte sur l'application mobile. Du coup, le code TOTP peut être généré depuis KeePassXC mais aussi depuis l'application mobile.

Cette méthode est intéressante pour supprimer la gestion du TOTP dans KeePassXC afin de basculer sur une application mobile classique, sans avoir à reconfigurer le MFA au niveau de l'application. Si c'est votre objectif, il faudra aller jusqu'au bout : retourner dans "Configurer TOTP" sur l'entrée dans KeePassXC, supprimer la clé secrète et valider (à faire uniquement si la gestion du code TOTP est assurée par ailleurs !).

IV. Conclusion

Très pratique, cette fonctionnalité de KeePassXC évite d'avoir recours à son smartphone pour générer les codes à usage unique. Néanmoins, et comme je le disais dans mon article de présentation de KeePass et KeePassXC, le fait d'avoir tous les facteurs d'authentification dans le même coffre-fort peut représenter un risque. Si une personne parvient à dérober et déverrouiller votre base KeePass, elle a en sa possession tous les éléments nécessaires pour utiliser vos identifiants, malgré la présence du MFA.

Ce qu'il est possible de faire, c'est utiliser deux bases KeePassXC distinctes : l'une avec des entrées "utilisateur + mot de passe + URL" et l'autre avec des entrées "utilisateur + TOTP + URL". J'ai testé, cela fonctionne, mais ce n'est pas aussi pratique : il faut maintenir 2 bases, et il faut switcher de base en cours d'authentification pour que l'extension dans le navigateur récupère le code TOTP.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

2 commentaires sur “MFA : comment configurer le TOTP dans KeePassXC ?

  • Bonjour.

    Merci pour ne tutoriel.

    Existe t il un moyen de protéger la base Kdbx en elle même avec une MFA ?

    L’accès à dsm, synology drive voire active backup for business nécessite une MFA, mais l’accès à la base kdbx via keepassxc ou K2A nécessite uniquement le mot de passe du compte utilisateur du NAS mais aucune MFA n’est demandée.

    Étrange…

    Merci d’avance 😉

    Répondre
    • Utiliser une clé USB de sécurité, Yubikey 5 par exemple.
      Configurer ta Yubikey 5 en mode challenge -response.
      puis l’ajouter en sécurité supplémentaire à un mot de passe pour ouvrir ta base de données. kdbx.

      Tu as alors un authentification multifacteur qui protège ta base de données.

      J’utilise ce système au quotidien.

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.