Informagicien, crypto-enthousiaste, adorateur des internets 2.0, des chats et des logiciels libres

Dévérouiller KeepassX de façon automatique sous GNU/Linux

Publié le lundi 15 février 2016, par Djan

Mis à jour le lundi 31 octobre 2016

Mots clés : Keepass, sécurité,

KeepassX est un outil fabuleux pour gérer ses mots de passes. À tel point que je ne peux plus m’en passer. Je me retrouve donc à ouvrir ma base de données keepass plusieurs fois par jour ce qui est un peu contraignant parfois.

J’essaie d’avoir une sécurité assez avancée (sans être optimale). Ainsi j’utilise le même mot de passe pour ouvrir ma session et ma base de données keepass. Je sais pertinemment que la personne qui réussi à avoir un accès physique à ma machine et qui en plus détiens mon mot de passe de session peut avoir accès à mon navigateur et ma messagerie et de là réinitialiser tous mes comptes. J’utilise ecryptfs fourni en standard avec Linux Mint pour chiffrer mon home et donc le trousseau gnome. Je fais confiance à la sécurité de ces logiciels.

Partant de là je me suis demandé s’il existait un moyen de déverrouiller sa bdd keepass au lancement de la session sans l’écrire en clair. Une personne a déjà demandé et on lui a répondu sèchement que cela induirait une faille de sécurité béante et que la fonctionnalité ne serait jamais incluse dans le logiciel. Peu importe sous GNU/Linux on peut faire tout ce qu’on veut, y compris créer une fonctionnalité qui n’existe pas.

Soyez conscient que cela peut affecter la sécurité de votre base de donnée

Pour commencer il faut installer le paquet libsecret-tool pour faire appel au trousseau de clés Gnome en ligne de commandes ainsi que xdotool qui permet d’utiliser un clavier virtuel en ligne de commande.

J’utilise Linux Mint, ces commandes fonctionneront sous Debian et dérivés (HandyLinux, Ubuntu, Xubuntu, Lubuntu, Linux Mint...) si vous êtes sur une autre distribution il faudra adapter les commandes.

Ensuite on va stocker notre mot de passe de la base dans le trousseau de clés qui est normalement déverrouillé au lancement de la session. Si ce n’est pas le cas il faut vérifier que le paquet libpam-gnome-keyring est bien installé.

Ensuite tapez votre mot de passe KeepassX.

Enfin nous allons créer un script bash (j’utilise nano pour cela) avec la commande qui permet de lancer keepassX avec les informations du trousseau gnome.
N’oubliez pas de changer les variables pour correspondre à votre configuration.

Rendez votre script exécutable avec un chmod.

Il suffit maintenant de l’exécuter pour que votre base de données s’ouvre toute seule.
Le mot de passe n’est pas en clair dans le script il faut donc que votre session et le gnome-keyring soit déverrouillé.

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)