Mise en place de Vaultwarden pour Zeste de Savoir

a marqué ce sujet comme résolu.

Bonjour tout le monde,

C’était dans les tuyaux depuis un petit moment, Situphen m’a gentiment demandé quand est-ce que je pensais mettre ça en place, c’est un week-end de trois jours, autant de facteurs qui font que : on a maintenant une instance Vaultwarden pour stocker les mots de passe liés à l’association !

Pour qui ?

Pour toute personne investie dans l’association Zeste de Savoir qui possède ou a besoin de mots de passe en lien avec les activités liées à l’association. Par exemple :

  • les mots de passe des boîtes mail de ZdS
  • les mots de passe des comptes des réseaux sociaux
  • les mots de passe des comptes liés à l’infrastructure technique
  • etc.

L’objectif est qu’on ait un unique endroit où stocker ces mots de passes et où on peut facilement gérer qui a accès à quels mots de passe.

Où ?

C’est accessible à l’adresse https://vault.zestedesavoir.com.

En pratique, c’est hébergé sur le même serveur qui héberge Matomo. À terme, une copie de cette instance sera disponible en lecture seule sur le serveur de production, dans le cas où on ne pourrait plus accèder au serveur Matomo.

Comment ?

C’est une instance Vaultwarden. J’ai créé les scripts Ansible pour la déployer et ça fonctionne avec Vagrant dans une machine virtuelle avec Vagrant.

Je n’ai pas utilisé Vaultwarden pour le déploiement et j’ai tout fait manuellement pour deux raisons :

  • le serveur qui héberge Matomo n’est pas géré par les scripts ansible-zestedesavoir
  • Vaultwarden n’est pas disponible dans les dépôts Debian et demande une procédure manuelle pour obtenir un binaire

J’ai désactivé la fonctionnalité des "sends" (qui permet d’envoyer des fichiers de façon sécurisée si j’ai bien compris), les inscriptions (il faut que quelqu’un qui a déjà un compte vous ajoute) et la création d’organisations (après avoir créé l’organisation Zeste de Savoir). J’ai activé la fonctionnalité des groupes (bien que marquée comme bugguée, elle semble en fait assez stable).

Un point qui m’embête un peu, c’est que Vaultwarden utilise beaucoup les mails (pour activer son compte, pour accepter de rejoindre un groupe, etc). Ça veut dire que le serveur Matomo doit pouvoir envoyer des mails. On a deux possibilités pour ça :

  • envoyer les mails directement depuis le serveur (comme on le fait pour la production), mais il faut bien configurer un serveur de mail, ce qui est difficile
  • s’appuyer sur un serveur SMTP déjà existant, ce qu’on peut faire en utilisant le serveur de nos boîtes mail. L’inconvénient (le seul ?) est que le mot de la boîte mail utilisée doit être stocké dans un fichier sur le serveur.

J’ai choisi la seconde solution avec l’adresse technique@zds (le fichier de configuration n’est lisible que par Vaultwarden). Et ça fonctionne super bien.

Et maintenant ?

J’invite Situphen et Amaury pour qu’ils se créent un compte juste après avoir créé ce sujet, je pense qu’à eux deux ils vont pouvoir inviter toutes les personnes qui auraient besoin d’avoir accès à ce service.

L’idée est de créer des groupes dans l’organisation Zeste de Savoir (j’ai déjà créé le groupe Technique, par exemple) et d’attribuer une collection à chaque groupe. On peut ensuite gérer qui a accès à quel groupe.

Pas de sauvegarde pour l’instant, donc mettez-y les mots de passe déjà existants, pas de nouvelles informations pas sauvegardées ailleurs, prenez l’outil en main.

Et pour la suite ?

Si l’outil donne satisfaction, je mettrais en place la même instance, mais sur le serveur de production, qui récupérera quotidiennement les données du serveur Matomo. Bien que Vaultwarden ne propose pas de mécanisme de ce genre, cette instance sera en lecture seule : toute modification faite sur cette instance sera effacée lors de la prochaine récupération des données du serveur Matomo.

I’m in! Mais je n’ai pas l’impression d’avoir accès à l’organisation, pour le moment.

Amaury

Tu as encore le statut d'invité. Normalement avec la configuration que j’ai faite, tu as le lien d’activation du compte directement dans le premier mail d’invitation que tu as reçu. (avec la configuration par défaut, on peut se connecter dès le compte créé, mais il faut cliquer sur un bouton pour se faire envoyer un mail de confirmation pour activer toutes les fonctionnalités).

En effet il fallait laisser le champ vide pour que ça passe (étrange mais bon).

firm1

Les hints (pouvoir donner des indices pour se souvenir de son mot de passe) est une des fonctionnalités que j’ai désactivées.

Quelque chose que j’ai oublié de préciser dans mon message initial, c’est que lorsque certaines fonctionnalités sont désactivées, elles apparaissent toujours dans l’interface, mais l’interface renvoie une erreur lorsqu’on tente de s’en servir (apparemment c’est pour rester compatible avec l’API Bitwarden, je n’ai pas bien compris…). Par exemple : le lien pour s’inscrire est présent sur la page de connexion, on peut remplir le formulaire d’inscription, mais on aura une erreur au moment de valider le formulaire, parce que les inscriptions sont désactivées.

Tout semble bon ! J’avais lu un peu vite le courriel d’invitation à l’organisation. J’ai créé une collection pour la communication également.

Je n’aurai pas le temps de transvaser les mots de passe aujourd’hui mais je m’en chargerai (au moins pour l’asso et la com) si personne ne le fait avant moi.

+0 -0

J’ai créé une collection pour la communication également.

Il faudra faire attention au niveau des permissions si on ajoute des membres en dehors du CA (à l’exception de Philippe peut-être) pour ne pas donner accès aux mots de passe de l’association.

Je n’aurai pas le temps de transvaser les mots de passe aujourd’hui mais je m’en chargerai (au moins pour l’asso et la com) si personne ne le fait avant moi.

Point d’attention pour l’association, l’idée est de profiter du transvasement pour modifier les mots de passe en même temps. (Ça peut aussi valoir le coup pour la communication cela dit !)

+2 -0

Point d’attention pour l’association, l’idée est de profiter du transvasement pour modifier les mots de passe en même temps. (Ça peut aussi valoir le coup pour la communication cela dit !)

On est d’accord là dessus (com’ avec oui !)

+0 -0

Je n’aurai pas le temps de transvaser les mots de passe aujourd’hui mais je m’en chargerai (au moins pour l’asso et la com) si personne ne le fait avant moi.

Point d’attention pour l’association, l’idée est de profiter du transvasement pour modifier les mots de passe en même temps. (Ça peut aussi valoir le coup pour la communication cela dit !)

Situphen

Point d’attention là-dessus : comme je disais dans mon message initial, pas de sauvegardes en place pour l’instant, donc n’y stockez pas de nouveaux (modifiés) mots de passe pour l’instant.

Petit résumé de mon week-end sur Vaultwarden.

Sauvegardes

Ça y est, les données de Vaultwarden sont sauvegardées. Toujours à l’aide de Borg, chaque nuit une sauvegarde chiffrée (pas nécessaire dans l’absolu, puisque les données sont déjà chiffrées de base, mais une couche en plus ne peut pas faire de mal) est faite vers le serveur de bêta et vers mon serveur. Les clés de chiffrement sont dans le Vaultwarden :)

Réplication sur le serveur de production

Tout le Vaultwarden est maintenant répliqué aussi chaque nuit sur le serveur de production, où une instance est accessible à l’adresse https://vault-ro.zestedesavoir.com. Le principe de cette instance est de ne jamais s’en servir, sauf dans le cas extrême où l’instance principale https://vault.zestedesavoir.com sur le serveur hébergeant Matomo n’est pas accessible.

Vaultwarden ne propose pas (à ma connaissance) de mécanisme de lecture seule, donc j’ai juste ajouté à la main un bandeau d’en-tête bien moche pour rappeler que les éventuelles modifications faites sur l’instance en "lecture seule" seront écrasées lors de la synchronisation la nuit suivante.

L’envoi des mails est aussi désactivé sur l’instance en lecture seule (ou plutôt : j’ai enlevé les paramètres SMTP de la configuration de Vaultwarden, je ne sais pas ce que ça fait si Vaultwarden a soudainement envie d’envoyer un mail…).

Conclusion

Ça y est, vous pouvez pleinement profiter de Vaultwarden pour Zeste de Savoir !

J’ai poussé la documentation de la mise en place de Vaultwarden dans le dépôt doc-infra (c’est un dépôt privé, seuls les membres de l’équipe Infrastructure sur GitHub y ont accès), et quelques autres scripts et précisions dans les autres dépôts correspondants.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte