Vaultwarden einrichten: Selbst gehosteter Passwort-Manager als Bitwarden-Alternative
Vaultwarden einrichten ist einer der besten Schritte, den du für deine digitale Sicherheit unternehmen kannst. Vaultwarden ist eine selbst gehostete, quelloffene Alternative zu Bitwarden – einem der beliebtesten Passwort-Manager der Welt. Du genießt alle Vorteile eines modernen Passwort-Managers, ohne deine Passwörter einem Drittanbieter anzuvertrauen.
Was ist Vaultwarden?
Vaultwarden (früher bekannt als Bitwarden_RS) ist eine inoffizielle, aber vollständig kompatible Neuimplementierung des Bitwarden-Servers in der Programmiersprache Rust. Es ist deutlich ressourcenschonender als der offizielle Bitwarden-Server und läuft problemlos auf einem Raspberry Pi oder kleinen VPS.
Du nutzt weiterhin die offiziellen Bitwarden-Clients (Browser-Extension, Desktop-App, Mobile-App) – nur der Server läuft bei dir zu Hause.
Vorteile von Vaultwarden
- Volle Datenkontrolle: Deine Passwörter liegen verschlüsselt auf deinem Server
- Kostenlos: Keine Premium-Gebühren für Features wie TOTP oder Anhänge
- Ressourcenarm: Läuft auf 256 MB RAM problemlos
- Kompatibel: Alle Bitwarden-Clients funktionieren nahtlos
- Ende-zu-Ende-verschlüsselt: Passwörter werden nur auf deinen Geräten entschlüsselt
Vaultwarden mit Docker installieren
Die Installation per Docker ist der empfohlene Weg. Erstelle eine docker-compose.yml:
version: '3'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
ports:
- 8080:80
environment:
DOMAIN: https://vault.deinedomain.de
SIGNUPS_ALLOWED: "false" # Nach Erstregistrierung deaktivieren!
ADMIN_TOKEN: ein-sehr-sicheres-admin-token-hier
volumes:
- ./vw-data:/data
docker compose up -d
HTTPS ist Pflicht
Wichtig: Vaultwarden funktioniert nur über HTTPS sicher. Richte einen Reverse Proxy ein. Mit dem Nginx Proxy Manager (oder Caddy) ist das schnell erledigt:
# Caddyfile (einfachste Option)
vault.deinedomain.de {
reverse_proxy vaultwarden:80
}
Caddy kümmert sich automatisch um das SSL-Zertifikat von Let’s Encrypt.
Ersteinrichtung und Account erstellen
- Öffne
https://vault.deinedomain.deim Browser - Erstelle deinen ersten Account (Haupt-Passwort gut merken – es gibt kein „Passwort vergessen“!)
- Deaktiviere danach neue Registrierungen in der
docker-compose.yml:SIGNUPS_ALLOWED: "false" - Starte den Container neu:
docker compose restart
Bitwarden-Clients verbinden
Installiere die Bitwarden Browser-Extension (Chrome, Firefox, Edge) oder den Desktop-Client. Beim ersten Start:
- Klicke auf das Einstellungs-Zahnrad neben „Log In“
- Wähle „Self-Hosted“ als Server-URL
- Gib deine Vaultwarden-URL ein:
https://vault.deinedomain.de - Melde dich mit deinem Account an
Das funktioniert genauso mit den iOS- und Android-Apps. Nach dem ersten Sync stehen dir alle gespeicherten Passwörter und Notizen auf allen Geräten sofort zur Verfügung. Der Browser-Extension zeigt beim Besuch einer Website automatisch passende Zugangsdaten an – ein Klick reicht zum Einloggen.
Wichtige Vaultwarden-Features
TOTP (Zwei-Faktor-Authentifizierung)
Vaultwarden unterstützt TOTP-Codes – du kannst deinen Vaultwarden-Tresor mit 2FA absichern. Außerdem kannst du TOTP-Codes für andere Websites direkt im Passwort-Manager speichern.
Organisationen und Sharing
Du kannst Passwörter mit Familienmitgliedern teilen, indem du in Vaultwarden eine Organisation anlegst. Jedes Mitglied hat seinen eigenen Account, aber geteilte Passwörter sind für alle sichtbar.
Anhänge und Notizen
Wichtige Dokumente (Ausweise, Zertifikate) oder verschlüsselte Notizen kannst du ebenfalls in Vaultwarden speichern.
Sicherheitshärtung: Vaultwarden einrichten mit Fail2ban
Wer seinen Vaultwarden-Server öffentlich zugänglich macht, sollte Brute-Force-Schutz aktivieren. Fail2ban überwacht die Vaultwarden-Logs und sperrt IPs bei zu vielen Fehlversuchen automatisch.
Erstelle zunächst eine Fail2ban-Filterdatei /etc/fail2ban/filter.d/vaultwarden.conf:
[Definition]
failregex = ^.*Username or password is incorrect\. Try again\. IP: <ADDR>.*$
ignoreregex =
Dann die Jail-Konfiguration in /etc/fail2ban/jail.d/vaultwarden.conf:
[vaultwarden]
enabled = true
port = 80,443,8080
filter = vaultwarden
logpath = /pfad/zu/vw-data/vaultwarden.log
maxretry = 5
bantime = 900
findtime = 300
Damit werden IPs nach 5 fehlgeschlagenen Anmeldeversuchen innerhalb von 5 Minuten für 15 Minuten gesperrt. Ergänzend kannst du im Reverse Proxy ein Rate-Limiting konfigurieren, um die Anzahl der Anfragen pro IP auf ein sinnvolles Maß zu begrenzen.
Backup und Sicherheit
Der wichtigste Aspekt beim Selbst-Hosten: regelmäßige Backups! Das Vaultwarden-Datenverzeichnis (./vw-data) enthält die verschlüsselte Datenbank und alle Anhänge. Sichere es täglich:
#!/bin/bash
tar -czf /backup/vaultwarden-$(date +%Y%m%d).tar.gz ./vw-data/
# Ältere Backups löschen (älter als 30 Tage)
find /backup -name "vaultwarden-*.tar.gz" -mtime +30 -delete
Notfallwiederherstellung aus einem Backup
Wenn ein Server-Ausfall passiert, ist eine geordnete Wiederherstellung entscheidend:
- Installiere Docker und docker-compose auf dem neuen Server
- Stelle das Backup-Archiv wieder her:
tar -xzf vaultwarden-DATUM.tar.gz -C /opt/vaultwarden/ - Erstelle die
docker-compose.ymlmit identischer Konfiguration (gleiche Domain, gleiches Admin-Token) - Starte den Container:
docker compose up -d - Aktualisiere ggf. den DNS-Eintrag auf die neue IP
- Alle Clients verbinden sich nach dem nächsten Sync automatisch neu
Speichere dein Backup idealerweise an einem externen Ort (z. B. per rsync auf ein NAS oder in Cloud-Speicher), damit ein physischer Festplattenausfall keine Daten kostet.
Monitoring mit Uptime Kuma
Um sicherzustellen, dass Vaultwarden jederzeit erreichbar ist, lohnt sich ein Monitoring-Tool. Uptime Kuma ist eine selbst gehostete, optisch ansprechende Überwachungslösung:
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: always
ports:
- 3001:3001
volumes:
- ./uptime-kuma-data:/app/data
Füge in Uptime Kuma einen HTTP-Monitor für https://vault.deinedomain.de hinzu. Bei einem Ausfall wirst du sofort per E-Mail, Telegram oder anderen Kanälen benachrichtigt. Zusätzlich kannst du den Vaultwarden-Healthcheck-Endpoint /alive überwachen, der den Status des Containers direkt meldet.
Vaultwarden einrichten: Erweiterte Konfiguration und Tipps
E-Mail-Benachrichtigungen aktivieren
Vaultwarden kann E-Mail-Benachrichtigungen für neue Logins, Passwortänderungen und 2FA-Codes versenden. Konfiguriere SMTP in der docker-compose.yml:
environment:
SMTP_HOST: smtp.deinprovider.de
SMTP_FROM: vaultwarden@deinedomain.de
SMTP_PORT: 587
SMTP_SECURITY: starttls
SMTP_USERNAME: dein@email.de
SMTP_PASSWORD: emailPasswort
Zwei-Faktor-Authentifizierung für Vaultwarden
Sichere deinen Vaultwarden-Account zusätzlich mit 2FA ab. Gehe in Vaultwarden zu Konto → Sicherheit → Zwei-Schritt-Anmeldung. Du kannst TOTP-Apps (Aegis, Authy), YubiKey oder Email-Codes verwenden. Wichtig: Erstelle Wiederherstellungscodes und speichere diese sicher – ohne sie verlierst du bei Verlust deines 2FA-Geräts den Zugang!
Vaultwarden Wartung und Updates
# Vaultwarden aktuell halten
docker compose pull
docker compose up -d
# Logs prüfen
docker compose logs -f vaultwarden
Passwortimport aus anderen Managern
Du kannst Passwörter aus anderen Managern importieren:
- 1Password: Exportiere als 1PUX oder CSV, importiere in Vaultwarden
- LastPass: CSV-Export → Vaultwarden-Import
- KeePass: XML-Export → CSV-Konvertierung → Vaultwarden
- Browser-Passwörter: Chrome/Firefox → CSV-Export → Vaultwarden
Den Import findest du in Vaultwarden unter Werkzeuge → Importiere Daten.
Vaultwarden vs. KeePass: Wann was?
KeePass ist eine weitere beliebte Open-Source-Lösung: Datei-basiert (kein Server nötig), offline-first, aber keine automatische Synchronisierung zwischen Geräten. Vaultwarden ist ideal, wenn du auf mehreren Geräten arbeitest und automatische Synchronisierung möchtest. KeePass eignet sich, wenn du maximale Offline-Kontrolle willst.
Troubleshooting: Häufige Probleme lösen
Bei der Einrichtung können typische Probleme auftreten – hier die häufigsten mit Lösungen:
- HTTPS-Fehler / SSL-Zertifikat ungültig: Stelle sicher, dass deine Domain korrekt auf den Server zeigt und Port 80 für die ACME-Challenge erreichbar ist. Caddy benötigt Port 80 offen, auch wenn die eigentliche Anwendung nur HTTPS nutzt.
- Container startet nicht: Prüfe die Logs mit
docker compose logs vaultwarden. Häufige Ursache: Ein falsches Admin-Token-Format oder ein bereits belegter Port 8080. - 2FA-Codes werden abgelehnt: Die Systemzeit des Servers muss exakt stimmen. Installiere
chronyoderntpund stelle sicher, dass die Uhr synchronisiert ist:timedatectl status. - Clients können sich nicht verbinden: Überprüfe, ob die korrekte Server-URL (mit
https://) in den Client-Einstellungen eingetragen ist. Ohne HTTPS verweigern moderne Browser die Verbindung. - Admin-Panel nicht erreichbar: Das Admin-Panel ist standardmäßig deaktiviert, wenn kein
ADMIN_TOKENgesetzt ist. Nach dem Setzen muss der Container neu gestartet werden.
Admin-Panel
Vaultwarden bietet ein Admin-Panel unter https://vault.deinedomain.de/admin. Mit dem ADMIN_TOKEN aus der Docker-Konfiguration kannst du Benutzer verwalten, Einladungen verschicken und Systemeinstellungen anpassen.
Fazit: Deine Passwörter, dein Server
Vaultwarden einrichten ist eine der wertvollsten Investitionen in deine digitale Sicherheit und Privatsphäre. Die Installation ist in 30 Minuten erledigt, der Ressourcenverbrauch minimal, und du genießt einen professionellen Passwort-Manager ohne monatliche Kosten und mit maximaler Datenkontrolle. Mit Fail2ban-Schutz, regelmäßigen Backups und Uptime-Monitoring läuft dein Vaultwarden-Server zuverlässig und sicher. Kombiniere Vaultwarden mit Nextcloud für Dateien und Pi-hole für DNS-Filtering – und du hast eine vollständige private Cloud-Infrastruktur.
