Ajouter un dictionnaire de mot de passe français à une AppImage KeepassXC
Sommaire
Contexte
J’utilise le gestionnaire de mot de passe KeepassXC depuis déjà un moment. Ce logiciel intègre tous mes besoins que ce soit au niveau professionnel comme personnel. En particulier les fonctionnalités qui me sont le plus utiles sont :
- Un générateur de mot de passe pour les nouvelles inscription.
- La gestion des clés ssh avec la possibilité de l’utiliser comme « agent ssh » (j’y reviendrai dans un futur article).
- La gestion des mot de passe à usage unique basé sur le temps (là aussi je prévois un article sur ce sujet dans le futur).
- La connexion par l’intermédiaire d’un module à Firefox, ce qui permet l’enregistrement direct des nouveaux identifiants et la complétion automatique des champs pour les nouvelles connexions.
Le générateur de mot de passe comprend plusieurs options.
Outre le classique générateur de mot de passe aléatoire avec de nombreux choix sur les types de caractères à utiliser (figure 1), l’option qui va nous intéresser aujourd’hui est la capacité à générer des phrases de passe. Ceci consiste à générer une suite aléatoire de mots à partir d’un dictionnaire (liste de mots). Sur la figure 2 ci-dessus on peut voir l’option « liste de mots » qui permet de choisir le dictionnaire à utiliser.
L’intérêt des phrases de passe c’est qu’elles sont généralement plus facile à retenir qu’un mot de passe aléatoire. C’est une façon de concevoir ses mots de passe qui a été popularisée par la célèbre BD en ligne XKCD et son cheval qui dit vrai concernant l’agrafeuse à batterie.
Dans mon expérience, ceci rend également les mots de passe plus faciles à taper, en particulier, pour les utilisateurs lambda qui ne connaissent pas leur clavier par cœur.
La sécurité repose ici sur :
- Le dictionnaire et il faut donc s’assurer que celui-ci comprenne suffisamment de mots différents.
- Le nombre de mots choisis (4 semble un minimum, mais ça dépend aussi de leur complexité)
- Le fait que les mots soit réellement choisi au hasard, et c’est pourquoi on doit utiliser un logiciel comme KeepassXC pour les générer.
Le problème
KeepassXC permet donc de générer des phrases de passe à partir d’un dictionnaire. Il permet aussi de choisir le dictionnaire à utiliser. Sauf que en pratique la liste ne contient que le dictionnaire de mots anglais livré par défaut. Un petit passage par la documentation indique plus ou moins clairement que sous Linux il suffit d’ajouter le fichier au dossier /usr/share/keepassxc/wordlists/
pour pouvoir le sélectionner dans le menu. Et ça marche ! Sauf que… En fonction de comment on installe KeepassXC ça peut ne pas marcher.
Des deux façons d’installer KeepassXC sous Linux
a) Les paquets fournis
On peut simplement installer le paquet livré par sa distribution et c’est la façon recommandé la plupart du temps. Par exemple sous Debian :
sudo apt get install keepassxc
Cependant on se retrouve alors avec la dernière version fournit par sa distribution et ce n’est pas forcement la plus récente. Par exemple à l’heure où j’écris ceci, la version stable de Debian offre le paquet 2.6.2
apt-cache policy keepassxc
keepassxc:
Installé : (aucun)
Candidat : 2.6..2+dfsg.1-1
Table de version :
2.6.2+dfsg.1-1 500
500 http://ftp.ro.debian.org/debian bullseye/main amd64 Packages
Et le site de KeepassXC nous indique que la dernière version est 2.6.61
b) Le fichiers AppImage fournis par le site officiel de KeepassXC
Si on veut la dernière version on doit alors se tourner vers le AppImage fournit sur leur site. En gros c’est un fichier exécutable qu’il suffit de télécharger, d’y ajouter les droits d’exécution (avec chmod +x «nom du fichier»
), pour pouvoir le lancer directement. Mais si l’on se rend dans le menu de génération de phrases de passe une mauvaise surprise nous attend :
La solution : extraire un fichier AppImage et le reconstruire
Récupérer l’outil AppImage Tool
Si on ne l’a pas déjà, on récupère cet outil depuis le dépôt Github (c’est lui aussi une AppImage !) et on lui donne les droits d’exécution
wget 'https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage' -O ./appimagetool
chmod 750 ./appimagetool
Téléchargement de la dernière version de KeepassXC en AppImage
On ajoute là aussi les droits d’exécution au fichier
curl -s 'https://github.com/keepassxreboot/keepassxc/releases/latest' | sed 's#^.*tag/\([^"]*\)">.*$#https://github.com/keepassxreboot/keepassxc/releases/download/\1/KeePassXC-\1-x86_64.AppImage#g' | wget -O ./keepassxc-orig.AppImage -qi -
chmod 750 ./keepassxc-orig.AppImage
Extraction de l’AppImage de KeepassXC et ajout du dictionnaire
L’option --appimage-extract
permet, quand cela est possible d’extraire une AppImage
./keepassxc-orig.AppImage --appimage-extract
On se retrouve avec un dossier squashfs-root
qui contient le système de fichier avec lequel fonctionne l’AppImage. Il suffit d’ajouter le fichier de dictionnaire dans le dossier squashfs-root/usr/share/keepassxc/wordlists
pour que une fois reconstruit, KeepassXC reconnaissent ce dictionnaire.
cp /chemin/vers/mon/dictionnaire/dic_fr.wordlist ./squashfs-root/usr/share/keepassxc/wordlists/
Reconstruire l’AppImage
Enfin pour finir on va reconstruire l’AppImage et lui donner les droits d’exécution
./appimagetool -v ./squashfs-root/
chmod +x ./KeePassXC-x86_64.AppImage
On obtient un nouveau fichier KeePassXC-x86_64.AppImage
qui est notre AppImage KeepassXC patché avec notre dictionnaire.
-
La version 2.6.6 se trouve maintenant sur les dépots
testing
de Debian depuis la dernière mise à jour de Debian stable vers Bullseye. ↩︎