Keepass et la gestion des conflits
Korben sur son blog a pris le temps de faire un billet assez complet Tout savoir sur KeePass, le logiciel de gestion de mots de passe qui explique les différences entre Keepass (la version officielle), KeePassXC (le client cross plateforme communautaire) et autres projets compatibles.
Personnellement, j’installe KeePassXC sur mes machines et j’utilise le client Keepass2Android. La base de données Keepass quand à elle est synchronisée sur mes différentes machines sur lesquelles j’ai besoin d’avoir accès au contenu de ce coffre-fort numérique de mot de passe, via un serveur Nextcloud.
Dans une discussion Linkedin mentionnant un article sur les usages des gestionnaires de mots de passe en ligne (comme les services payants LastPass, ou autohébergé comme Bitwarden), Philippe SCOFFONI a posté le message suivant :
A titre perso je préfère une application "lourde" type Keepass2 avec une synchro via mon serveur Nextcloud. Mais tout de suite bien moins accessible pour la grande majorité.
Suivi de cet autre message Attention, j’utilise Keepass 2 qui intègre une fonction de détection des modifications du fichier alors qu’il est ouvert et propose de les fusionner. Nous avons fonctionné à 3/4 en synchro via Nextcloud sans soucis. Il faut juste être vigilant lors de l’enregistrement car c’est à ce moment que l’on peut se voir proposer une "fusion".
Il est vrai que je ne m’étais jamais poser la question des conflits, étant seul à gérer mes mots de passe et n’utilisant le client Android que pour de la consultation (et des copier-coller des logins/mots de passe pour des comptes auxquels j’ai besoin d’accéder au sein du navigateur ou pour la connexion via l’application, comme Twitter exemple). J’ai donc regardé un peu cette problématique de gestion des conflits et KeepassXC (tout comme Keepass2 donc, que je n’utilise pas) propose une fonction de fusion de deux bases de données Keepass.
J’ai donc faits quelques tests en local en modifiant la base de données, en la renommant et en remodifiant des entrées à nouveau. Et j’ai demandé à KeepassXc de faire la fusion des deux bases. Les modifications les plus récentes sont prises en compte (ajout, suppression, mise à jour d’entrées) entre la base ouverte et celle avec laquelle on demande la fusion. C’est un peu "le dernier qui a parlé qui a raison". Mais il est possible de voir l’historique pour le rétablir / saisir les données manquantes pour que la fusion soit la plus propre possible, tout ne pouvant pas se résoudre de façon automatique. Pour moi, la fonctionnalité est donc bien et correctement implémenté. Et il est bon de savoir qu’elle existe.
Enfin, le conseil que j’aurai : sauvegarder régulièrement la base de données (le fichier Keepass) et conserver l’historique de ce fichier Keepass via ces sauvegardes de plusieurs fichiers : on pourra ainsi récupérer une "vieille" entrée si besoin et la resaisir manuellement, sans passer par le processus de fusion (sauf si il y a beaucoup de changements / entrées à resaisir).