1.7 KiB
1.7 KiB
ADR 0014 — Audit-Log-Strategie
Status
Accepted
Kurz erklärt
Audit-Logs dokumentieren wichtige Änderungen und Aktionen.
Sie beantworten:
Wer hat wann was geändert?
Kontext
Das Architekturreview hat bemängelt, dass „nicht manipulierbare Logs“ gefordert wurden, aber kein Mechanismus definiert war.
Entscheidung
V1 verwendet ein append-only Audit-Log.
Append-only bedeutet:
Einträge werden nur hinzugefügt,
aber nicht geändert oder gelöscht.
V1-Mindestmechanismus
Audit-Logs werden gespeichert mit:
- tenant_id
- actor_id
- actor_type
- action
- object_type
- object_id
- old_values
- new_values
- created_at
- request_id
- ip_address
- user_agent
Integrität
V1 bereitet eine Hash-Chain vor.
Hash-Chain bedeutet:
Jeder Logeintrag enthält einen Prüfwert
und verweist rechnerisch auf den vorherigen Eintrag.
Dadurch werden nachträgliche Manipulationen besser erkennbar.
Trennung
Es gibt unterschiedliche Logarten:
- App-Logs
- Security-Logs
- Audit-Logs
Audit-Logs sind keine normalen Debug-Logs.
Kritische Aktionen
Immer auditieren:
- Login/Logout
- fehlgeschlagene Logins
- Rechteänderungen
- Kundendatenänderungen
- Vertragsänderungen
- Zahlungsstatusänderungen
- Importvorgänge
- Secret-Änderungen
- Modulaktivierungen
- API-Token-Erstellung
Nicht-Ziel
V1 garantiert noch keine vollständige externe WORM-Archivierung.
Später möglich
- Export in externes Audit-Sink
- WORM-Speicher
- signierte Logs
- tägliche Hash-Summen
- revisionssichere Langzeitablage
Verwandte ADRs
- ADR 0011 — GoBD-Verantwortlichkeit
- ADR 0010 — Secrets-Management
- ADR 0021 — DSGVO-Löschung und Retention