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