Kapitel 5/Premium Rohtext.md hinzugefügt
This commit is contained in:
353
Kapitel 5/Premium Rohtext.md
Normal file
353
Kapitel 5/Premium Rohtext.md
Normal file
@@ -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.
|
||||||
Reference in New Issue
Block a user