From 010e791be578bcb470e76731c23d516aba88369d Mon Sep 17 00:00:00 2001 From: Thomas Dannenberg Date: Thu, 21 Aug 2025 19:00:55 +0000 Subject: [PATCH] Kapitel 6/Tutorial.md aktualisiert --- Kapitel 6/Tutorial.md | 266 +++++++++++++----------------------------- 1 file changed, 78 insertions(+), 188 deletions(-) diff --git a/Kapitel 6/Tutorial.md b/Kapitel 6/Tutorial.md index 5bcb1ba..0a43147 100644 --- a/Kapitel 6/Tutorial.md +++ b/Kapitel 6/Tutorial.md @@ -1,42 +1,35 @@ đŸ› ïž Kapitel 6 – Vaultwarden (Docker, Debian‑12‑LXC) – Tutorial -🎯 Ziel -Vaultwarden in einem Debian‑12‑LXC per **Docker + Compose** bereitstellen, hinter **Nginx Proxy Manager** (NPM) mit **HTTPS** und **WebSockets** veröffentlichen; **Registrierungen deaktivieren**, **Admin‑Token** setzen und **Backups** ermöglichen. +Zu Beginn ein kurzer Hinweis: Grundlegendes wie die Bedienung von Nano, das Anlegen eines LXC samt SSH‑Zugang oder das Hinterlegen der Domain im Nginx Proxy Manager (NPM) haben wir bereits in den Basis‑Kapiteln ausfĂŒhrlich gezeigt. Hier verweisen wir darauf und konzentrieren uns auf das, was Vaultwarden besonders macht – mit ErklĂ€rungen dort, wo Entscheidungen oder Schalter wichtig sind. -đŸ§© Was wir aufbauen +— -* **Image:** `vaultwarden/server:latest` -* **Ports:** `8000:80` (Web/API), `3012:3012` (WebSocket/Live‑Sync) -* **Persistenz:** `./data:/data` → Hostpfad `/opt/vaultwarden/data` -* **Konfig per `.env`:** `DOMAIN`, `ADMIN_TOKEN`, `SIGNUPS_ALLOWED=false` (+ optional `SMTP_*`) -* **Reverse‑Proxy (NPM):** Proxy Host fĂŒr `pass.DEINE‑DOMAIN.tld`, Custom Location `/notifications/hub → 3012`, SSL (Let’s Encrypt) +## Ziel und Aufbau -✅ Voraussetzungen (konkret) +Wir setzen Vaultwarden in einem Debian‑12‑LXC mit Docker und Docker Compose auf. Der Dienst lĂ€uft intern auf Port 80 (Web/API) und 3012 (WebSocket). NPM veröffentlicht ihn sauber unter `https://pass.DEINE‑DOMAIN.tld`, inklusive Let’s‑Encrypt‑Zertifikat sowie einer speziellen Weiterleitung des WebSocket‑Kanals. Registrierungen bleiben geschlossen; das Admin‑Backend sichern wir mit einem modernen Argon2‑Token. Am Ende weißt du nicht nur, **was** zu klicken ist, sondern auch **warum**. -* **LXC:** Debian 12 (Bookworm) – erstellt nach Grundkapitel *Erster LXC – Grundsetup & SSH* (hier nur Verweis) -* **Specs:** 1 vCPU · **512 MB–1 GB RAM** (512 MB empfohlen) · **4–8 GB Disk** · **statische IPv4** (z. B. `10.0.0.16/24`), IPv6 optional -* **NPM** lĂ€uft (separater LXC), **Subdomain** `pass.DEINE‑DOMAIN.tld` zeigt auf NPM (DNS A/AAAA gesetzt) -* **Outbound‑Internet** im LXC erreichbar; **Hostports 8000/3012** frei +— -🔁 Platzhalter +## Voraussetzungen (knapp, aber konkret) -* `` = IP des Vaultwarden‑LXC (z. B. `10.0.0.16`) -* `DEINE-DOMAIN.tld` = deine echte Domain +Der Container ist ein Debian‑12‑LXC nach unserem Grundsetup. Plane eine vCPU, 512 MB bis 1 GB RAM und 4–8 GB Platte ein. Der LXC hat eine statische IPv4 (zum Beispiel `10.0.0.16/24`). NPM lĂ€uft bereits in einem eigenen LXC, und deine Subdomain `pass.DEINE‑DOMAIN.tld` zeigt via DNS auf NPM. Im Folgenden nennen wir diese IP des Vaultwarden‑LXC ``. -— — — +— -1ïžâƒŁ System vorbereiten +## 1) System vorbereiten + +Bevor wir Docker installieren, bringen wir die Paketquellen auf Stand und installieren die kleinen Helfer, mit denen wir das offizielle Docker‑Repository sauber einbinden. Das ist transparenter und sicherer als ein Einzeiler‑Installskript. ```bash apt update && apt upgrade -y apt install -y ca-certificates curl gnupg lsb-release ``` -👉 `ca-certificates`/`curl`/`gnupg` werden fĂŒr das Docker‑Repo benötigt. +— -— — — +## 2) Docker und Compose installieren -2ïžâƒŁ Docker & Compose installieren +Wir fĂŒgen die signierte Docker‑Quelle hinzu, installieren Engine, CLI und das Compose‑Plugin und schalten den Dienst ein. Vorteil: schnelle Sicherheitsupdates direkt vom Projekt, und Compose ist als modernes Plugin integriert (kein separater „docker‑compose“-Binary mehr). ```bash mkdir -p /etc/apt/keyrings @@ -50,32 +43,33 @@ apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker systemctl enable --now docker ``` -**PrĂŒfen:** +PrĂŒfe kurz, ob alles da ist: ```bash docker --version && docker compose version ``` -👉 Offizielle Pakete, Compose als Plugin integriert. +Falls Docker im LXC nicht starten will, aktiviere in Proxmox beim CT „nesting“ und „keyctl“ und starte den Container neu. -— — — +— -3ïžâƒŁ Projekt anlegen & `.env` erstellen +## 3) Projekt anlegen und Konfiguration schreiben + +Wir legen das Arbeitsverzeichnis `/opt/vaultwarden` samt Datenordner an. Die Konfiguration parken wir in einer `.env`‑Datei – das trennt Geheimnisse sauber von der Compose‑Datei und macht spĂ€tere Anpassungen ungefĂ€hrlich. ```bash mkdir -p /opt/vaultwarden && cd /opt/vaultwarden mkdir -p data -openssl rand -base64 48 # Token erzeugen und kopieren nano .env ``` -**Inhalt (`.env`) – Platzhalter ersetzen, Token einfĂŒgen:** +FĂŒge folgenden Inhalt ein und ersetze Platzhalter (die Domain bitte **mit https** – sonst fehlen spĂ€ter Assets oder Links wirken „kaputt“): ``` DOMAIN=https://pass.DEINE-DOMAIN.tld -ADMIN_TOKEN=HIER_DEIN_ERZEUGTES_TOKEN_EINFÜGEN +# Wir beginnen mit geschlossenen Registrierungen und öffnen sie spĂ€ter kurz fĂŒr deinen Erstnutzer. SIGNUPS_ALLOWED=false -# Optional SMTP (nur falls Mailversand gewĂŒnscht) +# Optional: SMTP, falls du Verifizierungs- und Reset-Mails brauchst # SMTP_HOST=smtp.example.com # SMTP_FROM=pass@example.com # SMTP_PORT=587 @@ -84,19 +78,18 @@ SIGNUPS_ALLOWED=false # SMTP_PASSWORD=deinPasswort ``` -**Speichern:** `Strg+O`, `Enter` → Beenden: `Strg+X`. -👉 `DOMAIN` zwingend **https**; `ADMIN_TOKEN` schĂŒtzt `/admin`; Signups sind zu. +Speichern mit Strg+O, Enter, anschließend Strg+X. -— — — +— -4ïžâƒŁ `docker-compose.yml` schreiben +## 4) Compose‑Datei erstellen + +Die Compose‑Datei beschreibt, welches Image gestartet wird, wo Daten liegen und welche Ports wir durchreichen. Wichtig sind hier das Daten‑Volume und der zusĂ€tzliche WebSocket‑Port – ohne den gibt es keinen Live‑Sync zwischen Clients. ```bash nano docker-compose.yml ``` -**Inhalt einfĂŒgen:** - ```yaml services: vaultwarden: @@ -113,97 +106,57 @@ services: - "3012:3012" # WebSocket (Live Sync) ``` -**Speichern:** `Strg+O`, `Enter` → `Strg+X`. -👉 `./data:/data` = Persistenz auf dem Host. +— -— — — +## 5) Starten und prĂŒfen -5ïžâƒŁ Container starten & Logs prĂŒfen +Jetzt starten wir den Container im Hintergrund und schauen live in die Protokolle. So siehst du sofort, ob Vaultwarden sauber „hochkommt“, bevor du die Veröffentlichung in NPM anfasst. ```bash docker compose up -d -docker compose logs -f --tail=50 vaultwarden +docker compose logs -f --tail=80 vaultwarden ``` -Erwartet: Meldungen wie `Rocket has launched
`. -👉 Erst prĂŒfen, dann veröffentlichen. +Wenn Zeilen wie „Rocket has launched
“ auftauchen und keine Fehlermeldungen zu `/data` erscheinen, lĂ€uft der Dienst intern – genau so wollen wir ihn vorfinden, bevor wir nach außen gehen. -— — — +— -6ïžâƒŁ NPM einrichten (Proxy, WebSockets, SSL) -**Proxy Host:** +## 6) Veröffentlichung im Nginx Proxy Manager (GUI) -* **Domain Names:** `pass.DEINE-DOMAIN.tld` -* **Scheme:** `http` -* **Forward Host/IP:** `` -* **Forward Port:** `8000` -* **Block Common Exploits:** ✔ · **Websockets Support:** ✔ +Öffne die NPM‑OberflĂ€che und lege einen neuen Proxy Host an. In das Feld „Domain Names“ trĂ€gst du `pass.DEINE‑DOMAIN.tld` ein. Als Scheme wĂ€hlst du „http“, denn NPM beendet die VerschlĂŒsselung, und als Ziel gibst du die interne Adresse deines Vaultwarden‑Containers an: `` mit Port **8000**. Die beiden Schalter „Block Common Exploits“ und „Websockets Support“ aktivierst du, damit NPM typische Angriffsversuche abfĂ€ngt und der spĂ€tere Live‑Kanal technisch erlaubt ist. -**Custom Location:** +Bevor du speicherst, wechselst du in den Reiter „Custom Locations“ und fĂŒgst **eine** Location hinzu. Als Pfad gibst du `/notifications/hub` ein – das ist der spezielle WebSocket‑Endpunkt, ĂŒber den Vaultwarden Änderungen in Echtzeit verteilt. Als Ziel trĂ€gst du wieder `` ein, diesmal aber mit Port **3012**, und aktivierst auch hier den WebSocket‑Schalter. Speichere die Location und wechsle in den Reiter „SSL“. -* **Location:** `/notifications/hub` -* **Forward Host/IP:** `` -* **Forward Port:** `3012` -* **Websockets Support:** ✔ +Dort forderst du ein neues Let’s‑Encrypt‑Zertifikat fĂŒr deine Subdomain an, akzeptierst die Nutzungsbedingungen und setzt direkt **Force SSL**, **HTTP/2** und **HSTS**. Nach dem Speichern dauert es einen Moment. Anschließend rufst du im Browser `https://pass.DEINE‑DOMAIN.tld` auf. Die Login‑Seite sollte jetzt erreichbar sein; wenn du dich auf zwei GerĂ€ten anmeldest und einen Tresor‑Eintrag Ă€nderst, siehst du die Änderung ohne Neuladen – das bestĂ€tigt, dass die WebSocket‑Weiterleitung funktioniert. -**SSL‑Tab:** +— -* **Request a new SSL Certificate (Let’s Encrypt)** -* **Force SSL**, **HTTP/2**, **HSTS**: ✔ +## 7) Admin‑Backend absichern und ersten Benutzer anlegen -**Test:** `https://pass.DEINE-DOMAIN.tld` → Loginseite sichtbar; Live‑Änderung zwischen zwei Clients testen. -👉 Die Custom‑Location leitet den WebSocket‑Kanal (Live‑Sync) korrekt weiter. +Beim ersten Öffnen des Admin‑Bereichs unter `https://pass.DEINE‑DOMAIN.tld/admin` meldet Vaultwarden oft, dass ein Klartext‑`ADMIN_TOKEN` unsicher ist. Das stimmt – deshalb hinterlegen wir einen **Argon2‑PHC‑Hash** in der GUI und entfernen den Klartext‑Eintrag danach aus der `.env`. -— — — +Zum Erzeugen des Hashes nutzen wir das eingebaute Werkzeug des Containers. Der Befehl fragt dich zweimal nach dem **kĂŒnftigen Admin‑Passwort** (also nicht nach dem Hash). Den ausgegebenen String, der mit `$argon2id$
` beginnt, kopierst du vollstĂ€ndig. -7ïžâƒŁ Admin‑Backend (GUI), Admin‑Token absichern & erster Nutzer -Öffne `https://pass.DEINE-DOMAIN.tld/admin` und melde dich **mit deinem bisherigen Admin‑Token** an (zunĂ€chst im Klartext aus `.env`). +```bash +docker exec -it vaultwarden /vaultwarden hash --preset owasp +``` -**A) Admin‑Token auf Argon2 PHC umstellen (GUI, sicher)** +ZurĂŒck im Admin‑Panel gehst du auf **Settings → General** und fĂŒgst den kompletten PHC‑String in das Feld „Admin token / Argon2 PHC“ ein. Nach dem Speichern verwendest du im Admin‑Login kĂŒnftig das **Passwort**, das du beim Hash erzeugt hast – nicht den Hash selbst. Damit der Klartext‑Eintrag nicht mehr herumliegt, entfernst du die Zeile `ADMIN_TOKEN=` aus der `.env` und startest den Container neu: -1. **Hash erzeugen** (nimmt dein kĂŒnftiges Admin‑Passwort entgegen → zweimal eingeben): +```bash +sed -i '/^ADMIN_TOKEN=/d' /opt/vaultwarden/.env +cd /opt/vaultwarden && docker compose restart vaultwarden +``` - ```bash - # Container-Name ist im Tutorial 'vaultwarden' - docker exec -it vaultwarden /vaultwarden hash --preset owasp - ``` +Damit ist das Backend zeitgemĂ€ĂŸ gehĂ€rtet. Jetzt legst du deinen ersten Nutzer an: In **Settings → General** schaltest du „Allow new signups“ kurz ein und speicherst. In einem neuen Tab öffnest du `https://pass.DEINE‑DOMAIN.tld/#/register`, registrierst dein Konto, meldest dich einmal an und deaktivierst die Registrierung wieder. Wenn du bereits SMTP konfiguriert hast, kannst du alternativ ĂŒber **Users → Invitations** Einladungs‑Mails verschicken. - > Kopiere **den kompletten PHC‑String** ab `$argon2id$
` (ohne zusĂ€tzliche AnfĂŒhrungszeichen). -2. **Im Admin‑Panel speichern:** +Zum Schluss gehst du in deinem Benutzerkonto auf **Settings → Security** und aktivierst die Zwei‑Faktor‑Anmeldung (TOTP oder FIDO2/YubiKey). Das schĂŒtzt deinen Tresor zusĂ€tzlich, selbst wenn jemand an dein Passwort kĂ€me. - * Admin → **Settings** → **General** → Feld **“Admin token / Argon2 PHC”** - * PHC‑String einfĂŒgen → **Save**. -3. **Konflikte vermeiden:** Entferne das alte `ADMIN_TOKEN` aus der `.env` (wir nutzen kĂŒnftig die **GUI‑Konfig**/`config.json`). +— - ```bash - cd /opt/vaultwarden - sed -i '/^ADMIN_TOKEN=/d' .env - docker compose restart vaultwarden - ``` -4. **PrĂŒfen:** +## 8) Backups verstehen und durchfĂŒhren - ```bash - docker compose logs --tail=100 vaultwarden | grep -F "plain text `ADMIN_TOKEN`" || echo "✅ Admin‑Token ist als Argon2 PHC aktiv" - ``` - - **Login‑Hinweis:** Ab jetzt loggst du dich im Admin‑Bereich mit **dem Klartext‑Passwort** ein, das du beim `hash` eingegeben hast (nicht mit dem langen PHC‑String!). - -**B) Ersten Benutzer per GUI anlegen (ohne SMTP)** - -1. Admin → **Settings → General** → **Allow new signups** **einschalten** → **Save**. -2. In neuem Tab `https://pass.DEINE-DOMAIN.tld/#/register` öffnen → Benutzer anlegen → anmelden. -3. Admin → **Allow new signups** wieder **ausschalten** → **Save**. - - > **Mit SMTP** kannst du stattdessen Admin → **Users → Invitations** nutzen (Einladungs‑Mail). - -**C) Sicherheit abrunden** - -* Eigenes Benutzerkonto → **Settings/Security** → **2FA** (TOTP oder FIDO2/YubiKey) aktivieren. -* Optional: **SMTP** in Admin‑Panel setzen und **Testmail** senden. - -— — — - -8ïžâƒŁ Backup (Basis) +Wichtig ist nicht der Container – den kannst du jederzeit ersetzen –, sondern der **Datenordner** auf dem Host. Darin liegen Datenbank, AnhĂ€nge, „Sends“ und Konfiguration. Ein einfaches, zuverlĂ€ssiges Backup besteht darin, diesen Ordner regelmĂ€ĂŸig als Archiv zu sichern. FĂŒr maximale Konsistenz kannst du Vaultwarden vorher kurz stoppen; fĂŒr kleine Umgebungen ist ein „Online‑Tar“ oft ausreichend. ```bash cd /opt/vaultwarden @@ -215,107 +168,44 @@ tar -czf /root/vaultwarden-backup-$(date +%F).tar.gz data ls -lh /root/vaultwarden-backup-*.tar.gz ``` -👉 Ein Tar reicht als Grundlage; regelmĂ€ĂŸig per Cron sichern. +Die Wiederherstellung ist entsprechend einfach: neue Instanz bis zur Compose‑Datei bringen, Archiv nach `/opt/vaultwarden/` kopieren, entpacken, `docker compose up -d` – fertig. -— — — +— -đŸ› ïž Fehlerhilfe (kurz) +## 9) Vaultwarden im Alltag nutzen (Standard‑Anwendungen im Detail) -* **Kein Live‑Sync / 502:** NPM‑Location `/notifications/hub` → Port **3012** + **Websockets** ✔ -* **Icons/Links fehlen:** In `.env` `DOMAIN` = **https**; dann `docker compose restart vaultwarden` -* **Container startet nicht:** `docker compose logs --tail=200 vaultwarden` -* **Let’s‑Encrypt‑Fehler:** DNS‑Eintrag prĂŒfen; Rate‑Limit abwarten +Nach der Installation geht es darum, den Tresor im Alltag bequem und sicher zu verwenden. Der Einstieg geschieht meist ĂŒber die Web‑OberflĂ€che: Du meldest dich unter `https://pass.DEINE‑DOMAIN.tld` an und siehst zunĂ€chst einen leeren Tresor. Lege deinen ersten Eintrag an – Name, Benutzername oder E‑Mail, ein mit dem Generator erzeugtes langes Passwort und die Ziel‑URL. Das ist bewusst simpel: EintrĂ€ge sind die kleinste Einheit, aus ihnen baust du dir spĂ€ter Ordnung und Automatik. -✅ Ergebnis +**EintrĂ€ge anlegen & strukturieren.** Wenn du viele ZugĂ€nge hast, zahlt sich eine klare Struktur aus. Lege in der Web‑OberflĂ€che Ordner an (etwa „Streaming“, „Privat“, „Server“). Beim Speichern eines Eintrags weist du ihn direkt einem Ordner zu. So findest du Logins auch nach Monaten wieder, ohne suchen zu mĂŒssen. FĂŒr wiederkehrende Notizen (z. B. Seriennummern, kleine API‑Tokens) gibt es den Eintragstyp „Sichere Notiz“. -* Vaultwarden lĂ€uft hinter NPM mit **HTTPS**; **WebSockets** funktionieren -* **Registrierungen aus**, Admin‑Backend per **Token** geschĂŒtzt -* Daten persistent unter `/opt/vaultwarden/data` und per Tar gesichert +**Browser‑Erweiterung verbinden.** Installiere die Bitwarden‑Erweiterung in deinem Browser und stelle in den Einstellungen die Server‑URL auf deine Instanz (`https://pass.DEINE‑DOMAIN.tld`). Nach dem Login siehst du dieselben EintrĂ€ge wie im Web‑Tresor. Aktiviere die Option, beim Aufruf einer Login‑Seite passende EintrĂ€ge vorzuschlagen; wenn du möchtest, kannst du auch Auto‑Fill per Tastenkombination erlauben. Das ist besonders praktisch, wenn du hĂ€ufig zwischen Diensten wechselst. -— — — +**Import bestehender Passwörter.** Viele starten nicht bei null. Der Import liegt in der Web‑OberflĂ€che unter „Werkzeuge → Importieren“. WĂ€hle die Quelle (z. B. Chrome, Firefox, Bitwarden CSV/JSON), lade die Datei hoch und starte den Import. Sinnvoll ist es, zunĂ€chst einen temporĂ€ren Ordner wie „Eingang“ anzulegen und dort alles hinein importieren zu lassen. Danach ziehst du StĂŒck fĂŒr StĂŒck in deine endgĂŒltige Struktur um und löschst Dubletten. Falls eine Website Sonderregeln fĂŒr Passwörter hat (nur bestimmte Zeichen), passe den betroffenen Eintrag nach dem Import an – wichtig ist, dass der in Vaultwarden gespeicherte Wert mit dem wirklich gesetzten Passwort ĂŒbereinstimmt. -9ïžâƒŁ Arbeiten mit Vaultwarden – Kurzguide (Praxis) +**TOTP/2FA in EintrĂ€gen hinterlegen.** Aktivierst du bei einem Dienst Zwei‑Faktor‑Anmeldung, bekommst du einen QR‑Code oder einen Text‑SchlĂŒssel (Base32). In Vaultwarden öffnest du den passenden Eintrag, fĂŒgst ein neues Feld vom Typ „Authenticator‑SchlĂŒssel (TOTP)“ hinzu und kopierst den SchlĂŒssel hinein. Ab dann zeigt der Eintrag alle 30 Sekunden einen neuen sechsstelligen Code an, den du beim Login verwendest. Praktisch: Die Browser‑Erweiterung kann den TOTP‑Code mit ausfĂŒllen oder mit einem Klick kopieren. FĂŒr besonders kritische ZugĂ€nge kannst du ĂŒberlegen, TOTP getrennt aufzubewahren (z. B. Hardware‑Token) – Standard‑Accounts sind im Alltag mit TOTP im Tresor jedoch gut bedient. -> **Ziel:** Direkt nach der Einrichtung sicher starten. Du brauchst nur deine URL `https://pass.DEINE-DOMAIN.tld`. +**Autofill sinnvoll einsetzen.** Auto‑Fill spart Zeit, sollte aber bewusst konfiguriert werden. Lasse dir beim Seitenaufruf passende EintrĂ€ge vorschlagen, bestĂ€tigt wird das FĂŒllen idealerweise manuell (Klick oder TastenkĂŒrzel). Auf gemeinsam genutzten Rechnern empfiehlt sich außerdem, die Erweiterung nach kurzer InaktivitĂ€t automatisch zu sperren und nur per Master‑Passwort, PIN oder Biometrie zu entsperren. -### 9.1 Anmelden & Clients verbinden +**„Send“: sicher teilen, was nicht im Mail‑Postfach liegen soll.** Manchmal musst du einem Kollegen schnell einen SchlĂŒssel oder eine kleine Datei geben. Mit „Send“ erzeugst du einen geschĂŒtzten Link mit Ablaufdatum und optionalem Kennwort sowie einer Begrenzung der Abrufe. Das passt gut fĂŒr einmalige Übergaben, ohne dass sensible Inhalte in E‑Mails oder Chat‑VerlĂ€ufen liegen bleiben. -* **Web:** Öffne `https://pass.DEINE-DOMAIN.tld`, logge dich mit deinem Benutzer ein. -* **Browser‑Erweiterung:** Suche nach *Bitwarden* im Add‑on‑Store deines Browsers, installiere das Add‑on. +**Gemeinsam nutzen: Organisation & Sammlungen.** Wenn ihr zu zweit oder im kleinen Team arbeitet, legst du eine Organisation an und darin „Sammlungen“ (etwa „Stream‑ZugĂ€nge“, „Server‑Logins“). EintrĂ€ge, die ihr teilen wollt, verschiebst du in die passende Sammlung. Zugriffsrechte vergibst du pro Mitglied und Sammlung. Wichtig: Einladungen versendet Vaultwarden per Mail – ohne funktionierendes SMTP legst du neue Konten zunĂ€chst wie oben beschrieben ĂŒber eine kurz geöffnete Registrierung an und verschiebst EintrĂ€ge anschließend in Sammlungen. - * In den Add‑on‑Einstellungen **„Self‑Hosted/Server‑URL“** auf `https://pass.DEINE-DOMAIN.tld` setzen. - * Einloggen → das Tresorsymbol erscheint in der Toolbar. -* **Desktop/Mobile (optional):** Bitwarden‑App installieren → beim ersten Start **Server** auf `https://pass.DEINE-DOMAIN.tld` stellen → einloggen. - **Erfolg:** Du siehst deinen (noch leeren) Tresor in Web & Add‑on. +**Export vs. Backup – was ist der Unterschied?** Der persönliche Export in der Web‑OberflĂ€che ist dafĂŒr gedacht, deinen Tresor nutzerseitig mitzunehmen (je nach Client als CSV oder verschlĂŒsselte JSON‑Variante). Das **Server‑Backup** aus Abschnitt 8 sichert die komplette Instanz mit allen AnhĂ€ngen, „Sends“ und Einstellungen. FĂŒr echte Ausfallsicherheit nutzt du beides: regelmĂ€ĂŸige Server‑Backups und gelegentliche Exporte des eigenen Tresors. -### 9.2 Ersten Eintrag anlegen (Login) +## 10) Updates ohne Drama -Web‑UI → **Neu** → **Anmeldung**: +Ein Update entspricht einem Image‑Tausch. Du holst das aktuelle Image und startest neu; die Daten bleiben, wo sie sind. Vorherige Backups sind trotzdem Pflicht. -* **Name:** z. B. „Twitch – Hauptaccount“ -* **Benutzername / E‑Mail** und **Passwort** eintragen -* **URL:** z. B. `https://www.twitch.tv` - Speichern. - **Erfolg:** Der Eintrag erscheint sofort; das Add‑on zeigt ihn ebenfalls (Live‑Sync). +```bash +cd /opt/vaultwarden +docker compose pull +docker compose up -d +``` -### 9.3 Ordner/Struktur +Wenn etwas nach einem Update unerwartet lĂ€uft, Rollbackst du kurzzeitig auf den vorherigen Tag bzw. die vorherige Image‑ID und planst das Update neu – mit Blick ins Changelog. -Web‑UI → **Ordner** → **Neuer Ordner**: z. B. „Streaming“. -Im Eintrag den **Ordner** auf „Streaming“ stellen → speichern. -**Warum:** Ordnung hĂ€lt die Suche schlank. +— -### 9.4 Sicheres Passwort generieren +## Ergebnis -Web‑UI oder Add‑on → **Generator**: - -* LĂ€nge **20–24**, **Zahlen**, **Sonderzeichen** an; **keine Ă€hnlichen Zeichen**. -* „Generieren“ → „In Eintrag ĂŒbernehmen“ (oder **Kopieren** und ins Zielkonto einfĂŒgen). - **Tipp:** Nach Passwortwechsel beim Dienst die Änderung **im Tresor speichern**. - -### 9.5 TOTP (2‑Faktor) im Eintrag hinterlegen - -Beim Ziel‑Dienst 2FA aktivieren → du bekommst einen **TOTP‑SchlĂŒssel** (Base32) oder **QR**. - -* Im Tresor‑Eintrag → **Feld hinzufĂŒgen** → **„Authenticator‑SchlĂŒssel (TOTP)“** wĂ€hlen → SchlĂŒssel einfĂŒgen → speichern. -* Der Eintrag zeigt nun **zeitbasierte 6‑stellige Codes**. - **Test:** Logout beim Dienst → Login mit Passwort + aktuellem Code aus dem Eintrag. - -### 9.6 Import vorhandener Passwörter (optional) - -Web‑UI → **Werkzeuge** → **Importieren**: - -* **Format** wĂ€hlen (z. B. Chrome/Firefox/Bitwarden JSON/CSV). -* Datei auswĂ€hlen → **Import**. - **Hinweis:** Nach dem Import kurz durchgehen, doppelte/alte Logins aufrĂ€umen. - -### 9.7 Autofill testen (Browser‑Add‑on) - -Zur Login‑Seite wechseln → Tresorsymbol → passenden Eintrag anklicken → Felder werden gefĂŒllt. -**Tipp:** In den Add‑on‑Einstellungen „Beim Seitenaufruf vorschlagen/Auto‑Fill“ nach Wunsch aktivieren. - -### 9.8 „Send“ (sicher teilen, optional) - -Web‑UI → **Neu** → **Send**: - -* Text oder Datei wĂ€hlen, **Ablaufdatum**, **max. Abrufe**, optional **Kennwort** setzen → **Erstellen** → **Link kopieren**. - **Einsatz:** Einzelne Secrets/Dateien sicher an Partner schicken. - -### 9.9 Organisation (Team, optional) - -Web‑UI → **Organisationen** → **Neue Organisation** (Name vergeben). - -* Mitglieder einladen (erfordert **funktionierendes SMTP**). -* **Sammlungen** anlegen (z. B. „Stream‑ZugĂ€nge“) und EintrĂ€ge zuordnen. - **Hinweis:** Ohne SMTP spĂ€ter nachrĂŒsten; bis dahin Solo‑Tresor nutzen. - -### 9.10 Export (Nutzer‑Sicht) & Restore‑Probe - -Web‑UI → **Werkzeuge** → **Exportieren** → Format wĂ€hlen (z. B. Bitwarden JSON) → lokal verschlĂŒsselt ablegen. -**Probe‑Restore:** In einer Testinstanz/Profil importieren und prĂŒfen. (Server‑Backups hast du zusĂ€tzlich in Schritt 8.) - -### 9.11 Gute Praxis - -* **Ein Dienst = ein eindeutiges Passwort**; Passwortgenerator konsequent nutzen. -* Wo verfĂŒgbar, **2FA aktivieren** und TOTP im Eintrag hinterlegen. -* Add‑on/Apps: **Sperre/Timeout** und **Biometrie/PIN** aktivieren. -* RegelmĂ€ĂŸig **aufrĂ€umen** (alte/duplizierte Logins löschen). +Vaultwarden lĂ€uft hinter NPM unter deiner eigenen Domain mit gĂŒltigem TLS, Live‑Sync per WebSockets und gehĂ€rtetem Admin‑Backend. Registrierungen sind standardmĂ€ĂŸig zu, dein erster Benutzer ist angelegt, und du hast ein praktisches Backup‑Verfahren. Ab hier geht es um Komfort: Add‑ons in allen Browsern, Apps auf den GerĂ€ten und ein bisschen Routine beim Generieren wirklich starker, individueller Passwörter.