feat(PROJ-49): Verschlüsselungspflicht at-rest sichtbar machen (Healthcheck & Warnung)
storage.loadKey() startet bei fehlendem/unlesbarem/ungültigem Keyfile weiterhin unverschlüsselt (kein Hard-Fail), aber: - einmalige WARN-Logzeile beim Start mit konkretem Grund - neuer Healthcheck-Prüfpunkt "Encryption" in archivmail status - Dashboard-API liefert encryption.enabled - README: GoBD-Hinweis zu storage.keyfile Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -214,7 +214,7 @@ database:
|
||||
storage:
|
||||
store_path: /var/archivmail/store # Haupt-Mailspeicher (AES-256-GCM)
|
||||
astore_path: /var/archivmail/astore # Anhang-Speicher
|
||||
keyfile: /etc/archivmail/keyfile # 32-Byte AES-Schlüsseldatei
|
||||
keyfile: /etc/archivmail/keyfile # 32-Byte AES-Schlüsseldatei (siehe Hinweis unten)
|
||||
|
||||
smtp:
|
||||
enabled: true
|
||||
@@ -416,6 +416,14 @@ Alle E-Mails werden verschlüsselt auf dem Dateisystem gespeichert.
|
||||
- Nonce: 12 Byte, kryptografisch zufällig, pro E-Mail neu generiert
|
||||
- Dateiformat: `[12-Byte Nonce][verschlüsselte Daten]`
|
||||
|
||||
> **Wichtig (GoBD, PROJ-49):** `storage.keyfile` ist technisch optional — fehlt es,
|
||||
> startet der Dienst weiter, speichert E-Mails dann aber **unverschlüsselt**. Für
|
||||
> produktive, GoBD-konforme Installationen ist `storage.keyfile` quasi-pflicht und
|
||||
> sollte immer gesetzt sein. Ist keine (gültige, 32 Byte große) Schlüsseldatei
|
||||
> konfiguriert, gibt archivmail beim Start eine deutliche WARN-Zeile aus, und
|
||||
> sowohl `archivmail status` (Eintrag „Encryption") als auch das Admin-Dashboard
|
||||
> zeigen den Status `disabled` an.
|
||||
|
||||
**Datei-ID / Integrität:**
|
||||
- Jede E-Mail erhält als ID den SHA-256-Hash des Klartexts
|
||||
- Duplikat-Erkennung: gleicher Hash → gleiche Datei, Speicherung übersprungen
|
||||
|
||||
Reference in New Issue
Block a user