In der heutigen digitalen Welt ist eine effiziente und sichere IT-Infrastruktur entscheidend für den Erfolg. Ein Bestandteil einer sicheren IT-Infrastruktur sind sichere Zugangsdaten (komplexe Passwörter, unterschiedliche Passwörter, zwei Faktor Authentisierung, usw.). Dies ist sinnvoll nur mit der Nutzung eines Passwort Managers möglich.
Wir haben im Rahmen unserer Tätigkeit schon einige Passwort Manager genutzt:
um nur einige zu nennen. Intern nutzen wir aufgrund unserer Erfahrungen seit einigen Jahren Vaultwarden als Passwort Manager.
Vaultwarden ist eine freie, Ressourcen schonende, in Rust geschriebene Implementation des Bitwarden-Servers. Es war auch unter der Bezeichnung Bitwarden_RS bekannt. Vaultwarden bietet nahezu alle Funktionen des offiziellen Bitwarden-Dienstes und ist kompatibel mit allen Bitwarden Tools, wie Browser-Plugins oder Clients.
Vaultwarden ist ein Open Source Projekt, der Quellcode ist frei zugänglich. So kann man es anpassen und auch sicherstellen das keine versteckten Funktionen oder Hintertüren vorhanden sind. Es gibt eine aktive Community, die kontinuierlich die Software weiterentwickelt und Support bietet.
Vaultwarden gibt dir die komplette Kontrolle über deine Daten, es ist keine Cloud Dienst oder von einem solchen abhängig. Es besteht die Möglichkeit Vaultwarden fast überall zu hosten, wo man es möchte.
Es gibt sehr gute Import- und Exportmöglichkeiten für die Daten.
Vaultwarden ist kompatibel mit allen offizellen Bitwarden-Clients und Plugins. Das bedeutet, man verwendet sie selben Plug-ins und Anwendungen, die man für Bitwarden verwendet,, was einen Umstieg sehr einfach macht.
Im Unterschied zu anderen Passwortmanagern hat Vaultwarden sehr geringe Systemanforderungen und Abhängigkeiten. Es ist auf verschiedenen Plattformen lauffähig, vom kleinen Raspberry Pi bis zum Kubernetes Cluster.
Die Installation von Vaultwarden ist einfach und kann auf verschiedenen Plattformen durchgeführt werden. Hier ist eine einfache Anleitung für die Installation auf einem Linux-Server.
Für die nächsten Schritte setzen wir ein Linux mit einem aktuell installierten Docker vorraus.
Wir empfehlen Docker so zu konfigurieren, dass im Zweifel auch IPv6 funktioniert.
Daher sollte die Datei /etc/docker/daemon.json mind. so aussehen:
{
"ipv6": true,
"ip6tables": true,
"experimental": true,
"fixed-cidr-v6": "fd00::/64"
}
In diesem Beispiel betreiben wir Vaultwarden mit dem sqlite Backend und einem Reverse Proxy namens Traefik der sich automatisch letsencrypt Zertifikate verwalten kann.
docker-compose.yaml:
services:
traefik:
container_name: traefik
image: traefik:latest
ports:
- 80:8080
- 443:8443
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./traefik-data:/letsencrypt
networks:
- default
command:
- --entrypoints.web.address=:8080
- --entrypoints.websecure.address=:8443
- --providers.docker
- --log.level=ERROR
- --certificatesresolvers.leresolver.acme.httpchallenge=true
- --certificatesresolvers.leresolver.acme.email=info@example.org
- --certificatesresolvers.leresolver.acme.storage=/letsencrypt/acme.json
- --certificatesresolvers.leresolver.acme.httpchallenge.entrypoint=web
labels:
- "traefik.http.routers.http-catchall.rule=hostregexp(`.+`)"
- "traefik.http.routers.http-catchall.entrypoints=web"
- "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
restart: always
vaultwarden:
container_name: vaultwarden
image: vaultwarden/server:latest
restart: unless-stopped
volumes:
- ./vaultwarden-data/:/data/
networks:
- default
environment:
- DOMAIN=https://vaultwarden.example.org
- LOGIN_RATELIMIT_MAX_BURST=10
- LOGIN_RATELIMIT_SECONDS=60
- ADMIN_RATELIMIT_MAX_BURST=10
- ADMIN_RATELIMIT_SECONDS=60
# Bitte das Token eintragen siehe: https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page#secure-the-admin_token
- ADMIN_TOKEN=
- SENDS_ALLOWED=true
- EMERGENCY_ACCESS_ALLOWED=true
- WEB_VAULT_ENABLED=true
- SIGNUPS_ALLOWED=false
- SIGNUPS_VERIFY=true
- SIGNUPS_VERIFY_RESEND_TIME=3600
- SIGNUPS_VERIFY_RESEND_LIMIT=5
- SMTP_HOST=mail.example.org
- SMTP_FROM=security@example.org
- SMTP_FROM_NAME="Pasword Vault"
- SMTP_SECURITY=starttls
- SMTP_PORT=25
labels:
- "traefik.enable=true"
- "traefik.http.routers.vaultwarden.rule=Host(`vaultwarden.example.org`)"
- "traefik.http.routers.vaultwarden.entrypoints=websecure"
- "traefik.http.routers.vaultwarden.tls=true"
- "traefik.http.routers.vaultwarden.tls.certresolver=leresolver"
- "traefik.http.routers.vaultwarden.service=vaultwarden"
- "traefik.http.services.vaultwarden.loadbalancer.server.port=80"
networks:
default:
internal: false
enable_ipv6: true
ipam:
driver: default
config:
- subnet: fd00:1::/64
gateway: fd00:1::1
Dies ist nur ein recht einfaches Beispiel, das man für den produktiven Betrieb noch erweitern würde.
Als Erstes sollte die Datei /etc/docker/daemon.json erstellt oder passend
modifiziert werden, siehe weiter oben.
Im Anschluss docker einmal neu starten:
root@bar:~# systemctl restart docker
Nun legen wir einen Benutzer und passende Verzeichnisse an:
root@bar:~# adduser -g docker vaultwarden
root@bar:~# su - vaultwarden
vaultwarden@bar:~$ mkdir traefik-data
vaultwarden@bar:~$ mkdir vaultwarden-data
vaultwarden@bar:~$
Jetzt wird die obige docker-compose.yaml unter /home/vaultwarden/docker-compose.yaml abgelegt.
Als Nächstes sollte die Datei entsprechend der lokalen Gegebenheiten angepasst werden.
Nun kann man die Container herunterladen und die Anwendung starten:
vaultwarden@bar:~$ docker compose pull
vaultwarden@bar:~$ docker compose up -d
vaultwarden@bar:~$
Nachdem der Traefik das Zertifikat geholt hat sollte der Dienst dann unter der
konfigurierten URL zur Verfügung stehen.
Als Erstes sollte man sich in das Admin-Panel mit dem konfigurierten Token einloggen:
Nach dem Login befindet man sich im Admin-Panel-Menü:
Hier kann man die Konfiguration vornehmen und alle Aufgaben wie das Backup der Datenbank durchführen.
Somit hat man nun eine lauffähige Instanz.
Mit Vaultwarden ist es extrem einfach einen sicheren, kostenfreien und selbst gehosteten Password Manager seinen Nutzern bereitzustellen. Dies erhöht die Sicherheit beim Umgang mit Passwörtern und Zugangsdaten massiv.
Sollten Sie Fragen zu der Implementation von Vaultwarden in Ihrer IT Umgebung haben oder Unterstützung benötigen, nehmen Sie bitte Kontakt zu uns auf.