[Docker] Vaultwarden, l'indispensable gestionnaire de mot de passe.

Vaultwarden est une implémentation alternative et non officielle du serveur Bitwarden, écrite en Rust.

Elle permet d'héberger soi-même un gestionnaire de mots de passe complet, compatible avec tous les clients officiels Bitwarden (extension navigateur, application mobile, application de bureau).

Pourquoi Vaultwarden ?

Le serveur officiel Bitwarden est open source mais nécessite des ressources importantes (basé sur .NET + MSSQL). Vaultwarden résout ce problème en proposant une implémentation légère et performante, idéale pour un usage personnel ou en petite équipe sur un serveur modeste (Raspberry Pi, VPS entrée de gamme, NAS…).

Fonctionnalités principales

  • Stockage de mots de passe avec organisation en dossiers et collections
  • Générateur de mots de passe intégré
  • Authentification à deux facteurs (2FA) — TOTP, FIDO2/WebAuthn, Duo
  • Partage sécurisé entre utilisateurs via des organisations
  • Bitwarden Send — partage de fichiers ou textes chiffrés de manière temporaire
  • Coffre-fort d'urgence — accès délégué en cas d'urgence
  • Synchronisation multi-appareils via les clients Bitwarden officiels
  • Chiffrement de bout en bout — les données sont chiffrées côté client avant d'être transmises

Vaultwarden est la solution idéale pour quiconque souhaite reprendre le contrôle de ses mots de passe sans dépendre d'un service cloud tiers, tout en bénéficiant de l'écosystème riche et mature de Bitwarden.

Installation : 

Nous supposons ici que docker est déja maitrisé un minimum 😉

J'ai choisi docker compose pour l'installer car je trouve ça plus simple.

L'installation ce fera (dans mon cas tout du moins) sur une machine tournant sous Débian 12.

  • Creez un répertoire (ou vous voulez)
mkdir vaultwarden
cd vaultwarden

creez un fichier compose.yaml et inserez ceci : 

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vw.domain.tld"
    volumes:
      - ./vw-data/:/data/
    ports:
      - 127.0.0.1:8000:80

Modifiez : 

DOMAIN : avec votre ndd

Lancez Vaultwarden : 

docker compose up -d

Nous supposons également que la partie certificat (let's encrypt) est acquise.

Voici le Vhost que j'ai utilisé avec let's encrypt :

D'abord pour le port 80 (qui redirigera vers le https: 

<VirtualHost *:80>
    ServerName vw.ndd.fr
    Redirect permanent / https://vw.ndd.fr/
RewriteEngine on
RewriteCond %{SERVER_NAME} =vw.ndd.fr
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

Puis le 443 : 

<VirtualHost *:443>
    ServerName vw.ndd.fr
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/vw.ndd.fr/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/vw.ndd.fr/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf

    ProxyPreserveHost On
    ProxyRequests Off

    RequestHeader set X-Forwarded-Proto "https"

    ProxyTimeout 300
    Timeout 300
    SetEnv proxy-nokeepalive 1

    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} =websocket [NC]
    RewriteRule /(.*) ws://127.0.0.1:8001/$1 [P,L]

    ProxyPass / http://127.0.0.1:8001/
    ProxyPassReverse / http://127.0.0.1:8001/

    ErrorLog ${APACHE_LOG_DIR}/vw_error.log
    CustomLog ${APACHE_LOG_DIR}/vw_access.log combined
</VirtualHost>

Rendez vous à : https://vw.ndd.fr

 

Écrire un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec une *

Quelle est le deuxième caractère du mot aj4m3zn ? :