Was sollte man bei den in Ausschreibungen häufig genannten „Audit-Logs“ eigentlich protokollieren?
Hallo, ich bin Otsuka, CTO bei Liberogic.
Bei Ausschreibungen für Websites und Webdienste findet man in den Anforderungen häufig Formulierungen wie „Audit-Logs müssen erfasst werden können“ oder „Logs müssen für einen bestimmten Zeitraum gespeichert werden“.
Entsprechend wählt man Dienste aus, passt Tarife an oder ergänzt Optionen zur Log-Speicherung. Doch was genau bezeichnet der Begriff „Audit-Log“ eigentlich?
Im Folgenden möchten wir diese Fragen etwas strukturiert betrachten.
Es gibt verschiedene Arten von Logs
Unter dem Begriff Log werden in der Praxis mehrere Arten zusammengefasst.
Arten von Logs | Hauptsächlich erfasste Inhalte | Haupteinsatzzwecke |
|---|---|---|
Zugriffsprotokoll | URL, Datum und Uhrzeit, Status, Herkunft der Verbindung usw. | Untersuchung von Nutzung und Störungen |
Anwendungsprotokoll | Start und Ende von Verarbeitungen, geschäftsrelevante Ereignisse | Überprüfung des Betriebs und Fehleranalyse |
Fehlerprotokoll | Ausnahmen, abnormale Beendigungen, Fehlerinhalte | Ermittlung der Ursache von Störungen |
Prüfprotokoll | Wer hat wann was bearbeitet? | Interne Kontrolle und Sicherung von Nachweisen |
Sicherheitsprotokolle | Authentifizierung, verweigerte Zugriffe, Erkennung von Angriffen | Untersuchung von Vorfällen |
Alle diese Einträge sind Protokolle, doch unterscheiden sie sich in Inhalt und Zweck.
Ein Protokoll, das etwa festhält, dass ein Administrator die Rechte eines Benutzers geändert oder ein Redakteur Inhalte veröffentlicht hat, entspricht dem, was allgemein als Audit-Log bezeichnet wird.
Fehleranalyse und Nachweissicherung getrennt betrachten
Protokolle dienen im Wesentlichen zwei Zwecken.
Zum einen dienen sie dazu, die Ursache zu ermitteln, wenn ein Fehler oder eine Störung auftritt.
Sie kommen zum Einsatz, wenn Anfragen untersucht werden, etwa: „Ich habe gestern das Formular abgeschickt, aber es ist nicht angekommen“ oder „Zu einer bestimmten Uhrzeit trat ein Fehler auf“.
Das Zweite ist ein Protokoll, mit dem sich Vorgänge im Nachhinein nachvollziehen lassen.
Es erfasst Angaben wie "Wer hat die Einstellungen geändert?", "Wann wurde der Inhalt veröffentlicht?" und "Welche Aktionen wurden im Administrationsbereich ausgeführt?".
Vergleichskriterium | Zur Fehleranalyse und Verbesserung | Für Prüfung und Beweissicherung |
|---|---|---|
Hauptzielgruppe | Entwickler, Betriebsverantwortliche | Prüfer, Sicherheitsverantwortliche |
Üblicher Zeitraum | Einige Tage bis mehrere Wochen zurück | Einige Monate bis mehrere Jahre |
Worauf es ankommt | Auffindbarkeit und Informationsumfang | Vollständigkeit und langfristige Verfügbarkeit |
Nutzungshäufigkeit | Tägliche Kontrolle | Abruf bei Bedarf |
Beide Arten unterscheiden sich sowohl in der Aufbewahrungsdauer als auch in der Nutzung.
Wer alle Logs über einen langen Zeitraum durchsuchbar vorhalten will, muss mit deutlich höheren Kosten rechnen. Werden dagegen nur die neuesten Logs aufbewahrt, fehlen bei Audits oder der Untersuchung von Sicherheitsvorfällen womöglich die nötigen Nachweise.
Eine Trennung von Anfang an führt zu einer praktikableren Architektur.
Audit-Log-Anforderungen in konkrete Anforderungen überführen
Allein der Begriff „Audit-Log“ legt noch nicht fest, wie es konkret aufgebaut sein soll.
Zunächst klären wir den Zweck und leiten daraus ab, welche Datensätze benötigt werden und wie sie gespeichert werden sollten.
„Es werden Logs erfasst“ reicht noch nicht ganz aus
Wenn Logs in der Verwaltungsoberfläche eines Cloud-Dienstes angezeigt werden, liegt der Schluss nahe, dass die Protokollierung vollständig abgedeckt ist.
Allerdings unterscheiden sich die gespeicherten Inhalte und Aufbewahrungsfristen je nach Dienst.
- Fehler werden protokolliert, Aktionen von Administratoren jedoch nicht
- Ist in der Verwaltungsoberfläche einsehbar, wird aber nach einem bestimmten Zeitraum gelöscht
- Für die Weiterleitung an externe Systeme ist ein höherer Tarif erforderlich
- Anwendungsspezifische Aktionen müssen selbst protokolliert werden
Geschäftliche Protokolle wie "wer hat die Produktinformationen geändert" oder "welche Antragsdaten wurden verarbeitet" lassen sich mit Cloud-Diensten allein manchmal nicht nachvollziehen.
Wenn in den Anforderungen einer Ausschreibung ein "Audit Log" genannt wird, sollten Sie zumindest die folgenden Punkte klären.
Checkliste zur Anforderungsklärung
✅️ Welche Vorgänge sollen protokolliert werden?
✅️ Handelt es sich um Aktionen von Nutzern oder von Administratoren?
✅️ Dient das Protokoll der Fehleranalyse oder der Revision?
✅️ Wie lange sollen die Daten aufbewahrt werden?
✅️ Ist eine regelmäßige Suche in den Logs erforderlich?
✅️ Wer darf die Logs einsehen?
✅️ Könnten personenbezogene Daten enthalten sein?
Wenn diese Fragen ungeklärt bleiben, fällt die Entscheidung für Services oder Tarife oft zu groß aus – oder es fehlen am Ende die Logs, die tatsächlich benötigt werden.
Moderne Web-Services verteilen auch Logs
Bei klassischen Webservern ließ sich noch vergleichsweise einfach denken: Die Logdateien werden auf dem Server gespeichert.
Heute werden Web-Services häufig aus mehreren Cloud-Diensten kombiniert, etwa CDN, Hosting, Datenbank, Headless CMS und E-Mail-Versand.
Auch Liberogic nutzt je nach Projekt nicht nur AWS, sondern unter anderem Cloudflare, Vercel, Supabase, microCMS und Kuroco.
Da auch die Logs bei den einzelnen Diensten getrennt gespeichert werden, muss man betrachten, "welche Protokolle insgesamt im System entstehen".
Zunächst geht es darum, den Zweck zu klären.
Wenn es heißt „Audit-Logs werden benötigt“, wirkt das schnell so, als müsse man einen besonderen Dienst einführen.
Je nach Anforderung können natürlich ein externer Log-Management-Dienst oder eine Langzeitspeicherung nötig sein. Es ist jedoch nicht so, dass man von Anfang an eine große Architektur aufbauen sollte.
Zuerst gilt es zu klären: Was soll protokolliert werden, wozu und wie lange soll es aufbewahrt werden?
Anschließend ist es in der Praxis sinnvoll, zu trennen, welche Teile mit Standardfunktionen abgedeckt werden können und welche eigene Mechanismen erfordern.
Im nächsten Beitrag vergleichen wir grob, welche Logs bei Diensten entstehen, mit denen wir häufig arbeiten, etwa AWS, Cloudflare, Vercel, Supabase und headless CMS.
Soviel dazu.
Das Rückgrat der technischen Abteilung von Liberogic. Wenn er Sätze hört wie „So etwas hätte ich gern, das wäre praktisch!“, veredelt er die Idee mit seinem Know-how und setzt sie im Handumdrehen um. Mit seiner hohen Kommunikationsstärke hat er viele Fans unter unseren Kunden – unser Schatz, und ein echter Katzenfreund.
Sho Otsuka
Vorstand CTO / Chief Engineer / Geschäftsführer der Nekoana LLC / Sieht unnötig jung aus