KeePass est une excellente base de données de mots de passe open source, avec de nombreux plugins, forks et fonctionnalités. Cependant, il lui manque une fonctionnalité de support utilisateur / mot de passe. Alors, comment pouvons-nous avoir une base de données principale avec tous les utilisateurs / mots de passe et donner des permissions de lecture / écriture à différents utilisateurs ou départements ?
Il existe deux façons de remédier à cela. La première consiste à acheter une version entreprise d’un logiciel compatible avec KeePass, tel que LastPass, Keeper, Pleasant, enpass, 1password, etc. Faites un peu de recherche, peut-être inscrivez-vous à un essai de chaque logiciel, puis décidez lequel convient le mieux à votre organisation ou à votre cas d’utilisation. La deuxième façon est un petit hack : utiliser le plugin KeePassSubsetExport, qui convient parfaitement aux installations domestiques et aux petites et moyennes entreprises (PME).
Cette configuration fonctionne étonnamment bien. Nous avons essentiellement une base de données principale KeePass avec toutes les entrées, puis, en fonction des balises de chaque entrée, KeePassSubsetExport gère la création d’une base de données KeePass distincte utilisant ces balises et quelques paramètres spécifiques. Ces exports de KeePass sont très pratiques, car ils peuvent être créés à des emplacements différents, avec des noms différents et des mots de passe de base de données différents. Ainsi, nous pouvons avoir différentes bases de données KeePass pour le développement, les systèmes, le réseau, l’intégration continue, la gestion, etc.
Je vais expliquer étape par étape comment configurer cela avec une nouvelle base de données KeePass que je vais créer pour cette tâche.
Étape 1 – Installation de KeePass pour Windows
Commencez par installer KeePass pour Windows. Une fois installé, créez une nouvelle base de données appelée “RootDatabase” et enregistrez-la dans un nouveau dossier “KDB” dans vos documents.
Étape 2 – Installation du plugin KeePassSubsetExport
Allez sur la page du projet KeePassSubsetExport : https://github.com/lukeIam/KeePassSubsetExport/releases et téléchargez le fichier KeePassSubsetExport.plgx depuis la dernière version disponible.
Une fois téléchargé, déplacez-le dans le dossier des plugins KeePass (généralement C:Program Files (x86)KeePass Password Safe 2Plugins).
Étape 3 – Redémarrage de KeePass
Fermez et rouvrez KeePass pour charger les nouveaux plugins.
Étape 4 – Ajout d’entrées et de balises
Ajoutez quelques entrées dans KeePass et ajoutez des balises à ces entrées. Pour ce faire, copiez les deux exemples dans le dossier racine, déplacez ces entrées vers le dossier Windows et renommez-les en “DEV” (double-cliquez sur chaque entrée pour les modifier).
Maintenant, ajoutez une balise à ces deux entrées dans le dossier Windows en les sélectionnant toutes les deux, en cliquant avec le bouton droit de la souris, puis en sélectionnant “Modifier l’entrée (rapide) > Ajouter une balise > Nouvelle balise > DEV”.
Répétez cette étape, mais cette fois-ci, renommez les entrées en “DOP” et déplacez-les dans le dossier Internet. Ajoutez ensuite la balise DOP de la même manière que précédemment.
Étape 5 – Configuration du plugin
Nous allons maintenant configurer le plugin pour que chaque fois que nous sauvegardons la base de données KeePass, deux bases de données supplémentaires soient créées : une pour le développement (balise : DEV) et une autre pour le DevOps (balise : DOP).
Pour cela, créez un dossier appelé “SubsetExportSettings” et à l’intérieur, créez deux entrées : “SubsetExportDEV” et “SubsetExportDOP”. Voici comment procéder :
- Sélectionnez le dossier racine dans KeePass, faites un clic droit et sélectionnez “Ajouter un nouveau groupe > SubsetExportSettings”.
- Sélectionnez le groupe nouvellement créé, ajoutez une nouvelle entrée (Ctrl+i) nommée “SubsetExportDEV” et entrez le mot de passe souhaité pour cette base de données KeePass exportée (le mot de passe principal de KeePass).
- Ajoutez un nouveau champ de texte en sélectionnant l’entrée “SubsetExportDEV”, puis en cliquant avec le bouton droit de la souris, sélectionnez “Dupliquer l’entrée (Ctrl+k)”. Renommez la nouvelle entrée en “SubsetExportDOP” et modifiez les paramètres en conséquence (balise DEV modifiée en DOP et chemin d’accès de destination modifié en “C:UsersvotreutilisateurDocumentsKDBDOPkdb-DOP.kdbx”).
C’est tout, tout est maintenant configuré !
Étape 6 – Sauvegarde et vérification
Sauvegardez la base de données KeePass et vérifiez que les autres bases de données ont été correctement créées aux emplacements spécifiés, avec leurs mots de passe appropriés, et que nous ne pouvons voir que les entrées marquées comme nous le souhaitons (notez que les groupes vides ne sont pas exportés, donc DEV n’aura que le groupe Windows et DOP n’aura que le groupe Internet).
Comme nous pouvons ouvrir plusieurs bases de données KeePass en même temps, je vous suggère d’ouvrir nos 3 bases de données et de les comparer.
Une astuce que j’utilise pour vérifier différentes bases de données KeePass consiste à aller dans le champ de recherche de KeePass, à appuyer sur Entrée, ce qui affiche toutes les entrées de la base de données dans le volet de droite, mais surtout affiche le nombre total d’entrées de la base de données ouverte dans la barre d’état en bas.
Maintenant, changez d’onglets pour les autres bases de données KeePass, tapez dans la boîte de recherche et comparez les résultats sur les 3 bases de données KeePass différentes.
Remarques finales
Pour utiliser cette configuration dans un environnement réseau, nous pouvons configurer les chemins d’accès des exports à l’aide d’URN, de sorte que nous puissions exporter directement vers un chemin tel que “nas-box01devdev.kdbx”. De cette manière, nous pouvons utiliser une protection supplémentaire pour chaque base de données en utilisant les autorisations de l’utilisateur sur le dossier et le fichier, en plus du mot de passe principal de KeePass. Ainsi, un utilisateur devra avoir accès au dossier, au fichier de la base de données KeePass et au mot de passe de la base de données KeePass, ce qui est assez sécurisé (si une sécurité supplémentaire est nécessaire, un fichier de clé KeePass peut être ajouté à l’équation – reportez-vous à la documentation KeePass).