Vaultwarden
01 - Description
Environnement de déploiement
|
Parametre |
Valeur |
|
OS |
Debian 12 |
|
IP de la VM |
192.168.99.6 |
|
Ressources VM |
1 vCPU, 512 Mo RAM, 8 Go disque |
|
Hyperviseur |
Proxmox |
|
Moteur de conteneur |
Docker Engine 29.5.2 |
|
Port expose |
8443 (HTTPS) |
Qu'est-ce que Vaultwarden ?
Vaultwarden est une implementation open-source et allegee du serveur Bitwarden, ecrite en Rust. Il permet d'auto-heberger un gestionnaire de mots de passe complet sur sa propre infrastructure, sans dependance a des services cloud externes.
Contrairement au serveur officiel Bitwarden qui necessite des ressources importantes, Vaultwarden est concu pour fonctionner sur des machines modestes tout en offrant les memes fonctionnalites essentielles : coffre-fort chiffre, organisation des secrets, partage entre utilisateurs et interface web accessible depuis un navigateur.
Utilite dans le projet IRS-SI
Dans le cadre du projet IRS-SI, plusieurs services ont ete deployes sur des machines virtuelles distinctes : Asterisk, Zabbix, NoDogSplash, le NAS Synology, le WAP150, le PDU ATEN, etc. Chacun de ces equipements possede des identifiants d'administration qu'il est necessaire de stocker de maniere securisee et accessible a l'ensemble de l'equipe.
Vaultwarden repond precisement a ce besoin en offrant :
• Un coffre-fort chiffre centralise pour tous les mots de passe du projet
• Un partage securise via l'organisation Projet-IRS entre les trois membres de l'equipe
• Une interface web accessible depuis n'importe quel poste du reseau local
• Un deploiement entierement en local, coherent avec la politique de securite du projet
02 - Installation
Installation Docker
Docker n'est pas inclus dans les depots Debian par defaut. La procedure suivante utilise le script d'installation officiel de Docker :
sudo apt update && sudo apt install -y curl
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
Apres l'ajout au groupe docker, il est necessaire de se deconnecter puis de se reconnecter pour que le changement prenne effet.
Generation du certificat SSL auto-signe
Vaultwarden exige une connexion HTTPS pour fonctionner. En environnement local sans autorite de certification, un certificat auto-signe est genere avec OpenSSL :
sudo mkdir /vw-ssl
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout /vw-ssl/vaultwarden.key \
-out /vw-ssl/vaultwarden.crt \
-subj "/CN=192.168.99.6"
Ce certificat est valable 10 ans et genere une cle RSA 2048 bits. Le navigateur affichera un avertissement de securite lors du premier acces, qu'il faudra accepter manuellement.
Creation du script de demarrage
Pour faciliter le demarrage du conteneur et eviter les problemes de saisie dans la console Proxmox, la commande Docker est enregistree dans un script bash :
nano start.sh
Contenu du fichier start.sh :
#!/bin/bash
sudo docker run -d --name vaultwarden --restart unless-stopped \
-e ADMIN_TOKEN=IRS-SI-Admin2026 \
-e ROCKET_TLS='{certs="/ssl/vaultwarden.crt",key="/ssl/vaultwarden.key"}' \
-v /vw-data:/data \
-v /vw-ssl:/ssl \
-p 8443:80 \
vaultwarden/server:latest
Description des parametres :
• -d : execution en arriere-plan (mode detache)
• --name vaultwarden : nom du conteneur
• --restart unless-stopped : redemarrage automatique au boot
• -e ADMIN_TOKEN : token d'acces au panel d'administration
• -e ROCKET_TLS : chemin vers le certificat et la cle SSL
• -v /vw-data:/data : volume de donnees persistant
• -v /vw-ssl:/ssl : volume du certificat SSL
• -p 8443:80 : exposition du port 8443 en HTTPS
Lancement du conteneur
chmod +x start.sh
./start.sh
Verification que le conteneur est bien en cours d'execution :
sudo docker ps
Le statut doit afficher 'Up' pour le conteneur vaultwarden. L'interface est ensuite accessible depuis un navigateur a l'adresse :
https://192.168.99.6:8443
03 - Configuration
Creation du compte administrateur
Lors du premier acces a l'interface web, aucun compte n'existe. Il faut en creer un en cliquant sur 'Creez un compte' en bas de la page de connexion. Ce premier compte sera automatiquement proprietaire de l'instance.
Champs a renseigner lors de la creation du compte :
• Adresse electronique : kermorvant.m@stjolorient.fr
• Nom : Matheo
• Mot de passe principal : mot de passe fort (min. 12 caracteres)
Important : le mot de passe principal est le seul a devoir etre memorise. Il ne peut pas etre recupere en cas d'oubli car Vaultwarden utilise un chiffrement cote client (le serveur ne connait jamais le mot de passe en clair).
Acces au panel d'administration
Le panel d'administration Vaultwarden permet de gerer les utilisateurs, confirmer les comptes et superviser l'instance sans passer par un compte utilisateur. Il est accessible a l'adresse :
https://192.168.99.6:8443/admin
Le token d'acces est celui defini lors du lancement du conteneur : IRS-SI-Admin2026
Depuis ce panel, les actions disponibles sont :
• Consulter et gerer tous les utilisateurs enregistres
• Confirmer les inscriptions sans envoyer d'email
• Supprimer ou desactiver des comptes
• Consulter les organisations et collections
• Configurer les parametres SMTP si un serveur mail est disponible
Creation de l'organisation partagee
Une organisation dans Vaultwarden permet de partager des mots de passe entre plusieurs membres. Pour creer l'organisation du projet :
• Dans l'interface web, cliquer sur l'icone grille en haut a droite
• Cliquer sur 'Nouvelle organisation'
• Nom : Projet-IRS
• Plan : Gratuit
• Valider la creation
L'organisation Projet-IRS apparait ensuite dans le menu lateral gauche sous 'Coffres'.
Gestion des membres
Pour inviter les autres membres du projet dans l'organisation :
• Aller dans Admin Console (menu bas gauche)
• Cliquer sur 'Membres' puis 'Inviter un membre'
• Saisir l'email du membre a inviter
• Le membre doit ensuite creer son compte sur https://192.168.99.6:8443
• Une fois le compte cree, aller dans l'onglet 'Confirmation necessaire' et confirmer
Membres de l'organisation Projet-IRS :
|
Membre |
|
|
Kermorvant Matheo |
kermorvant.m@stjolorient.fr |
|
Le Garrec Raphael |
legarrec.r@stjolorient.fr |
|
Le Galliot Ilian |
legalliot.i@stjolorient.fr |
Gestion des collections
Les collections permettent de classer les mots de passe par categorie au sein de l'organisation. Une collection par defaut est creee automatiquement. Il est recommande de creer des collections thematiques pour le projet :
• Reseau : credentials des equipements reseau (switch, routeur, WAP150)
• Serveurs : acces Proxmox, VMs, services (Zabbix, Asterisk, NoDogSplash)
• Supervision : comptes Zabbix, SNMP credentials
• Infrastructure : PDU ATEN, onduleur APC, NAS Synology
Pour creer une collection : Admin Console > Collections > bouton Nouveau.
Ajout d'un mot de passe
Pour ajouter un identifiant dans l'organisation :
• Aller dans Coffres > Projet-IRS
• Cliquer sur '+ Nouveau'
• Choisir le type : Identifiant
• Renseigner le nom, l'URL, le nom d'utilisateur et le mot de passe
• Selectionner le proprietaire : Projet-IRS (organisation)
• Selectionner la collection appropriee
• Enregistrer
Les mots de passe ajoutes dans une collection de l'organisation sont visibles par tous les membres ayant acces a cette collection. Les mots de passe dans 'Mon coffre' restent prives.
Recommandations de securite
Dans le cadre du projet IRS-SI, les mesures de securite suivantes ont ete appliquees :
• Acces HTTPS exclusif via certificat TLS, le HTTP n'est pas expose
• Token ADMIN_TOKEN protege l'acces au panel d'administration
• Les donnees sont stockees dans /vw-data isole du conteneur
• Le conteneur est configure avec --restart unless-stopped pour la disponibilite
• L'acces est limite au reseau local du projet (192.168.99.0/24)
• Chaque membre dispose de son propre compte avec identifiants uniques