diff --git a/Kapitel 5/Premium Rohtext.md b/Kapitel 5/Premium Rohtext.md new file mode 100644 index 0000000..aaf9045 --- /dev/null +++ b/Kapitel 5/Premium Rohtext.md @@ -0,0 +1,353 @@ +# Kapitel 5 – Vaultwarden (Passwörter, 2FA) + +Im Free-Teil haben wir Vaultwarden eingerichtet, eine sichere Verbindung über Nginx Proxy Manager hergestellt und den ersten Benutzer samt Admin-Zugang erstellt. +Damit steht eine funktionierende Einzelplatzlösung – ideal für den Einstieg. + +In diesem Teil aktivieren wir Funktionen, die Vaultwarden bereits mitbringt, aber nicht sofort sichtbar sind: +mehr Kontrolle, mehr Sicherheit und mehr Komfort – direkt in der Oberfläche, ohne zusätzliche Tools. + +Wir kümmern uns unter anderem um: + +- **Benutzerzugänge für weitere Personen** + So können mehrere Nutzer gemeinsam arbeiten, ohne ihre Tresore zu vermischen. + +- **Sammlungen & Rollen** + Gemeinsame Zugangsdaten für einzelne Bereiche – mit klarer Trennung von Zuständigkeiten. + +- **2FA-Pflicht aktivieren** + Jeder Benutzer muss beim Login einen zusätzlichen Sicherheitscode eingeben – erzeugt per Authenticator-App. + +- **Automatisierte Backups der verschlüsselten Datenbank** + Jeden Tag eine Sicherung mit Zeitstempel, vorbereitet für Restore oder Systemwechsel. + +> [!NOTE] +> Wir greifen auf genau die Instanz zurück, die du im Free-Teil eingerichtet hast. +> Es ist keine Neuinstallation nötig – wir aktivieren vorhandene Funktionen und nutzen sie konsequent. + +--- + +## Nutzer verwalten & gemeinsam nutzen + +Vaultwarden unterstützt mehrere Benutzer mit getrennten Zugriffen und gemeinsamen Bereichen. +Du kannst neue Benutzer auf zwei verschiedene Arten hinzufügen – mit oder ohne E-Mail-Funktion. + +### Variante 1: Benutzer per Einladung (wenn Mailversand aktiviert ist) + +Wenn Vaultwarden korrekt E-Mails verschicken kann, kannst du neue Benutzer direkt über den Adminbereich einladen. + +1. Melde dich mit deinem Admin-Konto an +2. Gehe zu **Adminbereich → Users → Invitations** +3. Gib die E-Mail-Adresse ein +4. Klicke auf **Invite User** + +Die eingeladene Person erhält einen Registrierungslink per E-Mail. +Nach dem Anlegen des Kontos erscheint sie unter **Users**. + +👉 *Screenshot geeignet: Einladung verschicken + empfangene E-Mail* + +### E-Mail-Versand einrichten (optional) + +Vaultwarden benötigt Zugang zu einem SMTP-Mailserver. +Trage dazu in der `.env` folgende Zeilen ein – ersetzt durch deine Daten: + + SMTP_HOST=smtp.example.com + SMTP_FROM=vault@example.com + SMTP_PORT=587 + SMTP_SECURITY=starttls + SMTP_USERNAME=vault@example.com + SMTP_PASSWORD=DEIN_PASSWORT + +Speichern und neu starten: + + docker compose restart vaultwarden + +> [!NOTE] +> SMTP ist **nicht zwingend erforderlich**. +> Wenn du keinen Mailversand einrichten möchtest, verwende stattdessen Variante 2. + +👉 *Screenshot geeignet: .env mit ausgefülltem SMTP-Block* + +### Variante 2: Manuelle Benutzeranlage ohne Mailversand + +Wenn Vaultwarden keine E-Mails verschicken kann oder soll, kannst du die Registrierung kurzzeitig freischalten: + +1. Gehe zu **Adminbereich → Settings → General** +2. Aktiviere **Allow new signups** +3. Teile dem neuen Nutzer folgenden Link mit: + `https://pass.DEINE-DOMAIN.tld/#/register` +4. Nach erfolgreicher Anmeldung: Option wieder deaktivieren + +👉 *Screenshot geeignet: Aktivierte Option „Allow new signups“* + +> [!TIP] +> Diese Methode ist ideal für Haushalte oder Teams, die Benutzer direkt anlegen, ohne auf E-Mail-Einladungen angewiesen zu sein. + +### Eigene Tresore pro Benutzer + +Jede Person hat einen eigenen, verschlüsselten Tresor. +Diese Bereiche sind voneinander getrennt – kein Nutzer kann die Daten eines anderen einsehen. + +> [!TIP] +> Auch der Admin hat keinen Zugriff auf andere Tresore – das erhöht die Datensicherheit deutlich. + +### Geteilte Zugänge mit Sammlungen + +Um Logins oder Notizen gemeinsam zu nutzen, gibt es sogenannte Sammlungen. + +1. Gehe zu **Adminbereich → Organizations** +2. Lege eine Organisation an +3. Erstelle darin eine oder mehrere Sammlungen (z. B. „Streaming-Dienste“) +4. Weise Nutzer zu und lege Rechte fest: + - Nur lesen + - Lesen und schreiben + - Adminrechte + +👉 *Screenshot geeignet: Sammlungsverwaltung mit Benutzerzuordnung* + +> [!NOTE] +> Die Kombination aus privatem Tresor + gemeinsamen Sammlungen erlaubt sauberes Arbeiten mit klaren Verantwortlichkeiten – ganz ohne doppelte Accounts oder unsichere Weitergaben. + +--- + +## Zwei-Faktor-Anmeldung verpflichtend aktivieren + +Vaultwarden unterstützt die Anmeldung mit einem zusätzlichen Sicherheitscode – sogenannte Zwei-Faktor-Authentifizierung (2FA). +Damit müssen Benutzer beim Login nicht nur ihr Passwort eingeben, sondern zusätzlich einen wechselnden Code, der z. B. von einer App auf dem Smartphone erzeugt wird. + +Diese Codes basieren auf dem sogenannten **TOTP-Verfahren** („Time-based One-Time Password“). +Eine App wie **Bitwarden Authenticator**, **Aegis**, **FreeOTP** oder **Google Authenticator** zeigt alle 30 Sekunden einen neuen Code an. + +Im Free-Teil konnten Nutzer TOTP optional aktivieren. +Jetzt sorgen wir dafür, dass **alle neuen und bestehenden Benutzer** TOTP verwenden müssen – bevor sie Zugriff auf ihre Daten erhalten. + +### Aktivierung im Adminbereich + +1. Melde dich als Admin an +2. Öffne den **Adminbereich → Settings → Policies** +3. Aktiviere den Schalter **Require two-step login** +4. Klicke auf **Save** + +👉 *Screenshot geeignet: Adminbereich → Policies mit aktiviertem Schalter* + +> [!NOTE] +> Ab sofort sehen alle Benutzer beim nächsten Login einen Hinweis, dass sie 2FA einrichten müssen, bevor sie ihren Tresor nutzen können. + +### Was sieht der Benutzer? + +1. Nach der Passworteingabe erscheint ein QR-Code +2. Dieser muss mit einer Authenticator-App eingescannt werden +3. Danach wird der aktuelle Code eingegeben +4. Erst dann wird Zugriff auf den Tresor gewährt + +> [!TIP] +> Sollte ein Nutzer sein Smartphone verlieren oder die App zurücksetzen, kann der Admin den Zugang über den Bereich **Users** → Nutzer auswählen → **Reset two-step login** zurücksetzen. + +👉 *Screenshot geeignet: Benutzer-Ansicht beim 2FA-Setup (QR-Code + Eingabemaske)* + +### Ergebnis + +- Alle Benutzer nutzen 2FA – keine Ausnahmen +- Der Schutz ist direkt in Vaultwarden eingebaut +- Die Verwaltung bleibt komplett in deiner Hand + +## Automatische Sicherung der Datenbank und Schlüssel + +Vaultwarden speichert alle sensiblen Daten – Passwörter, Notizen, Zwei-Faktor-Codes – im Ordner `/opt/vaultwarden/data`. +Damit bei einem Systemausfall keine Informationen verloren gehen, richten wir eine tägliche Sicherung ein. +Diese läuft automatisch im Hintergrund und speichert jeden Tag eine neue Datei mit Zeitstempel. + +### Backup-Verzeichnis anlegen + +Wir legen zuerst den Ordner an, in dem die Backups gespeichert werden. + +1. Öffne die Proxmox-Oberfläche +2. Wähle den Vaultwarden-Container aus +3. Klicke im Menü auf **Konsole** +4. Gib dort ein: + + mkdir -p /srv/ucc/backups/vaultwarden + +👉 *Screenshot geeignet: Konsole mit erstellt Ordnerstruktur unter /srv/ucc/backups* + +### Backup-Skript erstellen + +Das tägliche Backup wird über ein kleines Skript gestartet, das wir jetzt anlegen. + +1. Du bist weiterhin in der **Konsole des Vaultwarden-Containers** +2. Wechsle in das Verzeichnis für benutzerdefinierte Befehle: + + cd /usr/local/bin + +3. Öffne den Editor zum Erstellen des Skripts: + + nano vaultwarden_backup.sh + +Der Bildschirm ist nun leer. +Füge folgenden Inhalt ein – **ohne Änderungen**, alles exakt übernehmen: + + #!/bin/bash + DATUM=$(date +%Y-%m-%d_%H-%M) + BACKUP_DIR="/srv/ucc/backups/vaultwarden" + TARGET="$BACKUP_DIR/vaultwarden-$DATUM.tar.gz" + cd /opt/vaultwarden + tar -czf "$TARGET" data + +Drücke danach: + +- **Strg + O** (Datei speichern), bestätige mit **Enter** +- Dann **Strg + X** (Editor schließen) + +Jetzt machen wir das Skript ausführbar: + + chmod +x /usr/local/bin/vaultwarden_backup.sh + +> [!TIP] +> Du kannst das Backup auch jederzeit manuell starten mit: + + /usr/local/bin/vaultwarden_backup.sh + +👉 *Screenshot geeignet: Nano mit eingegebenem Skript + Terminal mit chmod* + +### Tägliche Ausführung per Cron einrichten + +Damit das Backup jeden Tag automatisch läuft: + +1. Gib in der Konsole ein: + + crontab -e + +2. Gehe mit den Pfeiltasten ganz ans Ende der Datei +3. Füge folgende Zeile ein: + + 30 2 * * * /usr/local/bin/vaultwarden_backup.sh + +Diese Anweisung sorgt dafür, dass das Backup jeden Tag um **2:30 Uhr nachts** erstellt wird. + +Speichern: + +- **Strg + O** → Enter +- **Strg + X** → beenden + +👉 *Screenshot geeignet: geöffnete Crontab mit eingetragener Zeitregel* + +### Backup prüfen + +Am nächsten Tag sollte im Verzeichnis `/srv/ucc/backups/vaultwarden` eine neue Datei liegen, z. B.: + + vaultwarden-2025-10-06_02-30.tar.gz + +Prüfen mit: + + ls -lh /srv/ucc/backups/vaultwarden + +> [!NOTE] +> Die Datei enthält eine komprimierte Kopie der verschlüsselten Vault-Daten. +> Deine Passwörter sind weiterhin geschützt – sie können nur über Vaultwarden geöffnet werden. + +👉 *Screenshot geeignet: Terminal mit Backup-Dateiliste* + +### Wiederherstellung im Notfall + +Wenn du Vaultwarden neu installieren musst (z. B. nach Serverwechsel): + +1. Bereite die neue Instanz wie im Free-Teil beschrieben vor +2. Kopiere das Backup in das neue System, z. B. per SCP oder USB +3. Öffne die Konsole im neuen Container +4. Entpacke das Backup: + + tar -xzf vaultwarden-2025-10-06_02-30.tar.gz + +5. Starte den Dienst: + + docker compose up -d + +Vaultwarden ist nun in dem Zustand, in dem das Backup erstellt wurde – inklusive Benutzer, Tresore, Konfiguration. + +👉 *Screenshot geeignet: Terminal mit erfolgreichem Restore* + +### Ergebnis + +- Vollständige Sicherung aller Daten – täglich, automatisch +- Zeitgestempelte Dateien im übersichtlichen Verzeichnis +- Restore jederzeit möglich – ohne Cloud, ohne externen Dienst + +### Alte Backups automatisch löschen + +Damit der Speicher nicht irgendwann voll läuft, löschen wir alte Sicherungen automatisch. +Standard sind **30 Tage** – so bleibt für einen Monat immer ein vollständiges Backup erhalten. + +> [!NOTE] +> Die Zeitspanne von 30 Tagen ist ein sinnvoller Kompromiss: +> Du kannst sie jederzeit anpassen – z. B. auf 7 Tage (für wenig Speicher) oder 90 Tage (für zusätzliche Sicherheit). + +### Erweiterung des Backup-Skripts + +Öffne wieder das bestehende Skript: + + nano /usr/local/bin/vaultwarden_backup.sh + +Ergänze am Ende der Datei folgende Zeile: + + find "$BACKUP_DIR" -type f -name "vaultwarden-*.tar.gz" -mtime +30 -delete + +Die fertige Datei sieht nun so aus: + + #!/bin/bash + DATUM=$(date +%Y-%m-%d_%H-%M) + BACKUP_DIR="/srv/ucc/backups/vaultwarden" + TARGET="$BACKUP_DIR/vaultwarden-$DATUM.tar.gz" + cd /opt/vaultwarden + tar -czf "$TARGET" data + find "$BACKUP_DIR" -type f -name "vaultwarden-*.tar.gz" -mtime +30 -delete + +Speichern und schließen: + +- **Strg + O** → Enter +- **Strg + X** + +👉 *Screenshot geeignet: vollständiges Skript mit zusätzlicher Löschzeile* + +### Erklärung + +Die letzte Zeile durchsucht das Backup-Verzeichnis und löscht alle Dateien, die **älter als 30 Tage** sind. +Die Angabe `-mtime +30` bedeutet: alles, was vor mehr als 30 Tagen zuletzt geändert wurde. + +> [!TIP] +> Du kannst die Anzahl der Tage ganz einfach anpassen: +> - `+7` → nur 1 Woche behalten +> - `+60` → 2 Monate behalten +> - `+90` → 3 Monate behalten + +> [!WARNING] +> Diese Löschung ist dauerhaft. +> Achte darauf, dass du keine wichtigen Backups außerhalb des Intervalls versehentlich mitlöschst. + +### Ergebnis + +- Speicherverbrauch bleibt automatisch im Rahmen +- Du musst nichts manuell löschen +- Die Zahl der gespeicherten Backups passt sich deiner Vorgabe an + +## Zusammenfassung & Nächste Schritte + +Mit den erweiterten Funktionen holst du das Maximum aus deiner Vaultwarden-Instanz heraus. +Statt nur für dich selbst ist das System jetzt bereit für mehrere Benutzer, gemeinsame Nutzung und zusätzliche Sicherheit. + +### Was du jetzt erreicht hast: + +- Neue Benutzer können sicher eingeladen oder manuell hinzugefügt werden +- Gemeinsame Sammlungen sorgen für klare Struktur – ohne Datenverlust oder Vermischung +- Zwei-Faktor-Authentifizierung ist für alle verpflichtend aktiviert +- Alle Daten werden täglich automatisch gesichert – vollständig verschlüsselt +- Alte Backups werden nach 30 Tagen automatisch gelöscht, um Speicher zu sparen +- Eine Wiederherstellung ist jederzeit möglich – ohne Cloud, ohne Drittanbieter + +👉 *Screenshot geeignet: Adminbereich mit mehreren Nutzern + aktiver 2FA-Policy + Backup-Ordner mit Dateien* + +> [!TIP] +> Vaultwarden wächst mit. +> Du kannst jederzeit weitere Sammlungen, Organisationen oder Rollen hinzufügen – ohne das System neu aufzusetzen. + +> [!NOTE] +> Alle Erweiterungen sind direkt in Vaultwarden enthalten. +> Du brauchst keine zusätzlichen Dienste oder Software – nur ein bisschen Konfiguration.