Passwörter sind nach wie vor das schwächste Glied in der IT-Sicherheitskette — besonders in Unternehmen, in denen Teams gemeinsam auf Systeme zugreifen. Cloud-Dienste wie 1Password oder LastPass sind bequem, werfen aber für datenschutzbewusste Organisationen grundlegende Fragen auf: Wo liegen die Credentials? Wer hat theoretisch Zugriff? Was passiert bei einem Vendor-Breach? Vaultwarden beantwortet diese Fragen mit einer klaren Lösung: vollständige Kontrolle, eigener Server, kein Drittanbieter.
Warum selbst gehosteter Passwort-Manager?
Die Entscheidung für einen selbst gehosteten Passwort-Manager ist keine ideologische — sie ist pragmatisch. Für Unternehmen, die personenbezogene Daten verarbeiten, schreibt die DSGVO technische und organisatorische Maßnahmen zum Schutz dieser Daten vor. Ein Cloud-Passwort-Manager bedeutet, dass Zugangsdaten zu internen Systemen bei einem Drittanbieter liegen — oft in einem Rechenzentrum außerhalb der EU.
Hinzu kommt das Vendor-Lock-in-Problem: Ändern sich Preise, Eigentümer oder Geschäftsbedingungen, haben Teams ein ernsthaftes operatives Problem. Der Wechsel eines Passwort-Managers für ein ganzes Unternehmen ist aufwändig.
| Merkmal | Vaultwarden (Self-Hosted) | Bitwarden Cloud | 1Password Teams | KeePass |
|---|---|---|---|---|
| Datensouveränität | Vollständig | Eingeschränkt | Eingeschränkt | Vollständig |
| DSGVO-Konformität | Ja (eigener Server) | Bedingt | Bedingt | Ja |
| Browser-Extension | Ja (Bitwarden-kompatibel) | Ja | Ja | Plugins |
| Mobile Apps | Ja (iOS + Android) | Ja | Ja | Ja (Drittanbieter) |
| Organisationen / Teams | Ja | Ja (kostenpflichtig) | Ja | Nein |
| 2FA-Pflicht erzwingbar | Ja | Ja (Business) | Ja | Nein |
| Monatliche Kosten | Serverkosten | Ab 3 USD/Nutzer | Ab 7 USD/Nutzer | Kostenlos |
| API-Kompatibilität | Bitwarden-API | Bitwarden-API | Proprietär | Nein |
Vaultwarden ist eine leichtgewichtige, inoffizielle Implementierung des Bitwarden-Server-Protokolls in Rust. Es ist vollständig kompatibel mit allen offiziellen Bitwarden-Clients — Browser-Extensions, Desktop-Apps und Mobile-Apps funktionieren ohne Anpassungen. Im Gegensatz zum offiziellen Bitwarden-Server benötigt Vaultwarden keine Microsoft SQL Server-Instanz, sondern läuft mit einer einzigen SQLite-Datenbank und ist damit ideal für den Betrieb auf kleinen VMs oder sogar Raspberry Pis.
Vaultwarden mit Docker deployen
Die einfachste und empfohlene Methode ist der Betrieb via Docker Compose. Vaultwarden benötigt lediglich ein Volume für die Datenbank sowie — für Produktivumgebungen — einen vorgelagerten Reverse Proxy für HTTPS.
# docker-compose.yml
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "false" # Registrierung deaktivieren nach Setup
ADMIN_TOKEN: "${VW_ADMIN_TOKEN}" # aus .env-Datei laden
SMTP_HOST: "mail.example.com"
SMTP_FROM: "vault@example.com"
SMTP_FROM_NAME: "Vaultwarden"
SMTP_PORT: "587"
SMTP_SECURITY: "starttls"
SMTP_USERNAME: "${SMTP_USER}"
SMTP_PASSWORD: "${SMTP_PASS}"
PUSH_ENABLED: "true" # Mobile Push-Benachrichtigungen
LOG_LEVEL: "warn"
volumes:
- vaultwarden_data:/data
ports:
- "127.0.0.1:8080:80" # Nur lokal binden, Reverse Proxy vorgelagert
volumes:
vaultwarden_data:
Der ADMIN_TOKEN sollte ein langer, zufälliger String sein. Generieren Sie ihn mit:
openssl rand -base64 48
Speichern Sie ihn in einer .env-Datei neben der docker-compose.yml. Die .env-Datei gehört nicht ins Git-Repository.
Reverse Proxy: nginx oder OPNsense HAProxy
Vaultwarden muss zwingend über HTTPS erreichbar sein — die Bitwarden-Clients lehnen unverschlüsselte Verbindungen ab. Sie haben zwei typische Optionen:
Option A: nginx mit Let’s Encrypt
server {
listen 443 ssl http2;
server_name vault.example.com;
ssl_certificate /etc/letsencrypt/live/vault.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/vault.example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# WebSocket-Support für Live-Sync
location /notifications/hub {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
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;
}
}
Option B: OPNsense HAProxy
Wer OPNsense als Firewall einsetzt, kann den integrierten HAProxy als SSL-Terminator nutzen. Legen Sie ein Backend (vaultwarden_backend, Server 127.0.0.1:8080) und einen Frontend-Listener auf Port 443 an. Das SSL-Zertifikat wird über ACME direkt in OPNsense verwaltet und automatisch erneuert. Aktivieren Sie im Frontend zusätzlich die WebSocket-Unterstützung (Option http-server-close deaktivieren, forwardfor aktivieren).
Admin-Panel und Benutzerverwaltung
Nach dem Start ist das Admin-Panel unter https://vault.example.com/admin erreichbar — geschützt durch den ADMIN_TOKEN. Hier konfigurieren Sie:
- Einladungen: Da
SIGNUPS_ALLOWED: falsegesetzt ist, laden Sie Nutzer manuell per E-Mail ein - Organisationen: Teams können Passwort-Sammlungen (Collections) teilen, ohne individuelle Passwörter zu exponieren
- 2FA-Pflicht: Unter Organisations-Einstellungen lässt sich 2FA als Voraussetzung für den Zugriff auf Organisations-Passwörter erzwingen
Für die initiale Einrichtung empfiehlt sich dieser Ablauf:
- Admin-Account anlegen und mit dem Admin-Panel vertraut machen
- Organisation erstellen und Collections strukturieren (z. B. nach Abteilung oder System)
- Team-Mitglieder per E-Mail einladen
- 2FA-Pflicht in der Organisation aktivieren
SIGNUPS_ALLOWEDdauerhaft auffalsesetzen
Browser-Extensions und Mobile Apps
Vaultwarden ist vollständig kompatibel mit den offiziellen Bitwarden-Clients. Nutzer installieren einfach die Bitwarden-Extension (Chrome, Firefox, Safari, Edge) oder die mobile App (iOS, Android) und geben als Server-URL die eigene Instanz an:
Server-URL: https://vault.example.com
Anschließend funktioniert die gesamte Bitwarden-Erfahrung — Auto-Fill, Passwort-Generator, sichere Notizen, TOTP-Verwaltung — gegen den eigenen Server. Für Unternehmensgeräte lässt sich die Server-URL per MDM vorbelegen, sodass Mitarbeiter nur noch ihre Zugangsdaten eintragen müssen.
Backup-Strategie: SQLite und Attachments
Das große Plus von Vaultwarden ist die Einfachheit des Backups. Die gesamte Datenbank besteht aus:
data/db.sqlite3— alle Passwörter, Nutzer, Organisationen (verschlüsselt)data/attachments/— Dateianhängedata/sends/— Bitwarden Send-Objektedata/config.json— Instanz-Konfiguration
Ein einfaches Backup-Skript:
#!/bin/bash
BACKUP_DIR="/opt/backups/vaultwarden"
DATE=$(date +%Y-%m-%d_%H-%M)
mkdir -p "$BACKUP_DIR"
# SQLite Online-Backup (konsistenter Snapshot ohne Downtime)
sqlite3 /opt/vaultwarden/data/db.sqlite3 \
"VACUUM INTO '$BACKUP_DIR/db_$DATE.sqlite3'"
# Attachments sichern
tar -czf "$BACKUP_DIR/attachments_$DATE.tar.gz" \
-C /opt/vaultwarden/data attachments/ sends/
# Backups älter als 30 Tage löschen
find "$BACKUP_DIR" -mtime +30 -delete
Planen Sie dieses Skript als Cron-Job (z. B. stündlich) und kopieren Sie die Backups zusätzlich auf einen externen Speicher — Proxmox Backup Server, S3-kompatiblen Speicher oder ein separates NAS.
2FA-Enforcement für das gesamte Team
Vaultwarden unterstützt alle gängigen 2FA-Methoden: TOTP (Google Authenticator, Aegis), E-Mail-OTP, WebAuthn/FIDO2 und Duo. Für Teams empfiehlt sich TOTP oder WebAuthn — beide funktionieren ohne externe Abhängigkeiten.
Die 2FA-Pflicht wird auf Organisationsebene gesetzt. Nutzer, die keinen zweiten Faktor konfiguriert haben, werden beim Zugriff auf Organisations-Collections automatisch aufgefordert, einen einzurichten. Dieses Verhalten lässt sich im Admin-Panel unter Organisationsrichtlinien aktivieren.
Monitoring mit DATAZONE Control
Ein selbst gehosteter Passwort-Manager ist kritische Infrastruktur — Ausfälle oder Zertifikatsfehler sollten sofort auffallen. DATAZONE Control überwacht den Vaultwarden-Container auf Gesundheit, Laufzeit und Ressourcenverbrauch. SSL-Zertifikatsablauf, fehlgeschlagene Container-Starts und ungewöhnlicher Speicherverbrauch werden automatisch als Alert gemeldet. Ergänzt durch ein tägliches Backup-Monitoring des SQLite-Snapshots haben Administratoren vollständige Transparenz über den Betriebsstatus ihres Passwort-Managers.
Best Practices für Teams
- Passwort-Rotation: Nutzen Sie Organisations-Collections pro Projekt oder Kunde — so lassen sich Berechtigungen gezielt entziehen, wenn Mitarbeiter das Unternehmen verlassen
- Service-Accounts trennen: Technische Credentials (Server-Passwörter, API-Keys) gehören in eigene Collections, nicht in persönliche Tresore
- Regelmäßige Audits: Das Admin-Panel zeigt inaktive Nutzer und nicht genutzte Collections — bereinigen Sie diese quartalsweise
- Fail2Ban: Konfigurieren Sie Fail2Ban für wiederholte fehlgeschlagene Login-Versuche auf den Vaultwarden-Endpunkt
- Updates: Vaultwarden erscheint regelmäßig mit Sicherheitsupdates — automatisieren Sie
docker pullund Neustarts per Watchtower oder Cron
Sie möchten Vaultwarden professionell in Ihrer Unternehmensinfrastruktur betreiben? Unser Team unterstützt Sie bei Setup, Härtung und laufendem Betrieb: Linux-Infrastruktur und Kontakt aufnehmen.
Mehr zu diesen Themen:
Weitere Artikel
Backup-Strategie für KMU: Proxmox PBS + TrueNAS als zuverlässiges Backup-Konzept
Backup-Strategie für KMU mit Proxmox PBS und TrueNAS: 3-2-1-Regel umsetzen, PBS als primäres Backup-Target, TrueNAS-Replikation als Offsite-Kopie, Retention Policies und automatisierte Restore-Tests.
OPNsense Suricata Custom Rules: Eigene IDS/IPS-Signaturen schreiben und optimieren
Suricata Custom Rules auf OPNsense: Rule-Syntax, eigene Signaturen für interne Services, Performance-Tuning, Suppress-Lists und EVE-JSON-Logging.
Systemd Security: Linux-Services härten und absichern
Systemd Security-Hardening: Unit-Hardening mit ProtectSystem, PrivateTmp, NoNewPrivileges, CapabilityBoundingSet, systemd-analyze security, Sandboxing, Resource Limits und eigene Timer erstellen.