MFA : comment configurer le TOTP dans KeePassXC ?
Sommaire
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".
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é.
À 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 :
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.
En cliquant sur "Afficher le TOTP", le code s'affiche, avec le temps restant avant expiration et un bouton permettant de le copier.
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).
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 !
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 :
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.
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 😉
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.