Gestionnaire de mots de passe synchronisé

On va voir dans ce tutoriel comment mettre en place un gestionnaire de mots de passe (#KeePassXC) qui sera synchronisé entre tous vos appareils grâce à un cloud (#Nextcloud).

On va d'abord détailler les étapes à suivre sur ordinateur (création d'une base de mots de passe, mise en place de la synchronisation) puis voir comment gérer ça sur mobile (#KeePassDX).


Création d'une base de mots de passe KeePassXC

D'abord, on installe le logiciel libre KeePassXC qui sera notre gestionnaire de mots de passe.

Dans le logiciel, on crée une nouvelle base de données (on peut garder les paramètres par défaut) et on choisit un mot de passe principal qui servira à débloquer tous les autres mots de passe stockés dans la base. Je vous recommande une passphrase d'au moins six mots aléatoires. Vous pouvez pour cela réaliser six lancés de cinq dés et regarder pour chaque lancé le mot associé (par exemple, en lisant les dés de gauche à droite) sur cette liste : https://github.com/chmduquesne/diceware-fr/blob/master/diceware-fr-5-jets.txt. Vous pouvez aussi voir ce tutoriel (en anglais) de l'Electronic Frontier Foundation qui explique étape par étape comment faire.

Sauvegardez la base sur votre ordinateur (Bureau, Documents..., peu importe, on la déplacera plus loin dans le tutoriel, retenez juste son emplacement).

Notre base de mots de passe créée, on va maintenant pouvoir créer un compte sur une instance Nextcloud, en prenant dès maintenant la bonne habitude de générer un mot de passe aléatoire.


Création d'un compte sur une instance Nextcloud

De nombreuses instances Nextcloud existent, vous pouvez en chercher une qui vous convient sur internet. Si vous n'avez pas d'idée, vous pouvez par exemple créer un compte sur La Valise Chapril, instance hébergée par l'association April (association de promotion et de défense du logiciel libre) qui propose à ce jour 1 Go gratuitement (largement suffisant pour une base de données de quelques dizaines de Ko).

Au moment de choisir votre mot de passe, pensez à en générer un directement dans KeePassXC. Une fois généré, copiez-le, puis collez-le dans le champ de mot de passe. Quelques images pour vous accompagner :

Bouton *Generate Password* à la création d'une nouvelle entrée

Génération d'un mot de passe

Copier un mot de passe depuis KeePassXC

Pensez à bien remplir le champ URL à chaque fois en plus des trois premiers, cela nous sera utile. Pour le champ Title, je mets aussi l'URL, pour ne pas avoir à réfléchir à un titre (et parce que c'est assez explicite). Je préfère tronquer l'URL au nom de domaine seulement (éventuellement le sous-domaine s'il y en a un), c'est à dire qu'on commence à https:// et qu'on s'arrête juste après le .com ou .fr ou .org ou autre extension. Dans notre cas, comme indiqué sur l'image, l'URL à indiquer est valise.chapril.org (avec ou sans https:// devant, au choix, mais je trouve plus lisible dans la liste de mes mots de passe de ne pas le mettre).

On valide, et voilà, notre mot de passe est crée ! Si KeePassXC n'a pas enregistré la base automatiquement, pensez à le faire (ctrl + s).

De retour sur la page d'inscription, remplissez le mot de passe avec celui que vous venez de créer. Astuce : dans KeePassXC, ctrl + c permet de copier le champ mot de passe et ctrl + b permet de copier le champ utilisateur.

Le compte Nextcloud étant crée, on va pouvoir synchroniser ça sur notre ordinateur.


Synchronisation de la base de mots de passe

Rendez-vous d'abord sur la page de téléchargement du client desktop Nextcloud, et installez le logiciel.

On ajoute un nouveau compte, l'URL du serveur étant celle de votre instance Nextcloud (par exemple pour La Valise Chapril, l'adresse à indiquer est https://valise.chapril.org). Une page internet s'ouvre : il faut se connecter à notre compte Nextcloud pour autoriser l'accès.

L'assistant de configuration nous demande alors ce que l'on souhaite synchroniser (dans le doute, tout synchroniser est une bonne idée) et dans quel dossier sur notre ordinateur (le dossier indiqué par défaut est très bien si vous hésitez).

Assistant de configuration Nextcloud

On clique alors sur Connect ... et c'est bon ! Ce dossier local est maintenant synchronisé avec le dossier sur l'instance Nextcloud.

Dans le client Nextcloud, je vous recommande de cocher la case Launch on System Startup dans General (en haut à droite) –> General Settings.

Maintenant que le dossier est synchronisé, il nous suffit d'y placer la base de mots de passe. Fermez KeePassXC, puis déplacez le fichier .kdbx (crée en début de tutoriel) dans le dossier Nextcloud de votre ordinateur.

Nos mots de passe sont maintenant synchronisés ! Ils le seront en continu tant que l'application Nextcloud reste ouverte sur votre pc (elle se chargera de récupérer les modifications depuis le serveur, ou d'envoyer toute modification faite depuis votre ordinateur).

Pensez à rouvrir KeePassXC et à ouvrir la base à son nouvel emplacement ;)


Intégration dans le navigateur

Cette étape va vous permettre de ne pas avoir à copier-coller vos noms de compte et mots de passe sur chaque site : une extension sur navigateur permet de faire le lien entre votre base de mots de passe et les sites sur lesquels vous naviguez.

Sur Firefox, l'extension à installer s'appelle KeePassXC-Browser.

Il faut d'abord activer l'intégration dans le navigateur dans le logiciel KeePassXC : Tools –> Settings –> Browser IntegrationEnable Browser Integration, et cocher la case pour votre navigateur.

Activer l'intégration dans le navigateur dans KeePassXC

Dans l'onglet Advanced, je vous conseille de cocher la case Never ask before accessing credentials, ça vous évitera de devoir autoriser KeePass à accéder à votre identifiant sur chaque nouveau site ;)

Cocher la case *Never ask before accessing credentials*

Tant qu'on est dans les paramètres de KeePassXC, allez dans General, et dans la partie File Management cochez Backup database file before saving, sait-on jamais ça pourrait nous sauver si un jour la sauvegarde déconne ;) (en plus de votre fichier .kdbx, ça créer un fichier .old.kdbx contenant la sauvegarde de la base).

Cocher la case *Backup database file before saving*

Redémarrez maintenant Firefox pour que ces modifications soit bien prises en compte.

Maintenant, dans Firefox on ouvre les paramètres de l'extension KeePassXC-Browser, Connected Databases, puis on clique sur Connect. Si votre base de mots de passe est bien ouverte dans KeePassXC, une fenêtre devrait s'ouvrir en vous demandant de rentrer un identifiant unique :

Nouvelle connexion depuis KeePassXC-Browser

La connexion est établie ! Il ne reste plus qu'à essayer si cela marche bien. On ouvre donc la page de connexion de l'instance Nextcloud choisie en début de tutoriel (dans notre cas, https://valise.chapril.org).

KeePassXC-Browser va reconnaitre les URL que vous avez mises dans le champ URL de vos entrées. Le logo KeePassXC apparait directement sur la page internet dans le champ d'utilisateur, il suffit de cliquer dessus pour que l'utilisateur et le mot de passe soient entrés automatiquement :

Bouton KeePassXC-Browser pour entrer automatiquement le nom d'utilisateur et le mot de passe sur une page internet


Trucs et astuces

** Je crée toujours mes mots de passe d'abord dans KeePassXC, puis au moment de créer mon compte sur un site internet, je copie le champ utilisateur et le champ mot de passe dans le navigateur (avec ctrl + b et ctrl + c) sans passer par KeePassXC-Browser. Exactement ce qu'on a fait au début du tutoriel pour la création d'un compte Nextcloud donc.

Je crois qu'il est possible de créer une entrée dans la base directement depuis le navigateur, mais je préfère comme je fais pour l'instant ;)

** Si vous avez plusieurs comptes associés à une même URL, KeePassXC-Browser vous demandera lequel choisir :

Plusieurs comptes détectés pour une URL

** Si KeePassXC-Browser n'arrive pas à détecter les champs de login/mot de passe sur un site, vous pouvez cliquer sur l'extension puis Choose custom login fields. Identifiez alors d'abord sur le champ “nom de compte” sur la page de connexion, puis sur le champ “mot de passe” (puis il vous demande une 3ème étape pour un TOTP, Time-based-One-time-Password, vous pouvez faire Skip), puis confirmer.

Bouton Choose custom login fields

Choix de champs username/password dans une page web quand les champs ne sont pas directement détectés


Synchronisation sur mobile

Sur mobile, je vous conseille d'installer les applications libres Nextcloud et KeePassDX, toutes deux disponibles sur F-Droid et Google Play. N'hésitez pas à installer et à prendre dès maintenant l'habitude d'utiliser le catalogue d'applications libres et open-source F-Droid !

Pour vous connecter la toute première fois à votre compte Nextcloud depuis mobile, vous pouvez copier votre mot de passe et vous l'envoyer de manière sécurisée depuis l'ordinateur jusqu'au téléphone avec https://privatebin.net/ (ou toute autre instance de privatebin) en cochant Burn after reading et en mettant un mot de passe (simple celui-là, pour l'écrire facilement depuis mobile !), ou avec Signal par exemple.

À partir de maintenant, pour ouvrir votre base de données, je vous recommande de toujours passer par l'application Nextcloud et de cliquer sur votre fichier base (ce qui ouvrira automatiquement la base dans KeePassDX), plutôt que d'ouvrir KeePassDX et d'aller chercher la base. De cette façon, à chaque fois que vous cliquez dessus dans Nextcloud, il mettra la base à jour en la téléchargeant depuis le serveur.

Si vous faites une modification de la base depuis votre mobile dans KeePassDX (ajout d'une entrée, modification d'un mot de passe, etc.), pensez à : 1. Sauvegarder la base dans KeePassDX : les trois petits points en haut à droite puis Save database ; 2. Envoyer le fichier sur le serveur Nextcloud : aller dans l'application mobile Nextcloud, les trois petits points à droite de votre fichier base, puis Sync pour envoyer cette version modifiée de la base.


Voir aussi