Audit-Log — wer hat was wann geändert.

Jede admin-relevante Aktion landet im Audit-Log: Login, Konfig-Änderungen, Quarantäne-Release, Lizenz-Aktivierung, API-Key-Rotation. Pro Node geschrieben, clusterweit aggregiert beim Lesen, CSV-exportierbar für ISO-27001- und DSGVO-Audits.

Was protokolliert wird

  • Authentifizierung: Login (Erfolg + Fehlversuch), Logout, TOTP-Setup/-Reset, API-Key-Verwendung
  • User-Management: Admin-User angelegt/geändert/gelöscht, Rolle/Permissions geändert, Passwort zurückgesetzt
  • Konfigurations-Änderungen: Domain hinzugefügt/entfernt, Mail-Filter angelegt/geändert, RBL-Provider an/aus, DKIM-Schlüssel rotiert, DMARC-Policy geändert
  • Quarantäne-Aktionen: Mail released / discarded / als Spam/Ham gelernt — pro Mail mit Subject + Sender + Recipient
  • Cluster-Operations: Node Join/Leave, Lizenz aktiviert/erneuert, Backup angestoßen, Restore ausgeführt
  • Sicherheits-Events: Bruteforce-Detection ausgelöst, Rate-Limit getroffen, Session-Hijack-Versuch erkannt

Cluster-Architektur

Audit-Log wird lokal pro Node in eine Append-only-Tabelle geschrieben — kein Sync, keine zentrale Datenbank, kein Single-Point-of-Failure. Beim Lesen im Admin-UI werden die Logs aller Nodes per mTLS aggregiert und chronologisch zusammengeführt. Vorteil: jede Aktion ist auf dem Node protokolliert wo sie passiert ist — wenn ein Node ausfällt, gehen seine Logs nicht verloren (sie liegen lokal auf dem Node selbst), und das Aggregat zeigt einfach „Node X temporär nicht erreichbar" statt zu blockieren.

Manipulationssicherheit

Audit-Log-Einträge sind append-only. Es gibt keinen UPDATE/DELETE-Pfad im Code, weder im UI noch in der API. Jeder Eintrag ist per HMAC mit einem Per-Node-Secret signiert; nachträgliche Manipulation in der Datenbank würde die Signatur brechen und beim Read als „integrity-violation" markiert. Operator-Rollen können das Log lesen + exportieren, aber nicht editieren.

Retention & Export

  • Default-Retention: 365 Tage (konfigurierbar pro Cluster zwischen 90 Tagen und „forever")
  • Aufräumen: Täglicher Cron-Job löscht Einträge älter als Retention-Frist — der Lösch-Vorgang selbst landet wieder im Audit-Log
  • CSV-Export: Filter nach Zeitraum / User / Aktion / Domain, dann CSV-Download mit allen Spalten (timestamp, node_id, user, action, target, ip_address, user_agent, success, signature)
  • JSON-Export per API: GET /api/v1/audit-log?from=...&to=... — für SIEM-Integration (Splunk, Wazuh, Elastic)
  • Syslog-Forward: Optional via rsyslog-Forwarder direkt an externes SIEM

Use-Cases

ISO-27001 / SOC-2-Audit: Auditor fragt „Wer hat am 14.03. zwischen 09:00 und 12:00 Konfig-Änderungen gemacht?" — Filter setzen, CSV-Export, Anhang an Audit-Bericht. Done.

DSGVO-Auskunft: Betroffener fragt „Wann wurde meine quarantänisierte Mail bearbeitet?" — Filter nach Recipient + Aktion „quarantine.release", Einträge als PDF an Auskunfts-Antwort hängen.

Incident-Response: Verdacht auf kompromittiertes Admin-Konto — Filter nach User + IP-Adresse zeigt jede Aktion der letzten 30 Tage, inkl. fehlgeschlagene Login-Versuche und API-Key-Verwendung von ungewohnten Standorten.

4-Augen-Prinzip-Nachweis: Compliance-Beauftragter prüft monatlich, dass jede DKIM-Schlüssel-Rotation von zwei verschiedenen Admin-Usern bestätigt wurde.

Compliance ohne Excel-Tracking.

Audit-Log standardmäßig aktiv, kein Konfigurations-Aufwand, ISO-27001-tauglich.

Preise ansehen