Topics

Audit-Logs (1): Konzepte für Audit-Logs in Webdiensten – Grundlagen der Anforderungsanalyse

  • column

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.

Über den Autor

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

Artikel dieses Teammitglieds ansehen

Verlässliches Team und schnelle Reaktionsfähigkeit sind unsere Stärken

Bei Liberogic werden wir von unseren Kunden hoch geschätzt, da unsere erfahrenen Mitarbeiter Projekte proaktiv vorantreiben.
Wir achten darauf, Projektmanager und Direktoren gezielt einzusetzen, damit das gesamte Projekt reibungslos verläuft. Um unnötige Kostensteigerungen durch Vollzeitbindung zu vermeiden, verteilen wir Ressourcen passgenau. Zudem sind wir für unsere Geschwindigkeit bekannt, vom Verständnis der Anforderungen bis zur Erstellung und Einreichung von Angeboten.

Hinweis: Wir bieten keine SES-typischen Vor-Ort-Einsätze an. Wir bitten um Ihr Verständnis.

Sie können nahezu alle gängigen Tools für Projektmanagement und Chat nutzen, darunter Slack, Teams, Redmine, Backlog, Asana, Jira, Notion, Google Workspace, Zoom, Webex und viele weitere.

Sprechen Sie uns gerne auf Ihre Herausforderungen im Web an.

Fallstudien