diff --git a/docs/anleitung/README.md b/docs/anleitung/README.md index abb5724..340b783 100644 --- a/docs/anleitung/README.md +++ b/docs/anleitung/README.md @@ -30,6 +30,7 @@ in die Verwaltung. 9. [Vorlagen](#9-vorlagen) 10. [Private Key anzeigen oder löschen](#10-private-key-anzeigen-oder-löschen) 11. [Audit-Log](#11-audit-log) +12. [Einstellungen und Benachrichtigungen](#12-einstellungen-und-benachrichtigungen) --- @@ -214,3 +215,20 @@ weder ändern noch löschen; jeder Eintrag ist per Hash mit seinem Vorgänger ve - **Syslog:** Mit `SSHKV_SYSLOG_HOST` geht jeder Eintrag zusätzlich an einen zentralen Syslog-Server (z. B. für Zabbix) – eine Kopie außerhalb von sshkv. +## 12. Einstellungen und Benachrichtigungen + +Unter **Einstellungen** (ändern nur Admins) richten Sie Benachrichtigungen ein: + +- **E-Mail** über SMTP – für Microsoft 365 vorbelegt (`smtp.office365.com:587`, STARTTLS). +- **Webhook** (nur `https://`, außer ausdrücklich für interne Ziele erlaubt) mit optionaler Signatur + `X-Sshkv-Signatur: sha256=…` über den Inhalt. +- **Anlässe** einzeln schaltbar: neue Abweichungen, Schlüssel, die in 30/14/7 Tagen ablaufen, + abgelaufene, aber noch ausgerollte Schlüssel, nicht erreichbare Hosts – als **tägliche + Zusammenfassung** um 07:00 (`SSHKV_MELDUNG_CRON`) – und **geänderte Host-Keys sofort**. +- **Testnachricht senden** je Kanal; die letzten Zustellungen stehen darunter. Jede Meldung geht nur + einmal hinaus; fehlgeschlagene werden einige Male wiederholt. + +Passwörter und Geheimnisse werden verschlüsselt gespeichert und nie wieder angezeigt („gesetzt“). + +![Einstellungen](bilder/einstellungen-desktop.png) + diff --git a/docs/betrieb/installation.md b/docs/betrieb/installation.md index 26f0f4e..14a1ed3 100644 --- a/docs/betrieb/installation.md +++ b/docs/betrieb/installation.md @@ -106,7 +106,7 @@ docker compose up -d --build # migrate spielt neue Migrationen ein | Variable | Bedeutung | |---|---| | `SSHKV_SYNC_CRON` | Zeitplan des Abgleichs (Standard `30 2 * * *`, Europe/Berlin) | -| `SSHKV_MELDUNG_CRON` | tägliche Zusammenfassung der Benachrichtigungen | +| `SSHKV_MELDUNG_CRON` | tägliche Zusammenfassung der Benachrichtigungen (Standard `0 7 * * *`); geänderte Host-Keys gehen alle 5 Minuten sofort hinaus | | `SSHKV_SYSLOG_HOST`/`_PORT`/`_PROTOKOLL` | Kopie des Protokolls an einen Syslog-Server (RFC 5424, UDP oder TCP) | | `SSHKV_SYSLOG_FACILITY` / `_APPNAME` | Facility (Standard `authpriv`) und App-Name (Standard `sshkv`) | | `SSHKV_WORKER_USER` | Benutzer des Worker-Containers, falls die Master-Key-Datei nicht UID 1001 gehört | diff --git a/docs/issues/029-handbuch.md b/docs/issues/029-handbuch.md index 97adcb5..6e0ed31 100644 --- a/docs/issues/029-handbuch.md +++ b/docs/issues/029-handbuch.md @@ -1,19 +1,29 @@ # #029 Handbuch und Betriebsdokumentation -**Status:** offen +**Status:** erledigt **Meilenstein:** v0.5.0 **Labels:** docs -**Geschätzt:** 3 h **Tatsächlich:** – +**Geschätzt:** 3 h **Tatsächlich:** 0 h 50 min ## Ziel Installation, Bootstrap, Kern-Anwendungsfall mit Bildern; Bedrohungsanalyse, Backup-Konzept. ## Aufgaben -- [ ] wird zu Beginn der Phase verfeinert +- [x] Handbuch mit Bildern (`docs/anleitung/README.md`, 12 Kapitel) +- [x] Installation, authentik, Reverse Proxy (`docs/betrieb/installation.md`) +- [x] Bedrohungsanalyse und Notfallplan (`docs/betrieb/sicherheit.md`) +- [x] Backup-Konzept mit Skripten und geprobter Wiederherstellung (`docs/betrieb/sicherung.md`) ## Akzeptanzkriterien -- [ ] wird zu Beginn der Phase verfeinert +- [x] Handbuch mit Bildern (`docs/anleitung/README.md`, 12 Kapitel) +- [x] Installation, authentik, Reverse Proxy (`docs/betrieb/installation.md`) +- [x] Bedrohungsanalyse und Notfallplan (`docs/betrieb/sicherheit.md`) +- [x] Backup-Konzept mit Skripten und geprobter Wiederherstellung (`docs/betrieb/sicherung.md`) ## Abhängigkeiten – ## Notizen / Entscheidungen +- **Wiederherstellung geprobt** auf einem Wegwerf-Stapel – dabei zwei Fehler gefunden und behoben (Schema pgboss mit `--clean` nicht rückspielbar; Abbruch ohne Transaktion löschte es halb). Jetzt: nur Schema `public`, eine Transaktion, Warteschlange neu, offene Vorgänge abgebrochen. +- **Master-Key wird nicht mitgesichert**, nur ein Prüfwert (SHA-256). Das Wiederherstellungsskript bricht vor jeder Änderung ab, wenn der bereitliegende Master-Key nicht passt; der Worker startet nicht mit einem falschen Master-Key. +- **Notfallplan „sshkv kompromittiert“** beschreibt das Entfernen des Deployment-Keys auf allen Hosts von Hand – eine eingebaute Rotation des Deployment-Keys gibt es noch nicht. +- Bilder entstehen aus `scripts/screenshots.ts` und den E2E-Abläufen.