14/11/2024

CybersécuritéLogiciels

Comment durcir la configuration de KeePass ?

I. Présentation

Dans cet article, nous allons voir comment durcir la configuration du gestionnaire de mots de passe KeePass afin de mieux protéger des attaques les coffres-forts de mots de passe.

Pour atteindre cet objectif et effectuer le hardening de KeePass, nous allons utiliser un fichier de configuration de KeePass prêt à l'emploi et disponible sur le GitHub du projet "KeePass Enhanced Security Configuration" (découvert ici) :

Voici quelques-unes des règles de durcissement mises en œuvre :

  • Définir la politique du mot de passe maître sur 16 caractères minimum
  • Activer la fonctionnalité "Secure Desktop" de KeePass pour se protéger de certaines menaces (keylogger, par exemple) - Mesure de protection indispensable !
  • Activer le verrouillage automatique après 10 minutes d'inactivité
  • Nettoyer le presse-papiers au bout de 10 secondes quand une information est copiée en mémoire
  • Bloquer l'installation de plugins KeePass
  • Bloquer l'importation de données dans une base KeePass
  • Bloquer l'exportation des données contenues dans une base KeePass
  • Empêcher l'affichage des mots de passe (en clair) sur les entrées existantes
  • Désactiver la vérification automatique des mises à jour
  • Etc.

Par ailleurs, les ACL sur le répertoire d'installation de KeePass seront modifiées de façon à ce qu'il n'y ait que l'utilisateur à l'origine de l'installation de KeePass qui puisse accéder à ce répertoire.

Remarque : dans cet article, nous allons renforcer la sécurité de l'application KeePass. Ceci n'est pas compatible avec KeePassXC.

II. Utilisation de KeePass Enhanced Security Configuration

A. Durcir une nouvelle installation ou une installation existante de KeePass

Après avoir téléchargé l'archive ZIP du projet depuis GitHub, vous obtenez un répertoire avec un script PowerShell et un fichier de configuration au format XML.

Fichier config KeePass Hardening

Avant d'aller plus loin, sachez qu'il y a deux cas de figure et que ceci va impacter la manière dont vous devez utiliser cet outil :

  • Vous avez déjà KeePass et vous souhaitez durcir la configuration de l'installation existante
  • Vous n'avez pas encore KeePass et vous souhaitez l'installer tout en bénéficiant d'une configuration durcie

Si vous avez déjà KeePass sur votre PC, vous devez simplement copier le fichier "KeePass.config.enforced.xml" à la racine du répertoire d'installation de KeePass. Ainsi, au prochain lancement de KeePass, les paramètres contenus dans ce fichier seront appliqués !

Si vous partez de zéro, vous pouvez exécuter le script PowerShell car il va télécharger KeePass (depuis la source officielle), installer l'application et copier également le fichier de configuration.

Dans cette démonstration, le script PowerShell est exécuté :

.\KeePass_Secure_Auto_Install.ps1 -EnforceACL $true

Le paramètre "-EnforceACL $true" est facultatif, mais grâce à lui, les permissions (ACL) sur le répertoire de KeePass seront modifiées. Par ailleurs, vous pouvez utiliser un autre fichier XML en spécifiant son chemin via le paramètre "-ConfigFile". Quelques secondes suffisent pour déployer KeePass avec une configuration durcie.

Installation de KeePass - Durcissement configuration

L'installation est installée dans le répertoire "C:\Program Files\KeePass Password Safe 2". Si l'on regarde les permissions sur ce dossier, il n'y a que l'utilisateur "Florian B", utilisé pour procéder à l'installation, qui a des autorisations. Par défaut, les autorisations sont plus permissives avec notamment un droit de lecture pour tous les utilisateurs.

Hardening KeePass - ACL

B. Aperçu de la configuration durcie

Au prochain lancement ou au premier lancement de KeePass pour les nouvelles installations, vous pourrez accéder aux options afin de constater que certaines options sont préconfigurées pour respecter les bonnes pratiques. Ces options sont grisées, car elles sont gérées par la politique. Ceci est possible grâce à notre fichier de configuration XML.

Vous pouvez voir que certaines fonctionnalités sont désactivées : export des entrées, impression des entrées, etc...

Hardening KeePass - Aperçu de la stratégie

D'ailleurs, vous pouvez tester l'efficacité de cette configuration par la pratique. Si vous ouvrez une base KeePass et que vous cliquez sur "File" puis "Export...", vous allez obtenir une erreur : "This operation is disallowed by the application policy.". En temps normal, cette action permet de lancer l'assistant permettant d'exporter les entrées d'une base KeePass.

Hardening KeePass avec une stratégie : export bloqué

Il y a deux options qui jouent un rôle clé dans le durcissement de la configuration de KeePass :

  • Remember master password (in encrypted form) of a database while it is open (option à désactiver)
  • Enter master key on secure desktop (option à activer)

La seconde option est activée par la politique, mais pas la première. Vous devez décocher cette option dans les paramètres de KeePass, comme ceci :

KeePass - Remember master password of a database

Sachez que vous pouvez personnaliser la politique de durcissement pour l'adapter à vos besoins (consultez cette page pour vous aider). Si vous pouvez garder celle-ci, c'est tant mieux !

III. Les outils pour attaquer une base KeePass

Comme toutes les applications, KeePass est parfois affecté par des failles de sécurité. Plus ou moins graves, elles peuvent permettre dans le pire des cas de compromettre une base KeePass.

À part cela, il existe plusieurs outils que l'on peut utiliser pour s'attaquer à une base KeePass et que l'on va pouvoir bloquer grâce au durcissement de la configuration effectué précédemment. Par ailleurs, il est important de noter que ces outils sont détectés et bloqués par Microsoft Defender.

Voici quelques exemples :

  • kesspass2john avec John The Ripper

Grâce à keepass2john, nous allons pouvoir utiliser l'outil John The Ripper pour réaliser une attaque brute force sur la base KeePass dans l'objectif de deviner le mot de passe maître et accéder au coffre.

L'outil KeeThieft est compatible avec KeePass 2.X et il va permettre d'extraire des informations sur le mot de passe maître à partir de la mémoire du système.

L'outil KeeFace est également compatible avec KeePass 2.X et il va permettre d'extraire les identifiants en clair (nom d'utilisateur, mot de passe, note et URL) vers un fichier CSV, à partir des informations contenues en mémoire.

  • Keylogger

Un keylogger présent sur votre machine pourrait capturer silencieusement les frappes au clavier d'un utilisateur. Ceci pourrait permettre de voler le mot de passe maître au moment où vous le saisissez.

Pour approfondir cette partie, vous pouvez lire cet article et celui-ci.

IV. Conclusion

Suite à la lecture de ce tutoriel, vous êtes en mesure de mieux protéger vos coffres KeePass (fichiers KDBX) et les identifiants qu'ils contiennent ! Au-delà de ce hardening, nous vous recommandons d'utiliser un fichier de clé (key file) en plus du mot de passe maître et de stocker ce fichier sur un support indépendant.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

2 commentaires sur “Comment durcir la configuration de KeePass ?

  • Bonjour.

    Merci pour ce tutoriel. Toujours au top.
    J’utilise justement keepass xc.

    Les fichiers permettant de durcir keepass me sont donc inutiles ?

    Il me faudra simplement suivre les règles de durcissement ?

    Merci à vous.

    Répondre
  • Salut merci pour le tuto j’ai un souci de Invoke-WebRequest Enable JavaScript and cookies to continue du coup je n’ai pas pu continuer le script…

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.