Vendredi 23 novembre 2018

URL: https://linuxfr.org/news/gestionnaires-de-mots-de-passe Title: Gestionnaires de mots de passe Authors: axac Davy Defaud, cacatoès, Benoît Sibaud, Olivier HUMBERT, Bruno Michel, ZeroHeure, Nils Ratusznik, Envel Le Hir, mathrack, ComputingFroggy, Nicolas Casanova, palm123, Bilbo et Cliclac Date: 2018-01-05T00:42:52+01:00 License: CC by-sa Tags: gestionnaire_de_mots_de_passe et mot_de_passe Score: 65

La tâche première d’un gestionnaire de mots de passe est de garder en sécurité des informations sensibles (mots de passe, identifiants, adresses URL…) et de pouvoir les restituer de façon commode.

Certains gestionnaires permettent de générer des mots de passe à la demande : l’utilisateur n’a alors même plus besoin de voir ou de connaître le mot de passe, hormis le mot de passe maître (qui donne accès à tous les autres), et peut multiplier l’opération pour créer autant de mots de passe qu’il le souhaite. Sans avoir la prétention de résoudre toutes les questions relatives à la sécurité et à l’usage de mots de passe, cette pratique pourrait contribuer à augmenter leur sûreté d’un cran en dissuadant les usagers de réutiliser le même mot de passe pour des comptes différents, réduisant ainsi l’impact de leur compromission sur les serveurs (qui est un problème concret, comme peut l’illustrer le site Have I Been Pwned).

Il existe pléthore de gestionnaires, qui se distinguent par plusieurs critères :

  • logiciel libre ou propriétaire ;
  • sécurité (audits réalisés, utilisation d’algorithmes de chiffrement sérieux et non dépassés…) ;
  • synchronisation possible ou non entre plusieurs emplacements ou appareils ;
  • facilité d’utilisation (intégration avec les navigateurs) ;
  • disponibilité sur différents systèmes d’exploitation ;
  • format de stockage (portabilité) ;
  • type d’utilisation (personnel, groupe).

Nous n’en présentons ici qu’une sélection. Notre choix s’est d’abord porté sur des logiciels libres et supportés par une communauté active ; de même, il est important qu’ils soient disponibles sur un maximum de plates‐formes avec au moins une possibilité de synchronisation (Git, WebDAV, Dropbox…) pour pouvoir fonctionner au sein d’une famille ou d’un groupe. Le choix est forcément arbitraire et dépend aussi de la disponibilité et de la bonne volonté des rédacteurs.


Page Wikipédia sur les gestionnaires de mots de passe Journal LinuxFr.org sur KeePassXC-Browser Journal LinuxFr.org sur le gestionnaire de mots de passe Hutch Journal LinuxFr.org sur le gestionnaire de mots de passe Bitwarden


KeePass

Ce gestionnaire de mots de passe utilise une base de données et possède plusieurs interfaces graphiques très agréables et modernes. Il y a de multiples options de configuration et il est à la portée d’un utilisateur lambda sans grande connaissance de l’informatique. Son format (kdbx) est très largement utilisé sur la plupart des plates‐formes. Tous les mots de passe ainsi que les autres informations (identifiants, URL, notes) se trouvent dans une base de données chiffrée ; ainsi, il n’y a qu’un seul fichier à gérer. Il est soutenu par une importante et vivante communauté qui écrit de nombreux greffons et est publié sous licence GPL v2+.

Clients graphiques

Il existe de nombreuses applications utilisant le format de KeePass (extension .kdbx), elles ont des interfaces plus ou moins évoluées, certaines permettent la synchronisation, d’autres non, le nombre d’options dans la configuration diffère (j’ai mis en lien celles qui me paraissaient les plus importantes). On peut même s’en servir sous forme d’application Web. Il vous suffit donc d’un navigateur et d’une clef USB contenant votre base de données et vous pouvez utiliser vos mots de passe à l’aide de KeeWeb :

Sécurité

KeePass va être audité prochainement par le biais d’une entreprise pour améliorer sa sécurité grâce à un financement de la commission européenne. Il est même recommandé par l’État français et l’ANSSI :

  • fichier maître ;
  • mot de passe ;
  • OTP ;
  • empreinte digitale ;
  • partage.

Synchronisation

Il est possible de l’utiliser en local ou, si vous utilisez plusieurs appareils, même sur différents systèmes, de synchroniser votre base de données par divers protocoles ou services, que ce soit en auto‐hébergement ou par le biais de services propriétaires :

  • Dropbox ;
  • OneDrive ;
  • Google Drive ;
  • owncloud et Nextcloud ;
  • transfert de fichiers SSH/SFTP ;
  • FTP/FTPS ;
  • HTTP/HTTPS.

Importation et exportation

On peut exporter et importer plusieurs types de format, cela vous permettra ainsi de rapatrier vos données depuis d’autres gestionnaires de mots de passe pour les convertir en .kdbx, ainsi que d’utiliser vos données dans d’autres gestionnaires.

  • types de fichier importés : CSV, XML, KDBX et KDB ; ceci permet de récupérer ses mots de passe sur des services tiers (1Password, Lastpass, Enpass…) ;
  • types de fichier exportés : HTML, CSV, XML, KDBX et KDB ; ainsi, il est possible de changer pour Password-store ou d’autres gestionnaires (propriétaires ou pas).

Fonctionnalités

  • auto-remplissage : auto‐complétion, intégration au navigateur grâce à cette extension KeePassHttp-Connector pour Chrome et Firefox ;
  • Firefox : Kee, Passifox, KeePass XC, KeePass Tusk, KeePassHelper Password Manager ;
  • Chrome : PassIFox, ChromeIPass ;
  • Safari : passafari.safariextension ;
  • générateur de mots de passe :
  • nombre de caractères, types de caractères (caractères spéciaux, chiffres, majuscules, minuscules …),
  • répétition ou non des caractères,
  • inclusion de caractères personnalisés,
  • suivant un algorithme,
  • prévisualisation ;
  • expiration du mot de passe ;
  • gestion du presse-papiers ;
  • durée de disponibilité.

Password-store

Password Store ou pass, est un gestionnaire de mots de passe minimaliste d’abord conçu pour être utilisable en ligne de commande, mais sur lequel peuvent se greffer d’autres interfaces. Il permet de stocker les mots de passe, ou bien des textes arbitrairement formés, dans des fichiers texte chiffrés avec GPG. Il est publié sous licence GPL v2+.

L’outil est plutôt agnostique de son environnement, c’est‐à‐dire que vous devrez vous‐mêmes réaliser l’intégration pour qu’il corresponde à vos usages.

La première étape consiste donc à décider sous quelle forme les mots de passe seront stockés. Un besoin courant étant de stocker les mots de passe de sites Web, il est suggéré de créer un fichier pour chaque site, contenant le mot de passe suivi du nom d’utilisateur dans une seconde ligne, ce qui donnerait, par exemple, pour un fichier nommé web/linuxfr.org :

SuPeR_mOt_De_PaSsE
login: jean-yvonne

Il semble en effet judicieux de structurer un minimum le fichier, comme ici avec YAML. Cette convention simple (1ʳᵉ ligne = mot de passe, 2ᵈᵉ ligne = login) est déjà utilisée par d’autres outils écrits par la communauté, comme les extensions navigateur et certains scripts.

Pass propose de se greffer sur un dépôt Git pour accroître ses fonctionnalités. Chaque opération réalisée sur les mots de passe entraînera un commit. Outre le versionnage, cela peut permettre de synchroniser plus facilement ses mots de passe entre différents postes.

Pass est donc un bon candidat pour s’imbriquer dans d’autres outils, cependant les navigateurs sont rarement pensés pour être modulaires (à quelques exceptions près comme [[Uzbl]]), ce qui fait que l’intégration sera difficilement parfaite.

En cadeau pour les administrateurs utilisant Ansible, celui‐ci intègre un greffon de type Lookups qui vous permettra de chiffrer des fichiers de variables via votre instance pass, tenant un rôle similaire à Ansible Vault.

Clients graphiques

Des interfaces sont disponibles pour de nombreux systèmes et sont déjà utilisables tout en étant en développement actif :

Sécurité

L’intégration d’OpenKeychain dans la version Android permet d’importer sa clef PGP très facilement, il en est de même sur votre ordinateur. Il est aussi possible d’importer ou de générer une clef SSH :

  • PGP ;
  • SSH ;
  • mot de passe.

Synchronisation

Il vous faudra connaître les rudiments de Git si vous voulez l’utiliser sur plusieurs appareils avec une synchronisation, il existe pour cela plusieurs tutoriels. Sinon, l’usage de Git n’est pas obligatoire et vous pouvez utiliser pass sans nécessairement y associer un dépôt.

Importation et exportation

De nombreux scripts ont été écrits par la très active communauté pour faciliter la migration vers Password Store. Que ce soit en provenance d’outils propriétaires ou libres (voir l’outil pass-import), tels que :

  • 1Password ;
  • KeePass ;
  • LastPass ;
  • Firefox ;
  • KWallet ;
  • etc.

Fonctionnalités

  • auto‐remplissage : auto‐complétion, intégration au navigateur ;
  • Firefox : passff, Browserpass ;
  • Chrome : Browserpass ;
  • générateur de mots de passe :
  • répétition ou non des caractères,
  • inclusion de caractères personnalisés,
  • suivant un algorithme,
  • prévisualisation ;
  • expiration du mot de passe ;
  • gestion presse‐papiers ;
  • effacement automatique ;
  • suppression de l’historique ;
  • durée de disponibilité.

Universal Password Manager (UPM)

UPM est un gestionnaire de mots de passe écrit en Java, multi‐plate‐forme et protégé par un mot de passe maître. Chaque entrée comporte plusieurs champs : compte, identifiant, mot de passe, URL et notes. Il est publié sous licence GPL v2+.

Client graphique

Le seul client compatible est le client UPM disponible sur GNU/Linux, Windows, macOS et Android (pas de version iOS à ce jour).

Sécurité

Les fichiers de mots de passe sont chiffrés par l’algorithme AES.

Synchronisation

Avec UPM il est possible de synchroniser le fichier de mots de passe via un serveur Web (par HTTP) ou bien, plus récemment, par Dropbox.

Importation et exportation

Il est possible d’exporter et d’importer la base de données en fichiers CSV… qui ne sont plus chiffrés (du coup).

Fonctionnalités

Les versions de bureau (seulement testé sous GNU/Linux) et Android ne sont pas complètement identiques, mais on retrouve les mêmes fonctionnalités :

  • recherche sur le champ compte ;
  • copier‐coller de l’identifiant et du mot de passe par bouton (ou clic droit) ;
  • lancement de l’URL ;
  • génération d’un mot de passe aléatoire ;
  • multi‐langue.

Limitations

  • UPM ne gère pas de hiérarchie sur les entrées : on ne peut pas saisir une sous‐entrée d’une entrée existante ;
  • pour pouvoir effectuer une modification d’une entrée, il faut d’abord effectuer une synchronisation, si le fichier est synchronisé (cela peut être un problème avec la version Android si l’on n’a pas de connexion réseau) ;
  • pas de listes de fichiers récents de mots de passe, il faut aller chercher le fichier, à chaque fois qu’on change de fichier ;
  • il y avait des bogues de synchronisation (perte de la dernière version) qui semblent résolus.