Gestionnaires de mots de passe collaboratifs en ligne

closeCet article a été publié il y a 12 ans 10 mois 10 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

coffre-fortSous ce titre se cache le cahier des charges d’un mouton à cinq pattes. Je suis actuellement à la recherche de la meilleure façon de partager des mots de passe entre plusieurs administrateurs d’une ferme de machines virtuelles et physiques. Potentiellement chaque administrateur peut-être amené à avoir besoin d’accéder à n’importe laquelle d’entre elles, voir à une partie seulement. Ces mots de passe vont concerner les systèmes d’exploitation, les bases de données, les annuaires, les gestionnaires de contenus, bref tout ce qui peut tourner sur ces machines.

Au final, cela peut représenter un nombre plus que significatif. Autre particularité, ces administrateurs ne sont pas dans un même lieu géographique, mais collaborent au travers d’internet. Ajouter à cela que si les administrateurs utiliseront majoritairement des systèmes d’exploitation GNU/Linux sur leurs postes, certains gestionnaires d’application ou responsables utiliseront Windows.

Il ne peut donc s’agir d’une solution trop « root ». Il faut quelque chose d’accessible assez simplement. La première idée qui m’est venue fut de chercher un logiciel permettant d’accéder à ces mots de passe depuis une interface web. Je suis conscient que l’idée de stocker ces mots de passe en ligne est quelque peu anxiogène. Mais en l’occurrence, il n’y a guère d’autre choix possible et je m’assurerais que la solution offre un chiffrage des données de bout en bout jusqu’au stockage des mots de passe.

Clipperz

Ce logiciel libre est à la base d’un service en ligne de gestion de mot de passe. Clipperz est distribué sous licence AGPL. L’installation est assez simple pour qui maîtrise la plateforme LAMP (Linux Apache. MySQL, PHP). On se retrouve avec une quasi-copie conforme du service en ligne.

Les données sont stockées sur le serveur de façon chiffrée. Ainsi si on venait à vous voler votre base de données il serait très difficile de récupérer vos mots de passe. Autre point indispensable aussi l’utilisation du protocole https ou d’un VPN (Virtual Private Network) pour sécuriser l’accès à vos mots de passe.

Ce que j’ai aimé : la simplicité d’utilisation. Clipperz est particulièrement bien adapté à un usage personnel. Il permet notamment d’automatiser l’authentification sur un site web au travers d’un système de capture du formulaire d’ouverture de session. Ce dernier est alors appelé directement depuis Clipperz.

Ce qui m’a manqué : Il n’est pas possible de créer d’arborescence sous forme de dossier pour classer ces mots de passe. Il n’existe pas de fonction de recherche qui peut-être utile lorsque l’on finit par avoir un grand nombre de mots de passe.

WebKeepass

Cette application est issue d’un portage en Java du logiciel Keepass, un autre logiciel libre destiné à la gestion des mots de passe, pour qu’il puisse fonctionner en mode web. Connaissant déjà ce dernier, j’ai cru avoir trouvé la solution idéale. De prime abord, je m’attendais à une installation laborieuse n’étant pas familiarisé avec les logiciels web écrits en Java. Cependant, le logiciel est fourni sous la forme d’un pack incluant Tomcat et MySQL.

J’ai réalisé l’installation sur une machine virtuelle utilisant une Debian 6.0 à laquelle j’ai ajouté le package openjdk-6. L’installation se fait ensuite à l’aide d’un script bash auquel vous devez fournir quelques renseignements dont le chemin vers le JDK Java ainsi que le répertoire d’installation. Il faut ensuite, comme indiqué dans la documentation (qui se trouve dans le fichier zip d’installation), rendre exécutable quelques fichiers et ensuite lancer le service.

J’ai cru lors de la première utilisation que le service ne marchait pas. En fait, je n’avais pas la patience d’attendre le chargement de l’applet Java et m’acharnais à rafraîchir ma page web 🙂 !

Ce que j’ai aimé : un vrai système de gestion multi-utilisateur avec la possibilité pour ceux-ci de se partager des mots de passe entre eux. Cependant dans mon cas les utilisateurs auront accès ou pas à la totalité des mots de passe.

Ce qui m’a manqué : une ergonomie plus intuitive. Je pensais me trouver dans un environnement similaire à Keepass, mais en fait la gestion multi-utilisateur complexifie l’interface et on a du mal à s’y retrouver.

cpassman

Je vais citer ce logiciel pour vous inviter à l’éviter. Pourtant, je suis allé jusqu’à installer cpassman tant la présentation qui en était faite était attirante. L’installation se fait sur la base d’une plateforme LAMP classique. Ce qui séduit tout de suite c’est l’ergonomie et la facilité de prise en main. Je dois dire qu’il correspondait à quasiment 100% de mon cahier des charges, mais…

Il est distribué sous une licence Creative Common By-Nc-Nd. Autrement dit, vous êtes libre d’utiliser ce logiciel à condition de ne pas le revendre et de ne pas le modifier, ce qui revient à en faire un logiciel non-libre. J’aurais été prêt à aller au-delà de cela si un détails ne m’avait pas arrêté en route.

Une chose à vérifier lorsque l’on confie ces données à un logiciel ou à un service en ligne est la possibilité de récupérer ces données dans un format documenté et exploitable depuis des logiciels « basiques ». En l’occurrence, il s’agit ici de pouvoir exporter ces mots de passe pour changer la cas échéant de logiciel.

Or cpassman ne permet qu’une sauvegarde et encore dans un format chiffré. Une fois vos mots de passe saisis ils sont verrouillés dans le logiciel. Je n’ai pas testé la version 2 actuellement en bêta pour vérifier si cette possibilité est apparue. En tout cas je n’ai rien trouvé qui y ressemble dans la version de production.

Keepass

J’en suis donc revenu à mon point de départ en quelque sorte. Keepass est un logiciel de « bureau » et ne permet pas un accès un mode web aux mots de passe. On m’a fait remarquer que Keepass dispose de la possibilité d’ouvrir un fichier au travers des protocoles FTP et HTTP. J’aurais aimé que ce soit leur version sécurisée, mais cela représentait une piste et le fichier contenant les données est entièrement chiffré.

J’ai donc testé un fonctionnement de Keepass en FTP sans découvrir de problème particulier. Je précise cependant que sur la version GNU/Linux de Keepass, cette fonctionnalité n’a pas l’air d’être implémentée. Cependant, cela ne pose pas de soucis majeurs pour un geek gnuxien (GNU/Linuxien) de configurer un point de montage sur un lecteur FTP ou mieux en SSHFS. Les protocoles sécurisés devenant à nouveau exploitables.

Keepass gère lors de l’enregistrement la synchronisation des données si celles-ci ont été modifiées par un autre utilisateur sur le serveur. Ayant utilisé Keepass de cette façon par le passé, je n’ai jamais rencontré de soucis de mise à jour ou de perte de mot de passe.

Un dernier détail qui en arrêtera certains, Keepass nécessite l’installation de Mono pour fonctionner. Il existe pour eux une version de Keepass dépourvu de ce dernier, mais qui est resté en retrait fonctionnellement : KeepassX. Ce dernier cependant rendra déjà pas mal de service pour le stockage de vos mots de passe. Mais la dernière version publiée date de mars 2010 ce qui n’est pas récent et ne présage pas de façon positive de l’avenir de ce logiciel.

Autre chose ?

Je n’ai pas trouvé d’autres logiciels correspondant à mon mouton. La solution Keepass est en cours d’expérimentation. Maintenant il est vrai que je n’ai pas l’expérience de ce type de situation et qu’il existe aussi peut-être des façons de faire pour gérer ce type de problématique. Si vous travaillez chez un hébergeur ou autre et que vous avez eu à gérer la problématique d’une ferme de serveurs, je suis preneur de toute information ou piste.

Illustration : Certains droits réservés par rpongsaj

Philippe Scoffoni

Je barbote dans la mare informatique depuis 30 ans (premier ordinateur à 16 ans, un ORIC ATMOS) et je travaille à mon compte au travers de ma société Open-DSI. J'accompagne les associations, TPE et PME dans leurs choix et dans la mise en oeuvre se solutions informatiques libres.

24 réponses

  1. VoidAndAny dit :

    Je suis très intéressé par ce sujet, un mouton à 5 pattes aussi mais un peu différent :
    – solution perso (pas de collaboration)
    – auto-hébergé (avec SQLite de préférence)

    Clipperz et cpassman semblent intéressants au détail près remontés + l’utilisation de MySQL (mon serveur est un plug computer avec très peu de RAM…)

    Bref je m’abonne aux commentaire le mouton à 5 pattes viendra peut être….

  2. idoric dit :

    @VoidAndAny
    Si c’est à usage personnel uniquement, Firefox Sync ne te suffirait pas ? (ils existe des clients indépendants de Firefox, et on peut installer son propre serveur)

  3. Merci pour cette étude qui défriche déjà pas le terrain.
    Je serais bientôt en poste dans le domaine de ‘hébergement. J’espère contribuer a ta recherche si tu ne trouves ton bonheur d’ici la.

    « Un dernier détail qui en arrêtera certains, Keepass nécessite l’installation de Mono pour fonctionner »

    Moins bien…

  4. Aldi dit :

    Et c’est vraiment le stockage de mot de passe qui est nécessaire ?

    Peut-être qu’un accès par clé ssh pourrait répondre au besoin ?

  5. TopGuk dit :

    Hummm, si Clipperz est OpenSource pourquoi ne pas lui rajouté ce qu’il manque : Une fonction de recherche et un classement par dossier ?

    Ce ne sont pas des fonctionnalités qui me paraissent très poussées et ça peut sans doute être fait en quelques heures de boulots pour quelqu’un qui connait PHP/MySQL.

    Ou peut-être proposer ça dans les futures fonctionnalités.

  6. Rico dit :

    LastPass, qui est hélas une solution proprio, permet de créer des dossiers et sous-dossiers, et offre une extension pour Firefox. C’est compatible toutes plateformes et tous navigateurs, même mobiles. Pour mon utilisation perso, je me sers à la fois de Clipperz et de LastPass.
    Mais j’imagine que tu recherches plutôt une solution libre…

  7. Comète dit :

    Chez nous, nous utilisons un simple fichier texte crypté avec vim (chiffrement Blowfish depuis la version 7) stocké sur un serveur et accessible uniquement via SSH. Chacun peut ainsi y accéder de façon sécurisée via un bête script de ce type:

    #!/bin/sh
    vim -n -i NONE /home/private/passwords_manager.txt

    Le fichier de mots de passe aura été préalablement créé avec cette commande:

    vim -x -n -i NONE /home/private/passwords_manager.txt
    un mot de passe sera demandé.

    C’est très pratique et les données sont, du coup, facilement exportables si besoin est…

    L’accès au serveur peut se faire via un compte dédié (ex.: ssh pwm@monserveur) avec authentification par clés SSH, chaque personne autorisée stocke sa clé publique dans ~/.ssh/authorized_keys

    Si le chiffrement Blowfish par défaut de vim ne vous convient pas, il est également possible d’utiliser un plugin GPG.

  8. Lefrein dit :

    Moi j’utilise dropbox plus un fichier texte crypté avec truecrypt, c’est pas très libre mais peut-être que truecrypt est remplaçable, quand à dropbox git pourrait faire l’affaire si je ne m’abuse…

  9. VoidAndAny dit :

    @idoric : je connais Firefox Snc et j’ai un serveur de synchro auto hébergé, le problème c’est pour les mots de passe qui ne sont pas pour des sites web (exemple : SSH, Windows, n° de CB…)

    L’idéal pour moi serait un client portable sous Wndows (comme Keepass) mais sans mono / .net (pas pour des raisons de philisophie mais pour des raisons de framework non installé en milieu pro), synchronisé via le web (en auto hebergé) et synchronisé avec Firefox (ou autre navigateur)

    Si les mots de passe synchronisés sur le web pouvait être consultable via un interface web ce serait le pérou

    Bref un mouton à 5 pattes, pour l’instant je me contente de firefox sync et keepass (malgré le problème de framework)

    Je penses que mes attentes pourraient être comblés avec un client (quel techno windows / linux ?) qui saurait se synchroniser avec le serveur de firefox sync + interface web sur le serveur firefox sync.
    Il faut que je creuse de ce côté ci : http://tarekziade.wordpress.com/?s=weave (implémentation Python de FF sync)

  10. MaitrePylos dit :

    Voici la solution idéale que j’utilise depuis des années et que j’arrive à imposer partout où je passe.

    Et je ne dis pas ça parce que j’ai porté la version Web, mais c’est vraiment ce que je cherchais suite à la même problématique que vous .

    http://www.hpl.hp.com/personal/Alan_Karp/site_password/

  11. anthony dit :

    Bonjour,

    De mon côté, j’utilise keepass. Je sauvegarde le fichier dans un répertoire de dropbox.
    Ce répertoire dropbox est partagé avec les utilisateurs concernés.

    Ainsi, les utilisateurs dont au courant dès qu’une modification est apportée à keepass et surtout, la base de donnée peut être accessible de l’extérieur de l’entreprise pour les utilsateurs.

    Cela fonctionne plutôt bien et c’est simple à mettre en place.

  12. idoric dit :

    @VoidAndAny
    Zut, je ne retrouve pas le client que j’avais en tête, je suis bien tombé sur ça mais il y a une très bonne raison de ne pas l’utiliser en l’état… https://wiki.mozilla.org/Weave/Experimental_Clients/Web

  13. mangouste dit :

    j’utilise (nous utilisons) depuis longtemps keepassX + SVN.

    J’ai aussi remplace SVN par CVS, mercurial. Mais le principe reste le meme.

    On met une ou plusieurs bases d’entetes qui contiennent les cles des bases autorisees. On fourni le mot de passe du fichier qui correspond a la base entete associee au profil (un, ou plusieurs datacenter, un type de serveur ..).

    Simple, efficace, scalable.

  14. Philippe dit :

    Merci à tous pour ces retours d’expérience. Je n’avais pas pensé effectivement aux outils type SVN, mais c’est une bonne solution effectivement. Par contre comment sont gérés les modification effectués par deux personnes sur un même fichier. J’imagine que le logiciel de gestion de version prévient d’un soucis. KepassX il me semble ne gère pas la synchronisation de deux fichiers ?

  15. baz dit :

    Tu peux jeter un œil au programme « Yapet » qui doit se trouver dans les dépôts de ta distribution.
    Je ne sait pas si il répond exactement à ton cahier des charges mais c’est un très bon logiciel qui mériterait d’être plus connut.
    (PS: il faut utiliser le raccourcie clavier CTRL + E pour visualiser ses mots de passe…)

    A++

  16. Philippe dit :

    @baz : merci mais je vois que Yapet ne marche que sous GNU/Linux et il me faut quelque chose pour des gens sous windows.

  17. GuillaumeN dit :

    Pour ma part c’est comme Anthony mais avec Wuala à la place de dropbox.

  18. gabriel dit :

    On utilise Gringotts avec SVN pour le partage. Pour les modifications, une seule personne en fait donc c’est centralisé !

    Ce qu’il y a de bien avec Gringotts, c’est qu’on ne gère pas vraiment des mots de passe mais des fiches. Du coup, on peut mettre bien plus que simplement des mots de passe comme des bouts de doc sensibles…

    http://gringotts.berlios.de/

  19. thanatos dit :

    Chose importante pour ces logiciels :

    As t’on trouvé un software qui gère plusieurs utilisateurs.
    (User+pwd différents pour accéder aux passwords voir via radius ou ldap ).

    Et surtout quel logiciel audite ? Histoire en Cas de soucis de savoir qui a lu quoi ?

  20. Nils dit :

    Je me permet de réaliser un droit de réponse quand à ce qui est écrit sur cPassMan.

    La licence est désormais BY-ND en version 2 de l’outil. Il est donc possible de l’utiliser dans un context commercial.

    Concernant le backup. Effectivement à ce jour l’export du backup est au format sql, donc avec les mots de passe crypté mais c’est tout à fait normal puisqu’il s’agit d’une fonction de backup mais pas d’export. On peut néanmoins faire un export PDF de tous les éléments avec les données non cryptés.
    Enfin je dirais que ce produit est en constante évolution et les suggestions toujours les bienvenues. A ce titre il doit tout à fait etre possible de rajouter des fonctions d’export comme par exemple un export au format XML 😉

  21. Philippe dit :

    @Nils :
    La licence est désormais BY-ND. Cependant cette licence ne correspond pas encore aux licences de logiciels libre tel que définit par la FSF. Il n’est pas possible de modifier ou adapter le logiciel. Mais c’est un choix et je le respecte.
    A ce titre il doit tout à fait etre possible de rajouter des fonctions d’export comme par exemple un export au format XML Cela éviterait effectivement le problème du lock-in de l’utilisateur qui souhaiterait changer de logiciel de gestion de mot de passe. Un simple fichier au format csv serait suffisant. Il est plus difficile d’exploiter un fichier au format PDF.
    Merci pour ces précisions 🙂 .

  22. Bouh dit :

    pour les utilisateur de GLPI

    il existe un module de gestion de compte
    qui est assez basique mais peut correspondre.

  23. depannage informatique dit :

    Je suis surpris de penser a cela, en effet d’un point de vue sécurité, que ce passe t’il si des pirates arrive a accéder a ce stockage de mot de passe ? Un accès total a l’ensemble de l’entreprise…
    Même si je peux comprendre que tout retenir est impossible, il serez peut être plus intéressant de voir pour des systèmes de certificat sur carte a puce allie a un mot de passe principal béton.

    Je le répète pour moi cela semble fragiliser la sécurité du système d’information, l’erreur venant souvent de la personne qui utilisera cela et mettra en péril le réseau et ses ressources.

  1. 23 juin 2011

    […] Philippe Scoffoni a écrit récemment un article très fouillé sur le stockage en ligne des mots de… Il portait notamment sur les logiciels Clipperz, WebKeepass, Cpassmann, Keepass et KeepassX. […]