Avoir son propre gestionnaire de mot de passe dans le cloud

Avoir son propre gestionnaire de mot de passe dans le cloud

Une clef -- Photo by rc.xyz NFT gallery / Unsplash

Avoir des mots de passe sécurisé, c'est cool. Avoir un logiciel qui s'occupe de s'en souvenir, c'est mieux. Et si ce logiciel est dans le cloud, c'est incroyable, mais faut que tout cela soit bien sécurisé.

Bitwarden

La solution la plus populaire de gestionnaire de mot de passe dans le cloud est Bitwarden.

Bitwarden est un service proposé par la société du même nom. Il existe une offre gratuite qui est largement suffisante, mais malheureusement Bitwarden n'est pas open-source. Enfin, les clients Bitwarden sont open-sources, mais pas le serveur. Nous sommes donc incapable de vérifier leur fiabilité.

Sinon, Bitwarden est une solution clef en main qui marche partout. Elle permet de garder les identifiants et mots de passe de n'importe quel site. Comme toutes les autres solutions modernes, Bitwarden peut aussi remplir automatiquement les champs pour se connecter. Mais elle ne s'arrête pas là ! Elle prend aussi charge le TOTP (aussi appelé authentification à deux facteurs, 2FA, A2F, etc.) et permet de créer des champs personnalisés pour stocker des informations sensibles comme les codes de sauvegarde d'un compte, le token pour se connecter à une API, et j'en passe. Et en plus, Bitwarden reste très simple d'utilisation !

Par contre, comme évoqué lors d'un précédent paragraphe, les serveurs de Bitwarden ne sont pas open-source et il faut payer une licence si on souhaite l'héberger autre part. Donc, nous avons besoin de payer un serveur ainsi qu'une licence si on souhaite réellement avoir le contrôle sur nos données sans oublier que le serveur n'est pas open-source...

Enfin, c'est la théorie, car faire du reverse-engineering sur des applications open-source est assez simple 🙂

Vaultwarden

Vaultwarden, anciennement Bitwarden_RS, est un serveur open-source non officiel compatible avec les clients Bitwarden. Autrement dit, c'est un serveur Bitwarden gratuit et open-source.

Dans ce post je vais vous expliquer comment installer Vaultwarden d'une manière sécurisée dans Docker !

Mais pourquoi Docker ? Docker est une solution de conteneurisation permettant d'isoler les applications. Ceci est très utile si on souhaite éviter d'avoir des conflits entre nos applications. De plus, cela permet d'avoir une adresse IP locale par conteneur, ce qui facilite grandement la création d'un reverse-proxy. Et cerise sur le gâteau, avoir une application isolée dans Docker, c'est évité de l'exposer à l'extérieur, et donc avoir un système plus sécurisé !

Installation

Pour installer Vaultwarden, nous allons d'abord créer le fichier docker-compose.yml :

version: '3'

services:
  vaultwarden:
     image: vaultwarden/server:latest
     restart: unless-stopped
     volumes:
       - "./data:/data/"
     env_file:
       - .env

Ce fichier est l'un des avantages de Vaultwarden : c'est très simple !

Créons maintenant le fichier .env :

DOMAIN="https://subdomain.foo.bar"
ADMIN_TOKEN=""
SIGNUPS_ALLOWED=false

Ce fichier indique à Vaultwarden le domaine qu'il va utiliser ainsi que le token de l'admin. N'oubliez pas de remplacer DOMAIN par le domaine que vous allez utiliser ainsi que de mettre un mot de passe admin sécurisé dans TOKEN (nous vous recommandons d'utiliser la commande openssl rand -base64 48 pour générer un mot passe sécurisé).

ℹ️
La variable SIGNUPS_ALLOWED indique à Vaultwarden si vous souhaitez accepter n'importe qui à s'inscrire. Vous n'avez pas besoin de la mettre à true pour créer un premier compte.
⚠️
N'oubliez pas de connecter Vaultwarden à votre reverse-proxy ! Si vous n'en utilisez pas, vous risquez de divulguer vos mots de passe à des hackers car la connection ne sera pas sécurisée !

Configuration

Nous pouvons maintenant lancer Vaultwarden et le configurer.

Rendez-vous à l'adresse que vous avez indiqué dans le fichier .env et créez-vous votre compte.

💡
Si vous ne pouvez pas vous créez de compte, mettez SIGNUPS_ALLOWED à true, relancez le serveur et créez vous un compte. Après vous pourrez le remettre à false et le relancer.
ℹ️
Plus le mot de passe est long, mieux c'est ! Mieux vaut avoir une citation de 50 caractères peu connue comme mot de passe qu'un qui fait 16 caractères !

Maintenant vous pouvez vous connecter à Vaultwarden depuis n'importe quelle client Bitwarden ! Pour ce faire, vous devez renseigner votre serveur dans un paramètre de connection. Sur ordinateur c'est ici (voir l'image).

Configurer le client Bitwarden pour PC

Et voilà, vous avez votre propre serveur Bitwarden de configurer et vous allez pouvoir les utiliser partout sans s'embêter à synchroniser un fichier.

Si vous avez des questions, des remarques ou quoi que ce soit à me faire parvenir, n'hésitez pas à me contacter !