Vaultwarden: Eine effiziente Alternative zur Bitwarden-Server-API, entwickelt in Rust. Diese Implementierung ist vollständig kompatibel mit Bitwarden-Clients und ideal für selbstgehostete Lösungen. Vaultwarden bietet eine ressourcenschonende Alternative zum offiziellen, ressourcenintensiven Bitwarden-Dienst und eignet sich perfekt für individuelle Hosting-Anforderungen.
0. Versionierung
Datum | Änderung |
---|---|
25.01.2024 | Überarbeitung & Veröffentlichung |
08.02.2023 | Vorbereitung |
1. Vorwort
Als Internet-Nutzer kennen Sie es sicher nur zu gut: Ständig werden Sie auf irgendwelchen Webseiten aufgefordert, sich mit einem Passwort anzumelden. Und damit Sie nicht den Überblick verlieren, nutzen Sie meistens das Gleiche. Doch diese Bequemlichkeit ist ein potentielles Sicherheitsrisiko: Wird Ihr Passwort einmal ausgespäht – sei es durch Phishing-Mails oder andere Sicherheitslücken – sind gleich mehrere Ihrer Accounts betroffen. Mithilfe eines Passwortmanagers können Sie diesem Problem Einhalt gebieten.
https://www.heise.de/tipps-tricks/Passwortmanager-So-verwalten-Sie-Ihre-Passwoerter-3934582.html
Es gibt genügend Passwortmanager auf dem Markt. Darunter auch LastPass welches in der Vergangenheit eher mit negativen Schlagzeilen in der Presse war. Eines der wohl sichersten und umfangreichsten ist wohl 1Password. Dies ist inzwischen nur noch im Abo-Modell zu erhalten. Dreh- und Angelpunkt ist bei jedem System, neben dem allgemeinem sichern Setup, das Master-Passwort. Die Entwickler von LastPass konnten noch so gut alle Sicherheitsstandards implementieren, wenn das Master-Passwort nicht sicher ist 🤯.
2. Vorraussetzung
Hinweis: In meinem Standard-Setup hat der normale Nutzer keine Zugriffrechte auf Docker, also arbeite ich meine Anleitungen als root
ab. Dies kann bedeuten, dass ihr ggf. sudo
nutzen müsst, wenn ihr nicht als root
-User arbeitet.
3. Ordner und Dateien anlegen
Beginnen wir mit den Befehlen zum Erstellt der notwendigen Ordner und Dateien für Vaultwarden. Danach wechseln wir direkt in das Hauptverzeichnis unserer Vaultwarden-Installation:
mkdir -p /opt/containers/vaultwarden/config mkdir -p /root/secrets/vaultwarden/ touch /opt/containers/vaultwarden/{.env,docker-compose.yml,docker-compose.override.yml} touch /opt/containers/vaultwarden/config/database.env touch /var/log/vaultwarden.log cd /opt/containers/vaultwarden
4. Docker-Compose Dateien bearbeiten
In diesem Abschnitt bearbeiten wir die Docker-Compose Dateien. Um die Übersicht zu bewahren, nutze ich zusätzlich eine docker-compose.override.yml.
4.1. docker-compose.yml
In der docker-compose.yml legen wir die Basisstruktur fest:
nano /opt/containers/vaultwarden/docker-compose.yml
version: '3.9' services: vaultwarden-db: container_name: vaultwarden-db image: mariadb:11 command: --transaction-isolation=READ-COMMITTED --log-bin=ROW --innodb_read_only_compressed=OFF restart: always healthcheck: test: [ "CMD", "healthcheck.sh", "--connect", "--innodb_initialized" ] interval: 10s timeout: 10s retries: 10 volumes: - /etc/localtime:/etc/localtime:ro - ./database:/var/lib/mysql env_file: - ./.env - ./config/database.env networks: default: null hostname: vaultwarden-db vaultwarden: container_name: vaultwarden image: vaultwarden/server:latest depends_on: vaultwarden-db: condition: service_healthy restart: always volumes: - /etc/localtime:/etc/localtime:ro - /var/log/vaultwarden.log:/var/log/vaultwarden.log - ./data:/data env_file: - ./.env - ./config/vaultwarden.env networks: default: null hostname: vaultwarden networks: default: {}
Bei diesem Inhalt handelt es sich um exklusiven Content für Community Plus Mitglieder und Supporter.
Bitte logge dich mit deinem Account ein um den Inhalt zu sehen.
Testserver:
Ergibt:
gibt: tr: range-endpoints of ‘_-.’ are in reverse collating sequence order
Es wird kein Passwort erstellt….
Hallo @psychoOverload. Danke für die Anleitung. Leider hakt es bei mir noch.
Ich bin sehr sicher, dass ich alle Schritte richtig gemacht habe.
Zuvor hatte ich Deine neueste Anleitung mit traefik und crowdsec installiert. Auch Nextcloud AIO. Funktioniert alles wunderbar. Nur eben hier stoße ich auf folgendes Problem:
docker compose up -d startet die beiden conainer. Aber danach habe ich keinen Zugriff auf vault.meineDomain.de (klar, natürlich mit meiner eigenen Doamin)
Im Traefik eingeloggt, sehe ich keinen HTTP Router und auch keinen HTTP Service für vaultwarden…
In Portaainer sehe ich die vaultwarden-db healthy, vaultwarden starting.
Als log sendet er:
[2024-02-01 20:05:24.749][vaultwarden::util][WARN] Can’t connect to database, retrying: DieselCon.
[CAUSE] InvalidConnectionUrl(
“MySQL connection URLs must be in the form
mysql://[[user]:[password]@]host[:port][/database][?unix_socket=socket-path]
“,)
Die config.json (siehe oben) ist übrigens nicht vorhanden.
Wo bin ich da jetzt falsch abgebogen?
Vielen Dank schon mal
Vielleicht als Idee für eine künftige Anleitung, den Bitwarden Unified Container als Anleitung zu veröffentlichen. Das wäre der “offizielle” Weg. Aktuell noch Beta, aber sicher bald aus der Beta raus. Hier der Link: https://bitwarden.com/help/install-and-deploy-unified-beta/
Danke für die Anleitung psycho0verload 😀
Hat bei mir alles direkt funktioniert 😀
Hallo,
woher bekomme ich das generierte Passwort aus Schritt 6.2?
Ich verstehe die Schritt für Schritt Anl. ab da nicht mehr. Nach dem Befehl wird kein PW angezeigt.
VG hardy