Connexion Premium

[Tuto] Auto-héberger son gestionnaire de mots de passe avec Vaultwarden (Bitwarden)

C’était mon Last Pass

[Tuto] Auto-héberger son gestionnaire de mots de passe avec Vaultwarden (Bitwarden)

Et si vous repreniez possession de vos mots de passe avec un gestionnaire auto-hébergé, qui fonctionne aussi bien sur les navigateurs que les smartphones ? Voici un tuto pour installer Vaultwarden (compatible Bitwarden) sur un VPS, c’est-à-dire un serveur virtuel privé que l’on trouve à moins de 5 euros par mois.

Le 06 février à 12h12

Bitwarden est un gestionnaire de mot de passe freemium, disponible en auto-hébergement. L’application officielle est par contre relativement lourde (surtout pour un usage individuel), nous allons donc passer par Vaultwarden, une alternative « écrite en Rust et compatible avec les clients officiels Bitwarden, parfaite pour un déploiement auto-hébergé où exécuter l’application officielle gourmande en ressources pourrait ne pas être idéal ».

Vaultwarden : une alternative open source à Bitwarden, en plus light

Vaultwarden est open source sous licence AGPL-3.0 disponible sur GitHub. Il n’est « pas associé à Bitwarden » même si, selon la page GitHub, « l’un des mainteneurs actifs de Vaultwarden est employé par Bitwarden et est autorisé à contribuer au projet sur son temps libre. Ces contributions sont indépendantes de Bitwarden et examinées par d’autres mainteneurs ». Si Bitwarden est régulièrement audité, ce n’est pas le cas du projet Vaultwarden.

Pour installer Vaultwarden sur un Virtual Private Serveur (VPS), il y a quelques étapes à suivre. Nous avons utilisé le VPS-1 d’OVHcloud (lire notre test). Vous aurez besoin de l’adresse IP de votre serveur, du nom d’utilisateur et du mot de passe pour s’y connecter en SSH, via un logiciel comme PuTTY par exemple. Ces informations peuvent se trouver dans l’interface de votre hébergeur ou bien dans un email qu’il vous a envoyé.

Première étape Docker, puis Vaultwarden

Il faut télécharger Docker, l’installer puis donner les droits d’utiliser Docker à l’utilisateur pour éviter de devoir toujours saisir un « sudo » avant une commande. Voici les commandes à saisir (cela fonctionne aussi sur d’autres VPS avec un Linux) :

Il reste 82% de l'article à découvrir.

Cadenas en colère - Contenu premium

Soutenez un journalisme indépendant,
libre de ton, sans pub et sans reproche.

Accédez en illimité aux articles

Profitez d'un média expert et unique

Intégrez la communauté et prenez part aux débats

Partagez des articles premium à vos contacts

Commentaires (86)

votre avatar
Tiens, j'ai mis ça en place il y a un mois sur mon NAS ! Même l'IHM de Vault est bien fichue pour s'y retrouver.

ET pensez à activer le 2FA avec TOTP avec l'application BitWarden Authenticator qui prend bien évidemment en charge votre compte auto-hébergé !
votre avatar
J'ai fait pareil il y a un moment! Super pratique… jusqu'à une panne internet pendant 15 jours! Plus d'accès externe à mes mots de passe! :pleure::pleure:
J'ai alors basculé sur de l'hébergé bitwarden.eu
votre avatar
un bon vieux kdbx pour ce genre de scénario
votre avatar
Surtout, surtout, surtout pour un gestionnaire de mot de passe, n'installez pas ça sur un coup de tête. C'est un bon moyen de l'oublier dans un coin et ne jamais penser à le mettre à jour !

Pour les moins techos d'entre nous qui veulent s'auto-héberger (et même les techos qui savent que s'ils mettent ça en place ils le bidouilleront sans relâche jusqu'à ce que ça pète) : il existe Yunohost qui permet d'installer Vaultwarden et des dizaines d'autres applis sur son VPS sans mettre les mains dans le cambouis.
(Encore une idée de tuto pour la rédaction ?)
votre avatar
CharlesP. fournisseur d’idées pour la team :D
votre avatar
Viendra un jour où je serais dans tous les chapô du site, je prendrais le contrôle
votre avatar
Tiens je ne connaissais pas cet outil, merci !
votre avatar
Je valide pour Yonohost. Je l'utilise et c'est franchement pas mal et assez simple d'utilisation
votre avatar
Je valide aussi. Je m'en suis installé un sur un mini PC d'occasion depuis 6 mois, et ça tourne très bien.
J'ai aussi trouvé la documentation très bien faite et accessible.
votre avatar
Yes Yunohost ! Je l'utilise même pour déployer mes applis pro, afin de simplifier les montées de version et la maintenance du serveur. Un bijou.
votre avatar
Il en existe d'autres comme Coolify ou Dokploy (pour les utilisateurs un peu plus avancé)
votre avatar
J'ai l'impression que c'est plus axé sur les développeurs et l'entreprise que l'autohébergement de particuliers. YunoHost c'est un SSO, un serveur mail et une interface pour installer en un clic plus de 700 applications (Vaultwarden, Nextcloud, Jellyfin, Immich, Home Assistant, etc.) sans avoir à maintenir soit-même son serveur.
votre avatar
Ils s'utilisent aussi en auto hébergé. Mais comme j'ai dit plus pour les utilisateurs avancé et qui aiment garder le contrôle sur ce qui se passe derrière.
Ils permettent aussi d'installer en un click tout pleins d'applications. Mon dokploy se met à jour automatiquement et de même pour les applis. J'ai le contrôle sur traefik etc (Jamais réellement essayé Yunohost)
votre avatar
Ça fait des mois que je veux installer Yunohost pour tester, si y'a un p'tit tuto made in next.ink je suis preneur !
votre avatar
Franchement, vas-y, si tu as déjà utilisé un linux, y a pas de soucis. Ils ont une doc particulièrement bien faite.
Bon, n'empèche que j'ai déjà eu des applis impossibles à faire monter en MAJ, nextcloud par exemple...
votre avatar
Attention avec Yunohost, je l'utilise également avec Vaultwarden en self-hosted, et je me suis rendu compte d'un truc qui m'a fait bien transpirer.

Sur Yunohost, les apps sont "repackagées" par les mainteneurs de YNH. Ce qui signifie que sur Yunohost, le Vaultwarden fourni ne vient pas d'un build officiel, et ceci est valable pour toutes les applis. Je sais pas si vous voyez où je veux en venir...

J'ai justement regardé il y a quelques jours le repo Vaultwarden de Yunohost.
On voit ici que le build provient d'un autre repo github, non affilié a priori avec YNH. Quand j'ai vu ça, j'étais un peu en stress.

J'ai continué a fouiller, et ce repo fait tourner une Github Action périodique, qui choppe l'image officielle Docker de Vaultwarden, et en extrait les exécutables. J'ai comparé les hash des fichiers, ça correspond donc les binaires ne sont pas modifiés, ils sont bien identiques à ceux des builds officiels.

Mais je me dis qu'une attaque par supply-chain n'est quand même pas bien loin, et pourrait se terminer avec un Vaultwarden modifié pour leak tous les passwords. Je suis en train de reconsidérer mon utilisation de YNH, même si le projet est génial. Le fait que toutes les apps soient repackagées pose pour moi trop de problèmes de sécurité, de soft non à jour, etc...

Il faudrait qu'ils arrivent à se baser sur des images Docker officielles, ce qui éviterait ce genre de soucis, et ajouterait une couche d'isolation entre les apps. Mais en termes d'archi, ça leur demanderait de tout revoir de fond en comble à mon avis.
votre avatar
Bonne réflexion @Kabouin
Faudrait regarder du côté des alternatives à Yunohost comme CasaOS, Cosmos Cloud, Umbrel OS, comment est implémenté Vaultwarden. (Il y a Cloudron aussi, mais payant à partir de 2 apps installées je crois)

D'ailleurs ça serait une bonne idée d'article un petit comparatif entre ces systèmes d'exploitation qui facilitent l'auto-hébergement @SébastienGavois :D
votre avatar
"Le fait que toutes les apps soient repackagées", c'est le cas de la quasi-totalité des distributions. Les paquets dans les repos Debian, Ubuntu et Fedora pour ne citer qu'eux ne sont pour la plupart pas officiels (ce qui a d'ailleurs donné lieu à pas mal de drama, le plus récent à ma connaissance est celui d'OBS contre les packageurs du paquet OBS pour Fedora). Pour avoir les paquets officiels il faut la plupart du temps ajouter les dépôts du mainteneur. Tout dépends donc de la confiance dans les mainteneurs de Debian/Ubuntu/Fedora/Yunohost.
votre avatar
C'est très juste, d'ailleurs je suis sous Fedora sur mes machines pro et perso. Je n'ai pas regardé comment c'est géré pour les distrib Linux, cependant, sous YNH, cela me semble malheureusement fait de façon un peu trop artisanale (à voir pour les autres applis, je n'ai regardé que VaultWarden, et j'avais eu un souci avec Restic qui ne voulait même pas s'installer, j'avais du patcher le truc à la main)...

Je pense (j'espère !) que pour Fedora, Debian, etc, les paquets sont faits de façon plus rigoureuse, et/ou avec plus de contrôle de la part des comités de gouvernance. Mais c'est un sujet à creuser !

Les images Docker seraient une solution pour éviter ces efforts pour YNH qui est un projet beaucoup plus modeste, j'imagine, en termes de moyens et de communauté. Je pense que cela nécessiterai tout de même un effort pour faire des config docker-compose ou autre pour configurer les ports, les volumes, faire en sorte que le tout soit sauvegardable par Restic... Bref, c'est loin d'être une quick win...
votre avatar
Il y avais eu des réflexions sur l'usage de Docker, mais c'est resté dans les canaux fermés. Il y a une issue pour créer une page "pourquoi pas Docker ?" dans la documentation, elle récapitule bien tous les arguments aussi bien pour que contre l'usage de Docker : github.com GitHub

Si je devais faire un TL;DR, je dirais : Docker c'est trop d'overhead pour un système censé tourner sur toutes les architectures de Debian et sur des machines aux performances ridicules, ça rends plus complexe d'aider les gens sur les canaux d'aide et la bidouille par les utilisateurs.

Au delà, il y a pas mal de réflexion sur l'hardening, sinon sandboxing, forcé des applications (la plupart ont un hardening en place hérité du modèle de paquet, mais ce n'est pas forcé par le système) : github.com GitHub
votre avatar
J'ai également Yunohost sur un VPS, ça marche plutôt pas mal (sauf un problème de mail depuis une migration qui a foiré, il faut que je termine la correction d'ailleurs :transpi:).

Pour ceux qui veulent l'installer en interne (sans accès externe / nom de domaine), Yunohost m'a posé quelques problèmes : certaines apps refusaient de fonctionner car pas de certificats et les sous-domaines que je créais n'étaient pas joignable.

Pour mes besoins, DietPi a été la solution (qui fonctionne également ailleurs que sur un RPi !), qui fait la même chose mais avec une interface console.
Il y a même une interface web mais à installer (je l'ai jamais essayé).
votre avatar
En plus, la version self-hosted de Bitwarden a besoin de licence payante pour débloquer certaines fonctionalités.

C'est aussi la que réside le gros avantage de vaultwarden, Débloquer certaines fonctionnalités normalement payante.
Par exemple, le TOTP (stocker et associer de la TOTP sur les différents identifiants de son vault) est payant sur bitwarden. Sur vaultwarden c'est intégré. Et pas de limitations de nombre d'utilisateur sur une organisation.
On a les pièces jointes aussi.

Bref, le découpage de feature de bitwarden est à peu prêt honnête pour sa version cloud, il est normal de payer le service en fonction du cout de l'hebergement et débloquer des features premium.

Par contre sur du selfhost, la tarification est absurde. C'est la même que pour la version cloud, le cloud en moins.
votre avatar
Pour les allergiques à Docker (coucou à moi-même !), il y a des paquets Debian disponibles : github.com GitHub
votre avatar
Merci.
Ça revient à ma question : pourquoi utiliser docker avec une appli, mais pas avec l'autre ? Vaultwarden oui, Caddy non?
Pourquoi?
votre avatar
Le plus critique dans l'histoire reste la sauvegarde, la conservation des données de façon sécurisées (sous plusieurs sens) et la restauration de l'instance.

Parce qu'il suffit d'une fausse manip pour tout perdre.

C'est pour ça que perso, mon fichier Keepass dispo sur mon kDrive, régulièrement sauvegardé, me convient plus amplement qu'un outil en ligne à maintenir (sauvegarde, montée de version, etc.).
votre avatar
Idem, j'avais envisagé l'idée d'installer vaultwarden sur mon Yunohost et au final, mon fichier Keepass ponctuellement synchronisé avec Syncthing convient bien dans 90% des cas.
votre avatar
https://framagit.org/Glandos/rbw_portable

C'est fait par moi, et donc pour moi. Mais toute critique constructive est la bienvenue !
votre avatar
J'ai un Bitwarden self-hosté depuis quelques années, ça tourne nickel.

Vaultwarden est 100% compatible dans le cas d'une migration ?
votre avatar
Vu que je considère qu'un coffre de mot de passe c'est assez critique, je grince un peu des dents :)
Autant pour une installation à la maison (et en y accédant via un VPN depuis l'extérieur par exemple), je peux comprendre qu'on ne s'embête pas, mais pour une application hébergée et publiée sur le net, je trouve que certains points méritent un peu d'attention :
Le groupe docker pour un utilisateur c'est bien pour faire tourner un truc en local, mais le rootless c'est assez simple de nos jours.
Et surtout le port 8080 ouvert sur internet : même si vaultwarden refuse qu'on y accède ainsi, un port inutile n'a aucune raison d'être ouvert à tous vents.
votre avatar
Je voudrais juste rappeller que Bitwarden coûte 10$/an et qu'il est possible d'avoir ses données héberges en Europe en utilisant vault.bitwarden.eu. Du coup, l'auto héberger pour 5€/mois ce n'est pas une affaire.

J'ai des services auto-hébergés mais je n'ai pas choisi cette solution pour Bitwarden. Les deux principales motivations sont d'avoir une copie de mon vault hors de chez moi et de limiter les attaques sur mon infra.

Cela me semble une mauvaise idée d’héberger ce genre de service sans un firewall et un système de blocage type fail2ban.
votre avatar
Clairement, je suis abonné, ca me coute 12€/an, c'est en UE, toujours à jour, backupé, MFA (possible avec mes Yubikeys) et toujours accessible. Sachant que la version gratuite le permet aussi.

La consommation, le nom de domaine, le VPS, le backup,  le temps de maintenance, d'upgrade avec les risques que cela implique, c'est bien pour bidouiller et tester, mais c'est clairement non rentable à aucun niveau et moins sécurisé.

Comme le précise @CharlesP. c'est pas un truc à faire sur un coup de tête.
votre avatar
maintenant c'est 20 dollars
votre avatar
En effet ! Hors promo, ça reste 1,35€ par mois, donc plus avantageux que n'importe qu'elle autre solution. Sachant que la version gratuite fait bien le job aussi.
votre avatar
La société est américaine, donc que tes données soit en Europe, en France, ou ailleurs, le gouvernement Américain a un droit de regard dessus.
votre avatar
Sauf que les données ne sont pas lisibles par Bitwarden... 'Fin si on part du principe qu'ils ne font pas un déchiffrement+stockage du mot de passe chez eux.

Ils ont accès aux données en clair, puisqu'ils ont les certificats pour le HTTPS. Et puis de toute façon, si le serveur peut déchiffrer la clé pour vous présenter les MDP, et qu'ils ont la maîtrise du serveur, ils ont DONC accès potentiellement à votre mot de passe, et DONC à votre mot de passe, et DONC à votre coffre.


Du coup, finalement, je suis plutôt d'accord avec toi, en fait ! 😅
votre avatar
Non
@potn , @hirtrey

C'est du zero-knowledge, ni bitwarden, ni une personne qui pourrait accéder au coffre ne pourrait l'ouvrir, droit de regarde ou pas.
Donc US ou pas, ça ne risque rien. Qui plus est, le code est ouvert donc c'est vérifiable et c'est audité/certifié par des organismes indépendants.

D'ailleurs Bitwarden le précise a l'ouverture de compte, en cas de perte de ton mot de passe, ils ne pourront rien faire pour toi.
votre avatar
Avec la réponse de @Spark2_fr , je crois comprendre comment fonctionne le zero-knowledge de Bitwarden : mon mot de passe de coffre n'est pas envoyé au serveur, mais il est utilisé par le client (navigateur, extension ou appli) pour générer une clé de déchiffrement qui, elle, est utilisée pour déchiffrer le coffre reçu par le serveur (qui m'aura préalablement authentifié par un autre moyen, ou par une clé dérivée de mon mot de passe ne servant QUE à l'authentification).

C'est peut-être pas EXACTEMENT ça, mais je crois que j'ai l'idée.

Merci. 😉
votre avatar
Mon vault est configuré avec un chiffrement de type AES-256 et la clé de déchiffrer est obtenue par dérivation Argon2 de mon mot de passe. Du coup sans le mot de passe il faut des millions d'années pour déchiffrer mais quand tu as tous les GPU d'OpenAI.
C'est l'intérêt d'une solution avec chiffrement de bout en bout. Les mots de passe sont en clair là où tourne l'interface graphique mais chiffrés avant d'arriver sur le réseau ou sur le disque.
votre avatar
Belle initiative, mais.
Quitte à utiliser caddy, autant partir directement sur xcaddy (pour recompiler caddy avec le provider ACME de son choix) et laisser la gestion du certificat à caddy.
Il faudrait une partie ufw / hardening.

Pas fan de l'utilisation de docker alors que les binaires existent.
votre avatar
étape ++: Sécurisation
Une fois que tout fonctionne et est bien configuré, on peux:

  • limiter l'accès direct au front seulement (pas d'accès direct sur ip:8080 autre que 127.0.0.1, les clients internet y accèdent toujours, mais seulement via le serveur web en front)



ports:
- 127.0.0.1:8080:80


  • virer l'accès à la page admin en enlevant ADMIN_TOKEN du docker-compose.yaml

  • sécuriser le front en activant par exemple PFS ou CORS



depuis peu, on peut même ne pas avoir a utiliser de nom de domaine et activer let's encrypt directement sur son IP (avec le profil shortlived à renouveler tout les 6 jours au lieu de 90)

on peut aussi mitiger le ddos/bruteforce en rajoutant une instance anubis entre le front et vaultwarden...
votre avatar
Pourquoi Docker est toujours mis en avant alors que Podman est maintenant tout aussi facile à utiliser ? Ce dernier est même de base dans certaines distrib (Fedora)
votre avatar
En effet, podman ça permet de faire du rootless directement et très facilement. Perso j'utilise que ça depuis des années.
votre avatar
C'est une question de "prérequis". Si tu veux faire un tuto sur comment installer vaultwarden sur podman, il faut déjà faire un tuto sur podman et pourquoi podman est mieux que docker.

L'idée là, c'est de se concentrer sur vaultwarden, pas docker :)

ps: j'utilise aussi podman depuis pas mal de temps pour le rootless
votre avatar
Prérequis : alias podman=docker

Voilou :smack:
votre avatar
Aussi bien soit t'il toute cette usine a gas à deployer et tenir a jour pour heberger 1mb de contenu sensible c'est vraiment un nogo perso.

Je suis plutot team kiss : un binaire keepassxc, un fichier vault, tout en local, si je veux synchoniser eventuellement syncthing ou un rsync et basta.
votre avatar
Tutoriel qui n'est à mes yeux pas suffisant pour héberger une instance pour héberger des données aussi sensibles.


  • rien sur l'isolation réseau du conteneur

  • rien sur l'isolation des processus, le mapping d'UID et l'exécution rootless

  • rien sur la gestion des secrets

  • rien sur le monitoring des connexions échouées



Un bon début pour tester en tout cas.
votre avatar
Pour la configuration complète et des explications : https://github.com/dani-garcia/vaultwarden/blob/main/.env.template
On peut facilement mettre ça dans le docker-compose.yml sous la forme env_file: .env
votre avatar
Quelques options de sécurisation pour durcir(juste un peu) dans le docker compose que j'ai mis de mon coté et ça fonctionne très bien
conteneur :
user: "1000:1000"
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL

explication :
-> Exécution non-root
-> Filesystem en lecture seule
->Empêche l'escalade de privilèges
->Supprime toutes les capacités Linux

et on rajoute un
deploy:
resources:
limits:
memory: 256M
->pour éviter les attaques par épuisement de ressources

et un
tmpfs:
- /tmp:noexec,nosuid,nodev,size=64m

->noexec : Pas d'exécution de binaires
->nosuid : Ignore les bits setuid/setgid
->nodev : Pas de fichiers device
->size=64m : Limite la taille

et pour Vaultwarden (je ne remet pas les autres) :
EMERGENCY_ACCESS_ALLOWED: "false"
-> désactive l'accès d'urgence

Pour l'admin, il n'a pas le moyen de décrypter quoi que ce soit ni d’accéder aux mot de passe de mémoire
Et sinon il y a aussi une version toute prête pour les paranoïaques qui existe
votre avatar
Intéressant, mais donc sans accès internet, on n'a plus accès au gestionnaire? Ou bien il y a aussi une copie locale sur le device, synchronisée quand la connection revient?
Pour le moment j'ai mon fichier keepass sur un drive quelconque, et keepassxc installé sur le tel, les PC, etc. Ca me parait plus simple et pas moins sécurisé (vu que le fichier keepass est chiffré), non?
votre avatar
tu as une copie sur chaque plugin/appli connecté à ton gestionnaire de mot de passe. Tu met un traefik devant avec SSL auto et firewall et donc c'est en ligne et sécurisé.
votre avatar
Il existe une appli KeepassXC pour les tel?
Android? J'ai pas trouvé.
Merci ☺️
votre avatar
Pas KeepassXC lui-même, mais KeepassDX est dispo sur Android. Il gère le déverrouillage de la base avec le pattern du portable, pratique.
votre avatar
Merci!!
votre avatar
Il y a aussi Keepass2Android
votre avatar
J'auto héberge Vaultwarden depuis des années. Mais en effet, pour des données aussi sensible, il faut être sûr de ce qu'on fait. (fail2ban, etc.)

Et pour la continuité, en cas de coupure d'Internet longue durée (j'ai eu le cas lors de mon dernier déménagement, 3 semaines de coupure), ça peut être problématique. Alors les "sessions" déjà ouvertes dans les extensions de mes navigateurs avaient encore en cache le coffre, pareil pour le mobile.

Dans mes backups, il y a la db vaultwarden. Mais si besoin de redeployer le coffre sur un vps, surtout dans l'urgence, pas super pratique. Du coup, j'exporte manuellement une fois par semaine le coffre en json chiffré, que je peux importer si besoin sur mon compte officiel Bitwarden (j'ai pris un abonnement également pour les soutenir)

Le seul problème de l'export manuel, c'est qu'il n y a pas les passkeys
votre avatar
Et pour la continuité, en cas de coupure d'Internet longue durée (j'ai eu le cas lors de mon dernier déménagement, 3 semaines de coupure), ça peut être problématique
Remarque pertinente en effet, ce qui me conforte dans un choix offline synchronisé entre appareils.
votre avatar
Excellente solution que ce Vaultwarden, anciennement Bitwarden-RS si mes souvenirs sont bons.
Merci pour ce tuto, j'avais un peu galéré à l'époque pour l'installer et j'ai fini par faire un tuto pour les potes :p
Je l'auto-héberge aussi depuis des années sur mon NAS, c'est très fiable, ça fonctionne partout, mac, linux, Android, iOs, n'importe quel navigateur, bref je n'ai pas encore rencontré de cas où ça ne marchait pas.
Pour le Backup je sauvegarde le container, le stockage en chiffré, et j'exporte régulièrement le coffre.

Pour ce qui est du offline il n'y a aucun problème, en effet en cas de coupure internet longue durée on ne pourra plus ajouter d'éléments, ni connecter de nouveaux devices, mais tous ceux existants gardent leur cache chiffré en local, et j'ai pu sans aucun problème utiliser toutes les fonctionnalités (sauf la synchro bien sûr) sans connexion pendant plusieurs semaines... Ensuite ça fonctionne toujours sur le réseau local le cas échéant.
votre avatar
Merci pour ce tuto. On m'a conseillé bitwarden pour un cas assez différent: les mots de passe utilisés par plusieurs utilisateurs.

Dans le cas d'une association avec différentes personnes qui doivent accéder à des mots de passe en fonction de leur rôle, l'utilisation de keepass ou keepassxc devient compliquée car cela demande d'utiliser le même mot de passe pour tous et il y a un risque d'écrasement dès lors que plusieurs personnes réalisent des modifications.

Keepassxc a été amélioré dernièrement pour éviter la perte de données lors de modifications croisées quand le coffre-fort est hébergé sur un espace synchronisé.

La question qui reste est donc: bitwarden permet-il d'avoir des mots de passe partagés par un compte et accessibles en lecture seule pour d'autres personnes ?
votre avatar
Avec Bitwarden (officiel), tu peux partager des mots de passes suivant ton type d'abonnement, qui va te donner plus ou moins de droits sur les organisations/collections. voir la doc sur les organisations, et la tarification.

Avec Vaultwarden (celui du tuto), tout est ouvert, tu as accès à tout, sans restriction.
votre avatar
Non, sur Vautwarden, tu peux aussi avoir des droits sur les Collection (des sortes de dossiers pour les Organizations), et donc sur les mots de passe dedans.
Tu peux tout à fait dire "telle personne n'a de droits qu'en lecture seule sur ces mdps, mais telle autre personne peut aussi les modifier".
votre avatar
Tu m'as mal compris, ou je n'ai pas été clair ^^ ce que je voulais dire c'est qu'avec Vaultwarden, ce n'est pas une option, tu as accès aux organisations/collections
votre avatar
Sur Vaultwarden tu peux créer par exemple une organisation dans le logiciel avec des collections de mots de passe avec des droits selon ce que tu veux. Il y a aussi des dossiers
votre avatar
J'ai découvert Passbolt, qui a les fonctionnalités de partage dans l'édition communautaire, et fournit une gestion granulaire des mots de passe au lieu de tout donner. C'est fait au Luxembourg aussi, et ils passent au FOSDEM 🙂
Et pour le coup, il y a du read-only aussi.
votre avatar
Si vous voulez tester Vaultwarden ou pleins d'autres services avant de passer le cap, vous avez https://www.chatons.org/
C'est une association d'hébergeurs (" Collectif des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et Solidaires")
votre avatar
J'ai utilisé le déploiement léger de bitwarden: https://bitwarden.com/help/install-and-deploy-lite/

Effectivement plus léger que SQL server... Qui aurait pu prédire ?
J'aimerai bien savoir si vaultwarden est encore plus léger ou similaire ?

Sinon avant j'utilisais keepass avec un fichier synchro, et j'ai beaucoup pleuré quand j'ai perdu 9 mois de mise à jour sur une corruption... Ce produit n'est simplement pas conçu pour et est d'un autre âge.
votre avatar
pour keepass, toujours faire des sauvegardes des fichiers kdbx
votre avatar
Même si KeepassXC créé une copie à chaque modif, il n'y a en effet pas d'historique.

Une petite copie datée de temps en temps sauvegardée dans un endroit sûr* ne fait pas de mal :yes:

* : pas sur l'armoire.
votre avatar
Vaultwarden est vraiment léger
votre avatar
Merci beaucoup !
J'ai juste une question:
Pourquoi Vaultwarden est déployé dans docker et pas Caddy?

Je me pose la question par ce que j'aime bien tout classer alors quand je vois un tuto à base d'une application conteneurisée et d'une autre installée directement sur le serveur, ça me perturbe 😅

Merci
votre avatar
Vu le débat en commentaires, il y a moyen de faire quelque chose avec la communauté.

Je rêve d'auto-hebergement (documents de la vie courante d'une famille, plusieurs pc, plusieurs smartphones, photos, etc) mais je me confronte à des questions existentielles telles que : quel type de serveur de base? Proxmox? Yunihost? TrueNas? OMV?
Docker? Podman? Binaires en direct? Dans des lxc mini?
Quels services?
Pihole?
Quel dns? Caddy ? Nginx? Etc

Est-ce possible d'envisager un dossier multi-articles, avec sondage voir débat avec la communauté pour co-construire un truc, qui au final pourra utiliser le stockage S3 de moji?
(Mon clavier transforme moji en mojito 😛)

Merci
votre avatar
Pourquoi des "curl" / install.sh,
y'a pas de gestionnaire de paquet sur ce VPS ?

J'ai pas fait le boulot jusqu'au bout mais sur gentoo
emerge www-apps/vaultwarden-web
devrait suffire :)
votre avatar
Pourquoi des "curl" / install.sh,

Pareil, je suis loin d'être un grand fan de cette méthode en mode "saut de la foi".

C'est aussi une des raisons pour lesquelles Podman est plus indiqué à mon sens : il est dispo dans les repos des grandes distribs et se verra donc géré par le gestionnaire.

D'ailleurs, j'ai regardé par curiosité. Bitwarden est disponible sur Flathub, mais pas Vaultwarden a priori.
votre avatar
Honnêtement, faut vraiment arrêter de mettre du Docker partout à tout va, c'est usant à force. Là le VPS est clairement dédié pour ça, c'est tout aussi facilement installable en bare, c'est d'ailleurs comme ça que je l'installe en entreprise chez les clients, qui mettent une VM dédiée à disposition, et c'est beaucoup moins prise de tête de la sorte.
votre avatar
le problème des VM, c'est que tu dois mettre le système complet. Si tu veux plein de micros services bien séparés bien sécurisé, c'est mieux un conteneur. Et puis pour les mise à jours c'est plus pratique.
votre avatar
Ce que je veux dire, c'est qu'en entreprise (ou dans n'importe quel environnement sur lequel on veut actuellement installer un gestionnaire de mot de passe de façon sécurisée et propre), une VM complète sera de toute façon dédiée pour cela (et probablement sur un VLAN spécifique aussi). Donc tu auras de toute façon un système complet à gérer. À partir de là, installer Docker pour installer Vaultwarden ne fait pas sens. Autant faire une installation bare propre.
votre avatar
En entreprise tu auras plutôt tendance à déployer ça sur du PaaS. Sauf à vouloir payer en maintenance et en dette technique sur une VM.

Le risque d'une installation en bare, c'est de tomber sur une comptabilité cassante des libs dispos dans les repositories de l'OS versus celles supportées par le produit. Même si ça arrive rarement, un outil de cette criticité devrait l'anticiper. Voire de gérer des installations séparées pour éviter ça, mais de devoir maintenir les libs quand même. Et de tomber dans l'autre travers du patch management qui fait peur au business (rigole pas, j'ai connu des cas en entreprise où fallait prévoir trois semaines à l'avance une mise à jour système qui demandait un reboot à cause d'une architecture non redondante sur des composants métier critiques).

Accessoirement, un gestionnaire de secrets doit garantir une certaine disponibilité qu'une VM seule ne peut apporter vu qu'elle assume 100% du risque. Bref, en entreprise, j'aurais tendance à déployer ça sur un Kube ou un CaaS avec une bonne sauvegarde des données.

... ou de recourir au gestionnaire de secrets du Cloud Provider, même si ces derniers sont rarement user-friendly et n'ont pas la finalité qu'un Vaultwarden / Hashicorp Vault.

De mon expérience, les VM, c'est que des emmerdes coûteuses quand les entreprises ne veulent pas l'assumer.
votre avatar
On a effectivement pas du tout la même expérience.

De mon côté, j'ai pu en déployer dans deux types d'entreprise, des PME et des gros groupes.

Côté PME, ils vont te filer une VM sur l'infra Proxmox/ESX du coin, vu qu'il est pas rempli de toute façon et que c'est pas ça qui va le charger plus que ça si tu fais une installation lite (ce qui est le cas en bare, Debian minimal, nginx, Vaultwarden, ça réussit à passer même dans 512 MB si nécessaire, même si on recommandera plus évidemment).

Réflexion que j'ai entendue par l'une d'entre elle : "On va pas payer du SaaS alors qu'on a de la place sur notre hyperviseur.Si ça tombe en panne de toute façon on aura d'autres urgences".

Donc on te file une VM, et donc la maintenance de la VM tu vas devoir la prendre en compte de toute façon, que tu sois en bare ou pas sur ton install Vaultwarden. Mais au final, un petit script d'update qui s'en charge totalement (quelques minutes à écrire en faisant les choses proprement et en proposant un rollback en une action) ou un pipeline CD propre selon le temps qu'on te donne, et c'est réglé.

Côté gros groupes, l'offre SaaS t'oublies. Quand t'as 5/10k+ users à couvrir juste en première cible, à 6$/mois/user en tarif public, on te laisse même pas contacter l'équipe commerciale pour avoir une réduction. Ton "projet sécurisant", il passe à la trappe direct si tu annonces un budget de départ à 700k+ par an pour ça, c'est même pas la peine.

Du coup, tu discutes avec les équipes IT concernées. Et là, Docker, c'est mort né. Soit tu te fais bloquer direct par le CISO qui te rie au nez en te disant que Docker ça passe pas la cyberassurance et donc c'est interdit, soit tu te prends une fin de non recevoir des équipes infras/sécu qui veulent pas en entendre parler pour des raisons de sécurité.

Au final, on te fournit une VM sur une infra dédiée aux VMs critiques qui dispose d'un RTO à quelques secondes, et entre les points de restaurations automatiques immutables toutes les X secondes et les snapshots que tu fais avant d'intervenir, t'es plutôt tranquille si tu fais pas n'importe quoi de A à Z.

Bien sûr dans les deux cas tu incites fortement l'entreprise concernée à faire un don au projet pour ne pas rentrer dans le cas des gros leechers qui prennent tout sans jamais rien donner.

Bref, mon commentaire initial était surtout un coup de gueule au fait qu'on voit de plus en plus de tutos et même de README sur les projets en mode "Very easy to setup, use docker compose and voilà!". C'est assez chiant. Si quelqu'un veut utiliser Docker, il n'aura aucun mal à trouver les images pour, mais quand je vais sur un projet, j'attends d'un README qu'il soit utile, pas qu'il nous laisse déchiffrer des Dockerfile. Et c'est un peu la même pour des tutos. Qu'ils mentionnent Docker comme une des méthodes, pourquoi pas, mais qu'ils se basent 100% dessus, c'est passer à côté de la cible. Si t'as besoin d'un tuto pour te dire comment faire tourner Vaultwarden sur Docker, tu devrais peut-être pas envisager de faire tourner Vaultwarden sur Docker, parce que tu vas forcément rater quelque chose niveau sécurité. Je dis pas ça méchamment, nombre d'articles d'équipes de cybersécurité déconseillent fortement d'auto-héberger son gestionnaire de mot de passe, c'est pas pour rien.
votre avatar
nombre d'articles d'équipes de cybersécurité déconseillent fortement d'auto-héberger son gestionnaire de mot de passe, c'est pas pour rien.
Je suis dans ce cas figure avec Yunohost, as-tu quelques liens concernant ces articles en question stp ?
votre avatar
Installé comme extension de HomeAssistant depuis quelques mois, je dois reconnaître que je ne peux plus m'en passer !

C'est d'un confort de ouf, d'autant qu'on peut créer des coffres partagés (par exemple, un fournisseur d'énergie pour que chaque parent puisse obtenir un justif de domicile sans se prendre la tête, ou encore pour le FAI etc.)

L'extension "qui va bien" en tant qu'APP sur android (et non pas extension de navigateur) a nécessité un peu de tâtonnement pour les réglages (perso, je passe par l'extension de FF, mais ma compagne utilise... chrome !). Je ne ferai pas marche arrière ^^
votre avatar
Moi j'ai toujours eu du mal avec bitwarden.

J'utilise https://www.passwordstore.org/ , qui est packagé dans la plupart des distributions sous le nom "pass" & qui s'appuie sur gpg & git pour la partie décentralisée. Et une extension firefox.
Bien sur le repo de base est chez moi (un forgejo que j’utilise aussi pour autre chose) avec une copie sur un autre serveur en git-bare ssh-only.

Le coté git permet la résolution de conflit et de ne pas être bloqué quand on a pas de réseau.

Après j'admets que c'est pas trivial à utiliser quand on utilise pas git.
votre avatar
Il y a aussi Psono comme solution auto-hébergeable open source : https://psono.com/fr
votre avatar
Quelques angles morts de cette solution Vaultwarden avec clients Bitwarden :

  1. La licence des clients Bitwarden : une partie du code de chaque client est sous licence Bitwarden, et n'est pas libre. Les clients sont-ils compilables sans ?

  2. La fonctionnement hors-ligne n'est prévu qu'accidentellement, en cas de verrouillage du coffre, sans déconnexion, et ne permet l'accès au coffre qu'en lecture seule. Cf. https://bitwarden.com/blog/configuring-bitwarden-clients-for-offline-access/#staying-logged-in-to-browser-extension-desktop-and-mobile-clients
    Offline Vault sessions will expire after 30 days.
    It’s important to note the difference between locking your vault and logging out. When you lock your vault, the encrypted vault data stays on your local device, and can be unlocked with your master password, PIN, or biometrics. When you log out the data is cleared from your device and you must connect to the Bitwarden servers (or your own server if self-hosted) and enter your credentials to receive the encrypted data again.
    Une perte de fonctionnement de votre instance Vaultwarden peut donc vous enfermer dehors à un moment critique.

votre avatar
J'arrive un peu tard mais on s'il y a encore qq un : admettons sur j'héberge mon vaultgarden et que mon serveur crash ou, pire, que mon ssd flanche. Je perds tout ou il y a un semblant de backup prévu (backup de conf + db chiffrée) pour restaurer le tout rapidement ?
Parce que l'intérêt des services payants est, en premier lieu (pour moi), de ne pas avoir à gérer une HA. Pour un coût faible (que l'on dépasse en auto-hébergeant, avec le temps et l'elec dépensés).
votre avatar
Bien comme pour tout service auto-hébergé, c'est à vous de prévoir le backup. Dans le cas de Vaultwarden tel qu présenté ici, c'est simplifié c'est une base de données SQLite qui est chiffrée. Il suffit donc simplement de sauvegarder le dossier vw-data du serveur (le volume docker présenté dans le tuto) et le docker-compose.yml pour pouvoir remonter l'instance à tout moment.

Ensuite, l'application permet d'exporter ses données manuellement dans différents formats (JSON, csv) qui sont compatibles avec un import dans une autre solution ou dans un autre Bitwarden.

Enfin, précisons que c'est un outil résilient. Si le serveur n'est plus disponible, les clients déjà synchronisés peuvent utiliser un cache local. Il sera donc possible d'utiliser tous les mots de passe enregistrés déjà connus, mais pas d'en créer de nouveau.
votre avatar
Merci. Je devais être dans un état second pour poser cette question ainsi. Je pense que j'avais plutôt en tête la HA et le fait de perdre soudainement accès aux données. Le cache local répond à la question.
votre avatar
"Si Bitwarden est régulièrement audité, ce n’est pas le cas du projet Vaultwarden."
Pour info le BSI (équivalent allemand de l'ANSSI) a audité Vaultwarden en 2024 et les points pris en compte dans le produit, cf github.com GitHub

[Tuto] Auto-héberger son gestionnaire de mots de passe avec Vaultwarden (Bitwarden)

  • Vaultwarden : une alternative open source à Bitwarden, en plus light

  • Première étape Docker, puis Vaultwarden

  • Un nom de domaine pour passer en HTTPS avec Let’s Encrypt

  • caddy pour un certificat Let's Encrypt

  • Création de compte sur Vaultwarden et désactivation des inscriptions

  • Activer la page d’administration, si besoin

  • Utilisez les extensions et applications officielles Bitwarden