Kapitel 05/Premium Rohtext.md aktualisiert
This commit is contained in:
@@ -1,390 +0,0 @@
|
||||
# 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*
|
||||
|
||||
### 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).
|
||||
|
||||
Ö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*
|
||||
|
||||
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.
|
||||
|
||||
### 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 dein Server ausgetauscht oder neu installiert wurde, kannst du Vaultwarden mit dem letzten Backup vollständig wiederherstellen.
|
||||
Dabei werden alle Benutzer, Tresore und Einstellungen automatisch mit übernommen.
|
||||
|
||||
#### Vorbereitung
|
||||
|
||||
1. Erstelle einen neuen Vaultwarden-Container, so wie im Free-Teil beschrieben
|
||||
(bis einschließlich der `docker-compose.yml`)
|
||||
2. Öffne auf deinem Hauptrechner **WinSCP** oder nutze die **Proxmox-Dateiverwaltung**
|
||||
3. Verbinde dich mit dem neuen Container
|
||||
- Host: IP-Adresse des neuen Containers
|
||||
- Benutzer: `root`
|
||||
- Port: `22`
|
||||
4. Navigiere im Container nach `/opt/vaultwarden/`
|
||||
|
||||
👉 *Screenshot geeignet: WinSCP mit geöffnetem /opt/vaultwarden/ Ordner*
|
||||
|
||||
#### Backup-Datei übertragen
|
||||
|
||||
Übertrage die gewünschte Sicherung aus deinem alten System oder aus deinem Backup-Verzeichnis:
|
||||
|
||||
- Wenn du von einem anderen Rechner kopierst (Linux oder macOS):
|
||||
|
||||
scp /srv/ucc/backups/vaultwarden/vaultwarden-2025-10-06_02-30.tar.gz root@192.168.1.50:/opt/vaultwarden/
|
||||
|
||||
- Wenn du von Windows aus arbeitest:
|
||||
Ziehe die Datei im WinSCP-Fenster einfach in den Ordner `/opt/vaultwarden/`
|
||||
|
||||
👉 *Screenshot geeignet: WinSCP-Dateiübertragung des Backup-Archivs*
|
||||
|
||||
#### Backup entpacken
|
||||
|
||||
Wechsle in die Konsole des Containers:
|
||||
|
||||
cd /opt/vaultwarden
|
||||
tar -xzf vaultwarden-2025-10-06_02-30.tar.gz
|
||||
|
||||
Damit wird der Ordner `data` mit allen gesicherten Inhalten wiederhergestellt.
|
||||
|
||||
#### Container starten
|
||||
|
||||
Starte Vaultwarden neu:
|
||||
|
||||
docker compose up -d
|
||||
|
||||
> [!NOTE]
|
||||
> Wenn der Dienst bereits läuft, kannst du ihn auch einfach neu starten:
|
||||
|
||||
docker compose restart vaultwarden
|
||||
|
||||
Nach wenigen Sekunden sollte die Login-Seite wie gewohnt erreichbar sein.
|
||||
|
||||
👉 *Screenshot geeignet: Konsole mit erfolgreicher Wiederherstellung und laufendem Container*
|
||||
|
||||
#### Überprüfung
|
||||
|
||||
Öffne im Browser `https://pass.DEINE-DOMAIN.tld`
|
||||
Melde dich mit deinem bekannten Benutzerkonto an.
|
||||
Alle Einträge, Sammlungen und Einstellungen sollten wieder vorhanden sein.
|
||||
|
||||
> [!TIP]
|
||||
> Prüfe zusätzlich, ob die automatischen Backups auf dem neuen System korrekt eingerichtet sind.
|
||||
> Wenn nötig, wiederhole kurz die Cronjob-Konfiguration aus dem vorherigen Abschnitt.
|
||||
|
||||
### Ergebnis
|
||||
|
||||
- Vollständige Sicherung aller Daten – täglich, automatisch
|
||||
- Zeitgestempelte Dateien im übersichtlichen Verzeichnis
|
||||
- Alte Backups werden automatisch gelöscht
|
||||
- Wiederherstellung ist jederzeit möglich – ohne Cloud, ohne Drittanbieter
|
||||
|
||||
## 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.
|
||||
Reference in New Issue
Block a user