Vaultwarden: Die Open-Source Alternative zu Bitwarden für deine lokale Installation

Vaultwarden ist eine leichtgewichtige, in Rust entwickelte Server-Implementation der Bitwarden Client API.

Einführung: Was ist Vaultwarden?

Diese Open-Source-Alternative wurde speziell für Self-Hosting-Szenarien entwickelt, in denen die offiziellen Bitwarden-Server zu ressourcenintensiv wären. Früher unter dem Namen „bitwarden_rs“ bekannt, bietet Vaultwarden eine nahezu vollständige Kompatibilität mit allen offiziellen Bitwarden-Clients.

Das Besondere an Vaultwarden ist, dass es komplett kostenlos ist, erheblich weniger Systemressourcen benötigt als der offizielle Bitwarden-Server und trotzdem alle wichtigen Features unterstützt. Es ist die perfekte Lösung für tech-affine Privatpersonen, Familien und kleine Unternehmen, die ihre Passwörter vollständig unter eigener Kontrolle behalten möchten.

Alternative Installationsmethoden

Neben der in diesem Artikel detailliert beschriebenen Docker-Installation existieren verschiedene andere Installationsmöglichkeiten für Vaultwarden:

  • Pre-built Binaries: Vorgefertigte Binärdateien für verschiedene Betriebssysteme
  • Systemd Service: Direkter Systemservice ohne Container
  • Third-party Packages: Community-Pakete für verschiedene Distributionen (AUR, Homebrew, etc.)
  • Source Code Build: Manuelle Kompilierung aus dem Rust-Quellcode
  • Container-Alternativen: Podman als Docker-Alternative
  • Cloud-Deployments: Kubernetes, Docker Swarm oder Cloud-spezifische Lösungen

In diesem Artikel konzentrieren wir uns auf die Docker-basierte Installation, da diese am einfachsten zu implementieren und plattformübergreifend verfügbar ist. Für andere Installationsmethoden finden Sie detaillierte Anleitungen in der offiziellen Vaultwarden-Wiki.

Vorzüge von Vaultwarden

Technische Vorteile

  • Geringer Ressourcenverbrauch: Deutlich weniger RAM und CPU-Verbrauch als der offizielle Bitwarden-Server
  • Vollständige Kompatibilität: Funktioniert mit allen offiziellen Bitwarden-Clients (Browser-Extensions, Mobile Apps, Desktop-Anwendungen)
  • Aktive Entwicklung: Regelmäßige Updates und starke Community-Unterstützung
  • Rust-basiert: Hohe Performance und Speichersicherheit
  • Docker-ready: Einfache Containerisierung und Deployment

Funktionsumfang

  • Personal Vault (Persönlicher Tresor)
  • Send (Sicherer Dateiaustausch)
  • Dateianhänge
  • Website-Icons
  • Personal API Key
  • Organisationen
  • Zwei-Faktor-Authentifizierung
  • Emergency Access (Notfallzugriff)
  • Admin-Backend

Datenschutz und Sicherheit

  • Vollständige Datenkontrolle: Alle Daten bleiben auf Ihren eigenen Servern
  • Keine Abhängigkeit von Drittanbietern: Kein Risiko von Service-Ausfällen oder Datenlecks bei externen Anbietern
  • Open Source: Transparenter Code, der von der Community überprüft werden kann
  • Compliance-freundlich: Ideal für Unternehmen mit strengen Datenschutzanforderungen

Nachteile von Vaultwarden

Technische Herausforderungen

  • Self-Hosting erforderlich: Benötigt technisches Know-how für Installation und Wartung
  • Eigene Verantwortung: Backups, Updates und Sicherheit müssen selbst verwaltet werden
  • Kein offizieller Support: Support nur durch Community, nicht durch Bitwarden Inc.
  • HTTPS-Erfordernis: Web-Interface funktioniert nur über HTTPS oder localhost

Wartungsaufwand

  • Regelmäßige Updates: Müssen manuell durchgeführt werden
  • Backup-Management: Eigene Backup-Strategie erforderlich
  • Monitoring: Server-Überwachung liegt in eigener Verantwortung

Detaillierte Installationsanleitungen

1. Installation auf Linux (Ubuntu/Debian)

Voraussetzungen

Diese Schritte installieren alle benötigten Docker-Komponenten für Vaultwarden auf einem Ubuntu/Debian-System, auf Bestandssystemen mit laufendem Docker kann dieser Schritt übersprungen werden:

# System aktualisieren - Stellt sicher, dass alle Pakete auf dem neuesten Stand sind
sudo apt update && sudo apt upgrade -y

# Docker installieren - Die Container-Plattform, die Vaultwarden ausführt
sudo apt install -y docker.io docker-compose

# Docker-Service starten und aktivieren - Sorgt dafür, dass Docker beim Systemstart automatisch startet
sudo systemctl start docker
sudo systemctl enable docker

# Benutzer zur Docker-Gruppe hinzufügen - Ermöglicht die Ausführung von Docker-Befehlen ohne sudo
# WICHTIG: Nach diesem Befehl müssen Sie sich ab- und wieder anmelden!
sudo usermod -aG docker $USER

Schritt-für-Schritt Installation

Schritt 1: Verzeichnisstruktur erstellen Hier erstellen wir die Ordnerstruktur für Vaultwarden und seine Daten:

# Arbeitsverzeichnis erstellen - Hier werden alle Konfigurationsdateien gespeichert
mkdir -p /opt/vaultwarden
cd /opt/vaultwarden

# Datenverzeichnis erstellen - Hier speichert Vaultwarden die Datenbank und Dateien
# WICHTIG: Dieses Verzeichnis muss regelmäßig gesichert werden!
mkdir -p ./vw-data

Schritt 2: Docker Compose Datei erstellen Die Docker Compose Datei definiert, wie Vaultwarden ausgeführt wird:

nano docker-compose.yml

Füge folgenden Inhalt ein und passe die mit #ZWINGEND ÄNDERN markierten Werte an deine Umgebung an:

version: '3.8'
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      # ZWINGEND ÄNDERN: Ersetzen Sie durch Ihre eigene Domain oder IP-Adresse
      DOMAIN: "https://ihr-domain.de"
      # ZWINGEND ÄNDERN: Erstellen Sie ein sicheres Admin-Token (min. 32 Zeichen)
      # Generieren Sie es z.B. mit: openssl rand -hex 32
      ADMIN_TOKEN: "IhrSicheresAdminToken123"
      # WebSocket für Live-Synchronisation aktivieren
      WEBSOCKET_ENABLED: "true"
      # SICHERHEIT: Nach der Ersteinrichtung auf "false" setzen!
      SIGNUPS_ALLOWED: "true"
    volumes:
      # Persistente Datenspeicherung - NIEMALS löschen!
      - ./vw-data/:/data/
    ports:
      # Port-Mapping: Host-Port:Container-Port
      # 127.0.0.1 bindet nur an localhost (sicherer)
      - "127.0.0.1:8080:80"
      - "127.0.0.1:3012:3012"

Schritt 3: Vaultwarden starten Dieser Befehl lädt das Vaultwarden-Image herunter und startet den Container im Hintergrund:

# Container im Detached-Modus starten (läuft im Hintergrund)
docker-compose up -d

# Status überprüfen - sollte "Up" anzeigen
docker-compose ps

# Logs anschauen (falls Probleme auftreten)
docker-compose logs vaultwarden

Schritt 4: Nginx Reverse Proxy konfigurieren (optional) Ein Reverse Proxy ist notwendig für HTTPS und erweiterte Funktionen. Hier installieren wir Nginx mit automatischen SSL-Zertifikaten:

# Nginx und Certbot für SSL-Zertifikate installieren
sudo apt install nginx certbot python3-certbot-nginx

# Nginx-Konfiguration für Vaultwarden erstellen
sudo nano /etc/nginx/sites-available/vaultwarden

Nginx-Konfiguration (passe „deine-domain.de“ an deine Domain an):

# HTTP-zu-HTTPS Weiterleitung
server {
    listen 80;
    server_name ihr-domain.de;  # ZWINGEND ÄNDERN: Ihre Domain
    return 301 https://$server_name$request_uri;
}

# HTTPS-Konfiguration
server {
    listen 443 ssl http2;
    server_name ihr-domain.de;  # ZWINGEND ÄNDERN: Ihre Domain

    # SSL-Zertifikatspfade (werden von Certbot automatisch gesetzt)
    ssl_certificate /etc/letsencrypt/live/ihr-domain.de/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/ihr-domain.de/privkey.pem;

    # Hauptanwendung
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # WebSocket-Verbindungen für Live-Sync
    location /notifications/hub {
        proxy_pass http://127.0.0.1:3012;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Schritt 5: SSL-Zertifikat erstellen und Nginx aktivieren

# Nginx-Seite aktivieren
sudo ln -s /etc/nginx/sites-available/vaultwarden /etc/nginx/sites-enabled/

# Nginx-Konfiguration testen
sudo nginx -t

# SSL-Zertifikat erstellen (ersetzen Sie "ihr-domain.de")
sudo certbot --nginx -d ihr-domain.de

# Nginx starten und automatischen Start aktivieren
sudo systemctl enable nginx
sudo systemctl restart nginx

Damit ist die Installation unter Linux schon abgeschlossen, weiter geht es im Abschnitt Konfiguration.

2. Installation auf Windows

Voraussetzungen

  1. Docker Desktop for Windows herunterladen und installieren von: https://docs.docker.com/desktop/windows/install/
  2. Git for Windows installieren (optional, für einfacheres Management)

Schritt-für-Schritt Installation

Schritt 1: Arbeitsverzeichnis erstellen**

Das Windows-Dateisystem erfordert etwas andere Pfade als Linux, bitte nicht vergessen anzupassen:

:: Arbeitsverzeichnis auf Laufwerk D erstellen  
mkdir D:\vaultwarden
cd D:\vaultwarden

:: Datenverzeichnis für persistente Speicherung erstellen
:: WICHTIG: Dieses Verzeichnis regelmäßig sichern!
mkdir vw-data

Schritt 2: Docker Compose Datei erstellen Erstellen Sie eine Datei namens docker-compose.yml (verwenden Sie Editor wie Notepad++ oder VS Code):

Wichtige Anpassungen für Windows:

version: '3.8'
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      # Für lokale Windows-Installation - ändern Sie bei externer Nutzung
      DOMAIN: "http://localhost:8080"
      # ZWINGEND ÄNDERN: Sicheres Admin-Token generieren
      # PowerShell: -join ((1..32) | ForEach {'{0:X}' -f (Get-Random -Max 16)})
      ADMIN_TOKEN: "IhrSicheresAdminToken123"
      WEBSOCKET_ENABLED: "true"
      # Nach Ersteinrichtung auf "false" setzen!
      SIGNUPS_ALLOWED: "true"
    volumes:
      # Windows-Pfad-Syntax mit Vorwärtsslash
      - ./vw-data/:/data/
    ports:
      # Localhost-Binding für lokale Nutzung
      - "127.0.0.1:8080:80"
      - "127.0.0.1:3012:3012"

Schritt 3: Vaultwarden starten Öffnen Sie PowerShell oder Command Prompt als Administrator im Vaultwarden-Verzeichnis:

:: Container starten (lädt automatisch das Image herunter)
docker-compose up -d

:: Status überprüfen - sollte "Up" anzeigen
docker-compose ps

:: Bei Problemen: Logs anschauen
docker-compose logs vaultwarden

Schritt 4: Windows-Firewall konfigurieren (optional) Falls Sie Vaultwarden im Netzwerk verfügbar machen möchten:

:: Firewall-Regel für Port 8080 erstellen
netsh advfirewall firewall add rule name="Vaultwarden" dir=in action=allow protocol=TCP localport=8080

Schritt 5: Windows Service erstellen (optional) Für automatischen Start mit Windows verwenden Sie zB. den NSSM (Non-Sucking Service Manager):

  1. NSSM herunterladen: https://nssm.cc/download und entpacken
  2. Service erstellen (PowerShell als Administrator):
# NSSM-Pfad anpassen
cd C:\nssm-2.24\win64

# Service installieren
.\nssm.exe install VaultwardenService

# Executable setzen (Docker Desktop muss installiert sein)
.\nssm.exe set VaultwardenService Application "C:\Program Files\Docker\Docker\Docker Desktop.exe"

# Arbeitsverzeichnis setzen  
.\nssm.exe set VaultwardenService AppDirectory "C:\vaultwarden"

# Startverzögerung (damit Docker Desktop zuerst startet)
.\nssm.exe set VaultwardenService AppExit Default Restart
.\nssm.exe set VaultwardenService DependOnService Docker Desktop Service

# Service starten
.\nssm.exe start VaultwardenService

Damit ist die Installation unter Windows ebenfalls schon abgeschlossen, weiter geht es im Abschnitt Konfiguration.

3. Installation auf macOS

Voraussetzungen

# Homebrew installieren (falls noch nicht vorhanden)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Docker installieren
brew install --cask docker

# Docker Desktop starten
open /Applications/Docker.app

Schritt-für-Schritt Installation

Schritt 1: Arbeitsverzeichnis erstellen macOS verwendet Unix-ähnliche Pfadstrukturen, daher ähnlich zu Linux:

# Arbeitsverzeichnis im Home-Verzeichnis erstellen
mkdir -p ~/vaultwarden
cd ~/vaultwarden

# Datenverzeichnis für Vaultwarden-Daten erstellen
# WICHTIG: Regelmäßig sichern - hier werden alle Passwörter gespeichert!
mkdir vw-data

Schritt 2: Docker Compose Datei erstellen Verwenden Sie einen Text-Editor wie nano, vim oder TextEdit:

# Datei mit nano erstellen (empfohlen für Terminal-Nutzung)
nano docker-compose.yml

macOS-spezifische Konfiguration:

version: '3.8'
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      # Für lokale Nutzung - bei externer Nutzung Domain ändern
      DOMAIN: "http://localhost:8080"
      # ZWINGEND ÄNDERN: Sicheres Token generieren
      # Terminal: openssl rand -hex 32
      ADMIN_TOKEN: "IhrSicheresAdminToken123"
      WEBSOCKET_ENABLED: "true"
      # Nach Setup deaktivieren aus Sicherheitsgründen!
      SIGNUPS_ALLOWED: "true"
      # macOS-spezifisch: Timezone setzen
      TZ: "Europe/Berlin"
    volumes:
      # macOS-Pfad (Tilde wird von Docker nicht unterstützt, daher relativer Pfad)
      - ./vw-data/:/data/
    ports:
      # Localhost-Binding für Sicherheit
      - "127.0.0.1:8080:80"
      - "127.0.0.1:3012:3012"

Schritt 3: Vaultwarden starten

# Container im Hintergrund starten
docker-compose up -d

# Status überprüfen (sollte "Up" und "healthy" zeigen)
docker-compose ps

# Logs bei Problemen überprüfen
docker-compose logs -f vaultwarden

Schritt 4: macOS-Firewall konfigurieren (optional) Falls die macOS-Firewall aktiviert ist:

# Aktuellen Firewall-Status prüfen
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate

# Docker für eingehende Verbindungen erlauben
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /Applications/Docker.app/Contents/MacOS/Docker
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /Applications/Docker.app/Contents/MacOS/Docker

Schritt 5: Automatischer Start mit macOS (LaunchAgent) Für den automatischen Start von Vaultwarden beim Systemstart erstellen Sie eine LaunchAgent-Datei:

# LaunchAgent-Verzeichnis erstellen (falls nicht vorhanden)
mkdir -p ~/Library/LaunchAgents

# LaunchAgent-Datei erstellen  
nano ~/Library/LaunchAgents/com.vaultwarden.plist

LaunchAgent-Konfiguration (passen Sie den Benutzernamen an):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.vaultwarden</string>
    <key>ProgramArguments</key>
    <array>
        <!-- ZWINGEND ÄNDERN: Pfad zu docker-compose (which docker-compose) -->
        <string>/usr/local/bin/docker-compose</string>
        <string>up</string>
        <string>-d</string>
    </array>
    <key>WorkingDirectory</key>
    <!-- ZWINGEND ÄNDERN: Ihren Benutzernamen eintragen -->
    <string>/Users/IhrBenutzername/vaultwarden</string>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <false/>
    <key>StandardOutPath</key>
    <string>/tmp/vaultwarden.stdout</string>
    <key>StandardErrorPath</key>
    <string>/tmp/vaultwarden.stderr</string>
</dict>
</plist>

LaunchAgent aktivieren:

# LaunchAgent laden und aktivieren
launchctl load ~/Library/LaunchAgents/com.vaultwarden.plist

# Status prüfen
launchctl list | grep vaultwarden

# Bei Änderungen: LaunchAgent neu laden
launchctl unload ~/Library/LaunchAgents/com.vaultwarden.plist
launchctl load ~/Library/LaunchAgents/com.vaultwarden.plist

Schritt 6: Homebrew-Integration (optional) Für eine noch sauberere macOS-Integration können Sie Homebrew-Services nutzen:

# Homebrew-Services installieren (falls nicht vorhanden)
brew tap homebrew/services

# Einfachen Wrapper-Service erstellen
brew services start docker

# Alternativ: Vaultwarden über Docker-Befehl direkt starten
alias vaultwarden-start="cd ~/vaultwarden && docker-compose up -d"
alias vaultwarden-stop="cd ~/vaultwarden && docker-compose down"
alias vaultwarden-logs="cd ~/vaultwarden && docker-compose logs -f"

# Aliases dauerhaft in .zshrc oder .bash_profile speichern
echo 'alias vaultwarden-start="cd ~/vaultwarden && docker-compose up -d"' >> ~/.zshrc
echo 'alias vaultwarden-stop="cd ~/vaultwarden && docker-compose down"' >> ~/.zshrc
echo 'alias vaultwarden-logs="cd ~/vaultwarden && docker-compose logs -f"' >> ~/.zshrc

Und zack, so schnell kann es gehen. Installation abgeschlossen. Jetzt sehen wir uns im nächsten Abschnitt die Einrichtung im Detail an.

Erweiterte Konfiguration und Verwaltung

Erste Schritte: Das Admin-Panel

Das Admin-Panel ist die zentrale Verwaltungsoberfläche für Ihren Vaultwarden-Server:

  1. Zugriff: Navigieren Sie zu https://ihr-domain.de/admin (oder http://localhost:8080/admin bei lokalem Setup)
  2. Authentifizierung: Geben Sie das Admin-Token ein, das Sie in der Docker Compose Datei definiert haben
  3. Wichtige Ersteinstellungen:
    • SMTP-Konfiguration: Für E-Mail-Benachrichtigungen und 2FA per E-Mail erforderlich
    • Domain-Einstellungen: Muss mit Ihrer tatsächlichen URL übereinstimmen
    • Benutzerregistrierung: Nach der Ersteinrichtung aus Sicherheitsgründen deaktivieren
    • Backup-Pfade: Verzeichnisse für automatische Backups definieren

Den ersten Benutzer erstellen

Die Ersteinrichtung eines Administrator-Kontos:

  1. Registrierung: Navigieren Sie zu https://ihr-domain.de (Hauptseite)
  2. Konto erstellen: Klicken Sie auf „Konto erstellen“ – Dies funktioniert nur, wenn SIGNUPS_ALLOWED: "true" gesetzt ist
  3. Sichere Anmeldedaten:
    • Verwenden Sie eine gültige E-Mail-Adresse (für 2FA und Recovery wichtig)
    • Wählen Sie ein starkes Master-Passwort (mindestens 12 Zeichen, Sonderzeichen, Zahlen)
  4. E-Mail-Bestätigung: Bei aktivierter E-Mail-Verifikation den Bestätigungslink anklicken
  5. Wichtig: Nach der Erstellung des ersten Admin-Kontos sollten Sie SIGNUPS_ALLOWED auf "false" setzen!# Vaultwarden: Die ultimative Open-Source Alternative zu Bitwarden für lokale Installation

Organisationen und Gruppen erstellen

Vaultwarden unterstützt Organisationen für die gemeinsame Nutzung von Passwörtern in Teams oder Familien.

Organisation erstellen:

  1. Im Vaultwarden Web-Interface anmelden
  2. „Neue Organisation“ → „Organisation erstellen“ klicken
  3. Namen vergeben (z.B. „Familie Mustermann“ oder „Firma XY“)
  4. Organisationstyp wählen (Familie oder Business)

Gruppen aktivieren:

Gruppen müssen in Vaultwarden explizit aktiviert werden durch eine Umgebungsvariable in der Docker Compose Datei:

environment:
  # Gruppen-Funktionalität aktivieren
  ORG_GROUPS_ENABLED: "true"

Nach der Aktivierung können Sie Gruppen erstellen:

  1. Organisation auswählen → „Verwalten“ → „Gruppen“
  2. „Neue Gruppe“ → Namen vergeben (z.B. „Admins“, „Benutzer“)
  3. Zugriffsrechte definieren und Mitglieder zuweisen

Collections und Zugriffskontrollen:

Collections organisieren Vault-Einträge innerhalb einer Organisation:

  1. „Verwalten“ → „Collections“ → „Neue Collection“
  2. Zugriffsrechte pro Gruppe/Benutzer definieren:
    • Nur lesen: Kann Passwörter einsehen und verwenden
    • Lesen/Schreiben: Kann Einträge bearbeiten
    • Verwalten: Vollzugriff inklusive Löschen

Zwei-Faktor-Authentifizierung (2FA/MFA) einrichten

Vaultwarden unterstützt verschiedene 2FA-Methoden, die für maximale Sicherheit unbedingt aktiviert werden sollten.

Unterstützte 2FA-Methoden:

  • E-Mail-Codes: Einfachste Methode, Code wird per E-Mail gesendet
  • TOTP (Time-based OTP): Google Authenticator, Authy, Microsoft Authenticator
  • Duo: Professioneller 2FA-Service mit Push-Benachrichtigungen
  • YubiKey: Hardware-basierte Authentifizierung
  • FIDO2 WebAuthn: Moderne Hardware-Keys (YubiKey 5, SoloKey, etc.)

TOTP (Google Authenticator) einrichten:

  1. Kontoeinstellungen → „Sicherheit“ → „Zwei-Schritt-Anmeldung“
  2. „Authenticator-App“ wählen
  3. QR-Code mit Authenticator-App scannen
  4. 6-stelligen Code eingeben zur Bestätigung
  5. Recovery-Code sicher speichern!

Hardware-Key (FIDO2) konfigurieren:

Für Hardware-Keys müssen zusätzliche Umgebungsvariablen gesetzt werden:

environment:
  # FIDO2 WebAuthn aktivieren
  FIDO2_ENABLED: "true"
  # Domain für FIDO2 (muss exakt mit Ihrer Domain übereinstimmen)  
  DOMAIN: "https://ihr-domain.de"

2FA global erzwingen (Enterprise-Feature):

Vaultwarden bietet Optionen, um 2FA für alle Benutzer zu erzwingen:

environment:
  # 2FA-Remember-Funktion deaktivieren (erzwingt 2FA bei jeder Anmeldung)
  DISABLE_2FA_REMEMBER: "true"
  # Organisationsrichtlinien aktivieren
  ORG_EVENTS_ENABLED: "true"

Best Practices für Sicherheit

Admin-Panel ausschließlich für lokalen Zugriff absichern:

environment:
  # Admin-Panel nur von bestimmten IPs erreichbar
  ADMIN_ALLOWED_IPS: "192.168.1.0/24,10.0.0.0/8"
  # Admin-Session-Timeout (in Sekunden)  
  ADMIN_SESSION_LIFETIME: "3600"

Benutzerregistrierung kontrollieren:

environment:
  # Nach Setup deaktivieren!
  SIGNUPS_ALLOWED: "false"
  # Nur Einladungen über bestehende Accounts erlauben
  INVITATIONS_ALLOWED: "true"
  # Domain-Whitelist für Registrierungen
  SIGNUPS_DOMAINS_WHITELIST: "meinefirma.de,vertrauenswuerdig.com"

E-Mail-Konfiguration für 2FA und Einladungen:

SMTP-Settings sind essentiell für E-Mail-2FA und Benutzereinladungen:

environment:
  # SMTP-Server (Beispiel: Gmail)
  SMTP_HOST: "smtp.gmail.com"
  SMTP_FROM: "vaultwarden@ihr-domain.de"  
  SMTP_PORT: "587"
  SMTP_SECURITY: "starttls"
  SMTP_USERNAME: "ihr-email@gmail.com"
  # App-Passwort bei Gmail erforderlich!
  SMTP_PASSWORD: "ihr-app-passwort"

Fehlgeschlagene Anmeldeversuche protokollieren:

environment:
  # Extended Logging aktivieren  
  EXTENDED_LOGGING: "true"
  # Fehlgeschlagene Anmeldungen loggen
  LOG_LEVEL: "warn"
  # Log-Datei (optional)
  LOG_FILE: "/data/vaultwarden.log"

Erweiterte Sicherheitsfunktionen

Emergency Access konfigurieren:

Emergency Access ermöglicht vertrauenswürdigen Personen Zugriff auf Ihren Vault im Notfall:

  1. Kontoeinstellungen → „Emergency Access“
  2. Vertrauensperson über E-Mail-Adresse hinzufügen
  3. Wartezeit definieren (z.B. 7 Tage)
  4. Zugriffstyp wählen: „Nur anzeigen“ oder „Vollzugriff“

Vault Health Reports:

Vaultwarden bietet eingebaute Sicherheitsanalysen:

  • Schwache Passwörter: Identifiziert unsichere Passwörter
  • Wiederverwendete Passwörter: Findet doppelt verwendete Credentials
  • Kompromittierte Passwörter: Prüft gegen HaveIBeenPwned-Datenbank
  • Unsichere Websites: Warnt vor HTTP-Sites mit Login-Daten

Fail2Ban für Brute-Force-Schutz:

Linux-Systeme sollten Fail2Ban konfigurieren:

# Fail2Ban installieren
sudo apt install fail2ban

# Vaultwarden-Filter erstellen
sudo nano /etc/fail2ban/filter.d/vaultwarden.conf

Fail2Ban-Konfiguration:

[Definition]
failregex = ^.*Username or password is incorrect\. Try again\. IP: <HOST>\. Username:.*$
ignoreregex =
# Jail konfigurieren  
sudo nano /etc/fail2ban/jail.d/vaultwarden.conf
[vaultwarden]
enabled = true
port = 80,443
filter = vaultwarden  
action = iptables-allports[name=vaultwarden]
logpath = /opt/vaultwarden/vw-data/vaultwarden.log
maxretry = 3
bantime = 14400
findtime = 14400

Monitoring und Wartung

Health Check implementieren:

services:
  vaultwarden:
    # ... andere Konfigurationen
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:80/alive"]
      interval: 30s
      timeout: 10s  
      retries: 3
      start_period: 40s

Log-Rotation einrichten:

environment:
  # Logs begrenzen
  LOG_LEVEL: "warn"
  # Maximale Log-Dateigröße
  LOG_FILE: "/data/vaultwarden.log"

Logrotate-Konfiguration:

sudo nano /etc/logrotate.d/vaultwarden
/opt/vaultwarden/vw-data/vaultwarden.log {
    weekly
    missingok
    rotate 52  
    compress
    notifempty
    create 644 root root
    postrotate
        docker-compose -f /opt/vaultwarden/docker-compose.yml restart vaultwarden
    endscript
}

Bitwarden-Clients und kompatible Tools

Browser-Erweiterungen

Alle offiziellen Bitwarden Browser-Erweiterungen funktionieren nahtlos mit Vaultwarden:

Chrome/Chromium-basierte Browser

  • Name: Bitwarden – Kostenloser Passwort-Manager
  • Verfügbar für: Chrome, Edge, Brave, Vivaldi, Arc, Opera
  • Installation: Chrome Web Store → „Bitwarden“ suchen und installieren
  • Download-Link: https://chrome.google.com/webstore/detail/bitwarden-free-password-m/nngceckbapebfimnlniiiahkandclblb

Firefox

  • Name: Bitwarden – Kostenloser Passwort-Manager
  • Installation: Firefox Add-ons → „Bitwarden“ suchen und installieren
  • Download-Link: https://addons.mozilla.org/firefox/addon/bitwarden-password-manager/

Safari

  • Name: Bitwarden für Safari
  • Installation: Mac App Store → „Bitwarden“ herunterladen
  • Besonderheit: Benötigt die Desktop-App als Basis

Konfiguration der Browser-Extension:

Nach der Installation müssen Sie die Extension auf Ihren Vaultwarden-Server verweisen:

  1. Extension installieren und öffnen
  2. Auf das Einstellungen-Symbol (Zahnrad) klicken
  3. Server-URL ändern zu: https://ihr-domain.de (oder http://localhost:8080 bei lokalem Setup)
  4. Mit Ihren Vaultwarden-Anmeldedaten einloggen

Mobile Apps

Android

Mehrere Optionen stehen hier zur Verfügung:

Offizielle Bitwarden App:

  • Name: Bitwarden Password Manager
  • Download: Google Play Store
  • Link: https://play.google.com/store/apps/details?id=com.x8bit.bitwarden
  • Features: Vollständige Integration, Autofill-Service, Biometrische Entsperrung

F-Droid Alternative:

  • Name: Bitwarden (Open Source)
  • Download: F-Droid Repository
  • Vorteil: Vollständig Open Source, keine Google-Dienste erforderlich

iOS/iPadOS

  • Name: Bitwarden Password Manager
  • Download: Apple App Store
  • Link: https://apps.apple.com/app/bitwarden-password-manager/id1137397744
  • Features: iOS-Integration, Face ID/Touch ID, AutoFill-Provider, Apple Watch-Unterstützung

Konfiguration der Mobile Apps:

  1. App installieren und öffnen
  2. Bei der Anmeldung auf „Self-hosted“ oder „Enterprise“ tippen
  3. Server-URL eingeben: https://ihr-domain.de
  4. Mit Vaultwarden-Konto anmelden
  5. Biometrische Entsperrung in den App-Einstellungen aktivieren (empfohlen)

Desktop-Anwendungen

Windows

  • Download: https://bitwarden.com/download/
  • Verfügbare Formate: .exe-Installer, Microsoft Store, Chocolatey, Winget
  • Installation über Winget: winget install Bitwarden.Bitwarden

macOS

  • Download: Mac App Store oder direkt von bitwarden.com
  • Installation über Homebrew: brew install --cask bitwarden
  • Features: Touch ID-Integration, Safari-Extension-Integration

Linux

Multiple Installationsoptionen verfügbar:

  • AppImage: Universell lauffähig auf allen Distributionen
  • .deb-Paket: Für Debian/Ubuntu-basierte Systeme
  • Snap: snap install bitwarden
  • Flatpak: flatpak install flathub com.bitwarden.desktop
  • AUR (Arch Linux): yay -S bitwarden

Command Line Interface (CLI)

Das Bitwarden CLI ist ein mächtiges Tool für Automatisierung und Skripte:

Installation:

# Via npm (Node.js erforderlich)
npm install -g @bitwarden/cli

# Via Snap
snap install bw

# Via Chocolatey (Windows)  
choco install bitwarden-cli

Konfiguration und Nutzung:

# Server konfigurieren
bw config server https://ihr-domain.de

# Anmelden
bw login ihre-email@domain.de

# Vault entsperren (gibt Session-Token zurück)
export BW_SESSION=$(bw unlock --raw)

# Einträge auflisten
bw list items

# Passwort für bestimmte Website abrufen
bw get password github.com

# Neuen Eintrag erstellen
bw create item '{"type":1,"name":"Beispiel","login":{"username":"test@example.com","password":"geheimespasswort"}}'

Backup-Strategien

Automatisches Backup-Script (Linux/macOS)

#!/bin/bash
BACKUP_DIR="/backup/vaultwarden"
DATE=$(date +%Y%m%d_%H%M%S)

# Backup-Verzeichnis erstellen
mkdir -p $BACKUP_DIR

# Container stoppen
docker-compose stop vaultwarden

# Daten sichern
tar -czf $BACKUP_DIR/vaultwarden_backup_$DATE.tar.gz ./vw-data/

# Container starten
docker-compose start vaultwarden

# Alte Backups löschen (älter als 30 Tage)
find $BACKUP_DIR -name "vaultwarden_backup_*.tar.gz" -mtime +30 -delete

Dieses Script als Cronjob einrichten:

# Crontab bearbeiten
crontab -e

# Tägliches Backup um 2:00 Uhr
0 2 * * * /path/to/backup-script.sh

Sicherheitsempfehlungen

1. Starke Authentifizierung

  • Verwenden Sie komplexe Admin-Tokens
  • Aktivieren Sie Zwei-Faktor-Authentifizierung für alle Konten
  • Deaktivieren Sie Registrierungen nach Setup

2. Netzwerksicherheit

  • Verwenden Sie immer HTTPS in der Produktion
  • Beschränken Sie Zugriff über Firewall-Regeln
  • Implementieren Sie fail2ban für Brute-Force-Schutz

3. System-Updates

# Regelmäßige Updates des Containers
docker-compose pull
docker-compose up -d

# System-Updates
sudo apt update && sudo apt upgrade

Troubleshooting

Häufige Probleme und Lösungen

Problem: Web-Interface lädt nicht

# Container-Logs prüfen
docker-compose logs vaultwarden

# Port-Konflikte prüfen
netstat -tulpn | grep :8080

Problem: Browser-Extension verbindet nicht

  • Prüfen Sie die Server-URL in den Extension-Einstellungen
  • Stellen Sie sicher, dass HTTPS aktiviert ist (außer bei localhost)
  • Überprüfen Sie Firewall-Einstellungen

Problem: E-Mail-Versand funktioniert nicht

  • SMTP-Einstellungen im Admin-Panel überprüfen
  • Logs auf SMTP-Authentifizierungsfehler prüfen
  • E-Mail-Provider-spezifische App-Passwörter verwenden

Fazit

Vaultwarden ist eine hervorragende Alternative für alle, die ihre Passwort-Verwaltung vollständig selbst kontrollieren möchten. Mit geringem Ressourcenverbrauch und vollständiger Kompatibilität zu allen Bitwarden-Clients bietet es eine professionelle Lösung für Private und kleine Unternehmen.

Die einmalige Einrichtung erfordert zwar technisches Verständnis, aber die langfristigen Vorteile in Bezug auf Datenschutz, Kontrolle und Kosteneinsparungen machen den Aufwand mehr als wett. Mit den bereitgestellten Installationsanleitungen und Sicherheitsempfehlungen steht einem erfolgreichen Self-Hosting-Setup nichts im Wege.

Wichtiger Hinweis: Vergesst nie, regelmäßige Backups zu erstellen und eure Installation aktuell zu halten. Die Sicherheit eurer Passwörter liegt bei so einem Setup voll in eurer Verantwortung!

Weiterführende Ressourcen


Dieser Artikel wurde mit Informationen aus der offiziellen Vaultwarden-Dokumentation und Community-Erfahrungen zusammengestellt. Stand: August 2025