Wenn es einen Kardinalfehler in puncto Cybersicherheit gibt, ist es überall das gleiche Passwort zu verwenden. Doch wie soll man sich heutzutage so viele kryptische Zeichenfolgen und Benutzernamen merken? Am besten gar nicht, oder?! Abhilfe schafft hier dein eigener Passwortserver auf Basis von Vaultwarden. Und was das Beste daran ist? Es gibt eine App für deine mobilen Geräte.
Diese heißt allerdings Bitwarden. Warum dem so ist? Im Grunde genommen ist Vaultwarden die kostenlose Version von Bitwarden. Es handelt sich hier nämlich um einen waschechten Fork, der zu 100 % kompatibel mit Bitwarden ist. Und keine Sorge, der Sicherheit und Stabilität tut dies keinem Abbruch. In den letzten 12 Monaten hatte ich zumindest keinerlei Scherereien mit meiner Installation.
Früher kannte man das Container-Image noch unter der Bezeichnung Bitwarden-RS. Der Name ist dabei eine Anspielung auf die verwendete Programmiersprache. Manch einer kann es sich bestimmt schon denken, die Rede ist natürlich von Rust. Das kleine Image läuft auf fast jeder Hardware. Der Einrichtung auf einem Raspberry Pi steht also nichts im Wege.
Was kann Vaultwarden alles so?
Die Liste an Features ist weit länger als man denken könnte. Daher habe ich eine kleine Aufzählung mit den absoluten Schlüsseleigenschaften erstellt:
- Kompatibel mit der App und dem Browser-Plugin von Bitwarden.
- Im Menü Berichte findet man beispielsweise einen Datendiebstahlbericht oder eine Auflistung, wo Passwörter doppelt verwendet werden.
- Unter dem Menüpunkt Werkzeuge können Passwörter importiert oder exportiert werden. Selbstverständlich fehlt auch ein Passwort-Generator nicht.
- Zwei-Faktor-Authentifizierung via E-Mail, Duo, YubiKey und FIDO2-WebAuthn (inklusive Nitrokeys und Solokeys)
- Teilen von Passwörtern samt Zugangskontrolle wird unterstützt.
- Neben Passwörtern können auch Identitäten & Karten verwaltet werden.
Wie wird Vaultwarden installiert?
Die Inbetriebnahme ist dank Docker denkbar einfach. Man sollte allerdings wissen, dass ohne die obligatorische SSL-Verschlüsselung nichts funktioniert. Ich benutze in meinem privaten Setup allerdings einen Reverse-Proxy-Server, daher stellt das für mich kein Problem dar. Empfehlen kann ich den Nginx-Proxy-Manager, der sich via Docker in wenigen Sekunden ausrollen lässt.
Die Handhabung ist wirklich simpel, es wird nämlich keinerlei Fachwissen in dem Bereich vorausgesetzt und man kann sich mit ein paar Klicks ein kostenloses Let’s Encrypt Zertifikat ausstellen lassen. Aber zurück zum Vaultwarden-Container. Ich erstelle für alle meine Deployments eine Docker-Compose-Datei in einem eigenen Verzeichnis, wo sich auch die gemounteten Volumes des Containers befinden.
In der weiter unten befindlichen Konfiguration habe ich auch gleich noch die passenden Variablen für den SMTP-Server hinterlegt. Hier musst du also noch ein paar Anpassungen vornehmen. Ansonsten war es das und der Container sollte mittels des Befehls „docker compose up -d“ erfolgreich online gehen. Ach ja, und die Einrichtung des Proxy-Hosts nicht vergessen wegen der SSL-Verschlüsselung.
Der fertige Code für die Datei docker-compose.yml schaut dann wie folgt aus:
version: "3.2"
services:
bitwarden:
image: vaultwarden/server:latest
restart: always
ports:
- 8080:80
environment:
- ADMIN_TOKEN=<GeheimesPasswort>
- WEBSOCKET_ENABLED=true
- SIGNUPS_ALLOWED=false
- INVITATIONS_ALLOWED=false
- LOG_FILE=/data/vaultwarden.log
- LOG_LEVEL=warn
- EXTENDED_LOGGING=true
- SMTP_HOST="<smtp.domain.tld>"
- SMTP_FROM="<vaultwarden@domain.tld>"
- SMTP_PORT="587"
- SMTP_SECURITY="starttls"
- SMTP_USERNAME="<username>"
- SMTP_PASSWORD="<password>"
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
volumes:
- ./data:/data
Im obigen Compose-File habe ich die Registrierung neuer Nutzer aus Sicherheitsgründen deaktiviert. Du kannst dir aber natürlich trotzdem einen Account anlegen. Dafür hängst du an deine Domain einfach den Pfad /admin an und gibst das hinterlegte Passwort der Environment-Variable ADMIN_TOKEN an. In diesem Sinne, viel Spaß beim Ausprobieren deines Passwort-Tresors.