Les greffons (2.x)

Installation, désinstallation et sécurité des greffons de KeePass 2.x.


Introduction

KeePass dispose d'un framework de greffon. Les greffons peuvent fournir des fonctionnalités supplémentaires, telles que la prise en charge de davantage de formats de fichiers pour l'importation/exportation, les fonctionnalités réseau, les fonctionnalités de sauvegarde, etc.


Ressources en ligne

Les greffons se trouvent sur la page des greffons.


Installation et désinstallation

S'il n'y a pas d'instruction explicite pour savoir comment installer un greffon, alors procédez comme suit :

  1. Téléchargez le greffon à partir de la page ci-dessus et décompressez le fichier ZIP dans un nouveau répertoire.
  2. Dans KeePass, cliquez sur 'Outils' → 'Greffons (Plug-in)...' → bouton 'Ouvrir dossier' ; KeePass ouvre maintenant un répertoire appelé 'Plugins'. Déplacez le nouveau répertoire (contenant les fichiers du greffon) dans le répertoire 'Plugins'. Quand on utilise plusieurs greffons, on les enregistre dans des répertoires séparés, car c'est avantageux (aucune collision de nom de fichier, une mise à jour plus facile, etc.).
  3. Redémarrez KeePass afin de charger le nouveau greffon.

Pour désinstaller un greffon, supprimez les fichiers du greffon.

Linux :
Sur certains systèmes Linux, le paquet mono-complete peut être nécessaire au bon fonctionnement des greffons.

Portabilité :
Les greffons PLGX sont compilés par KeePass et les fichiers générés sont stockés dans un cache de greffon, qui se trouve par défaut dans le répertoire de données d'application de l'utilisateur (par conséquent, l'exécution d'un greffon PLGX crée par défaut des fichiers en dehors du répertoire de l'application KeePass). Ces fichiers de cache de greffon n'ont donc pas besoin d'être copiés sur d'autres systèmes, car ils sont générés sur chaque système et ne contiennent aucune donnée utilisateur.


Sécurité

Les greffons doivent être stockés dans le dossier 'Plugins' dy répertopire de l'application KeePass. Un attaquant qui peux copier un greffon malicieux dans ce dossier pourrait également typiquement remplacer le fichier 'KeePass.exe' par un malware. En tant que protection contre de telles attaques, un système de fichier approprié access control list (ACL) devrait être utilisé (pour le répertoire de l'application KeePass dans sa totalité, incluant le dossier 'Plugins'); les privilèges de l'administrateur devraient être repquis pour l'accès en écriture.

  • L'installateur KeePass et le paquetage MSI package installent KeePass dans le dossier Programmes par défaut. Ce répertoire a typiquement une ACL appropriée, et le répertoire de l'application KeePass hérite de cette ACL. Donc, vous ne devez pas spécifier une ACL amnuellement.
  • Si vous installez KeePass dans un dossier différent ou si vous utilisez l'application portable, alors il est recommandé que vous spécifiez une ACL manuellement.

DLL vs. PLGX:
KeePass prend en charge deux format de fichier de greffon : DLL et PLGX. Un greffon DLL est chargé directement, tandis que KeePass doit d'abord compiler un greffon PLGX vers un greffon DLL, qui est stocké dans le cache greffon (voir la section ci-dessous).

Par défaut, l'utilisateur a le droit en écriture sur le dossier du cache des greffons PLGX (sans les privilèges de l'administrateur). Ceci n'est pas une vulnérabilité de sécurité. Supposons que l'attaquent a accès en écriture sur le dossier du cache de greffon et que le but est l'exécution de code. Le dossier du cache de greffon est typiquelement situé dans le répertoire du profil de l'utlisateur et a la même ACL, c'est-à-dire l'accès en écriture dans le dossier du profil de l'utilisateur. Avec ceci, il y a plusieurs façons d'éxécuter un malware (quelques exemples peuvent être trouvés ici : 'Accès en écriture vers le fichier de configuration'). Un malware autonome peut également être spécifié sur l'attaque de KeePass (voir 'Espion spécialisé'); il n'a pas besoin d'être un greffon pour ceci. De plus, un scanne logiciel d'anti-virus parcourt tous les fichiers contenant du code exécutable (EXE, DLL, etc.); un malware est soit détecté ou non, indépendamment du dossier du profile utilisateur où il est stocké.

Si vous vous souciez à propos de ceci alors de toute façon, considérez d'ajuster l'ACL du dossier de cache de greffon PLGX pour nécessiter les privilèges de l'administrateur pour un accès en écriture. Remarquer que bien que cela peut engendrer que les greffons ne fonctionnent plus correctement (ceux qui supposent d'avoir un accès en écriture dans le dossier du cache des greffons), et l'option de KeePass 'Supprimer les anciens fichier du cache' pourrait également ne plus fonctionner du tout.

Dans le cas d'un double package (DLL et PLGX dans le même dossier), KeePass charge le fichier DLL (et ignore le fichier PLGX), si possible.


Le cache

Les greffons PLGX (et non les greffons DLL) sont compilés et stockés dans un répertoire de cache de greffons sur le système de l'utilisateur. Ce cache améliore considérablement les performances de démarrage de KeePass. Les anciens fichiers sont normalement supprimés automatiquement du cache (ceci peut être désactivé dans la boîte de dialogue des greffons). Le cache ne contient aucune donnée utilisateur.

Par défaut, le cache de greffon est situé dans le répertoire de données d'application locale de l'utilisateur (%LOCALAPPDATA%\KeePass\PluginCache). Cependant, ceci peut être remplacé à l'aide du paramètre Application/PluginCachePath du fichier de configuration imposée (ce paramètre prend en charge les paramètres substituables et les variables d'environnement). Ainsi, si vous utilisez, par exemple, KeePass sur un périphérique portable et ne souhaitez pas que le cache se trouve sur le système, alors vous pouvez définir le chemin d'accès vers {APPDIR}\PluginCache.

Attention Ne déplacez pas le cache de greffon dans le répertoire 'Plugins' du répertoire de l'application KeePass, car cela peut entraîner une grave dégradation des performances.