LOGisch – was man beim Loggen beachten sollte

Werbung
LOG-INFR A STRUK TUR 15
LOGisch – was man beim
Loggen beachten sollte
Für den Aufbau einer Log-Infrastruktur steht eine kaum überschaubare
Auswahl an Produkten zur Verfügung. Sie alle können aber nur die in Logs
enthaltenen Daten auswerten und darstellen. Grund genug, einen Schritt
zurückzugehen und sich Gedanken zu machen, was geloggt werden soll.
Von Markus Pfister
E
in regnerischer Sonntag. Sie
wollen Sonne sehen und schauen Urlaubsfotos an, starten den
Rechner und suchen die Fotos
von den Ferien in Hawaii. Die
Bilder werden aussortiert und besonders
gelungene kopiert man in eine Präsentation. Dank der Zeitstempel in den Metadaten der Fotos lässt man die Ferien chronologisch Revue passieren und verschickt
ein besonders schönes Bild einer bekannten Person. Dann wird noch eine Sicherungskopie erstellt.
Das Beispiel mit den Ferienfotos eignet sich, um die Eigenschaften einer modernen Log-Infrastruktur aufzuzeigen
(siehe Tabelle 1).
Warum loggen?
Diverse Sicherheitsstandards (z.B. BSI,
ISO 27001, PCI-DSS) oder von Sicherheitsgremien wie NIST (National Insti­
tute of Standards and Technology) und
OWASP (Open Web Application Security
Project) herausgegebene Empfehlungen
fordern eine funktionierende Log-Infrastruktur. Steht die in Logs enthaltene Information nicht zur Verfügung, befindet
sich die IT- und Security-Operation im
«Blindflug». Die in Logs enthaltene Information wird verwendet für:
−− Analyse von Problemen und
Fehlerbehebung
−− Beweismittel bei kriminellen Handlungen (Betrug, Hacking, Missbrauch)
−− Erfüllung gesetzlicher Anforderungen
−− Performance Skalierung (baselining)
−− Auslösen von möglichst zeitnahen
Aktionen aufgrund der aus den Logs
gewonnenen Erkenntnisse, z.B. Bereitstellen weiterer Instanzen wenn eine
Anzahl Anfragen überschritten wurde
Eigenschaft
Beispiel
Log-Infrastruktur
Collection
Sie haben die Fotos von der Kamera
auf den Computer geladen.
Einsammeln von Log-Informationen
Aggregation
Sie sortieren doppelte Fotos aus.
Gleichartige Einträge werden
zusammengefasst.
Correlation
Durch die zeitliche Sortierung der Fotos
können Sie den Ferienablauf
nachvollziehen.
Die Log-Information stammt von unterschiedlichen Systemen und muss in
einen Zusammenhang gebracht werden.
Alerting
Sie schicken schöne Fotos einer
­bekannten Person.
Bei gewissen Ereignissen oder dem
Erreichen eines Schwellwerts wird
z. B. die IT-Operation benachrichtigt.
Dashboards
Sie erstellen mit den aussagekräftigsten
Fotos eine Präsentation.
Die Log-Information wird grafisch
aufbereitet, z. B. auf einer Zeitachse mit
Drill-Down-Möglichkeit.
Compliance
Sie löschen Fotos, die nicht Ihren
­Qualitätsstandards entsprechen.
Festgestellte Ereignisse werden gegen
die Anforderungen aus einem Standard
geprüft.
Retention
Sie sichern die Urlaubsfotos.
Die Logs werden den jeweiligen Anfor­
derungen entsprechend archiviert oder
nach einer bestimmten Zeit gelöscht.
Analysis
Sie möchten wissen, an wie vielen
Tagen in den Ferien schlechtes Wetter
war und schauen die Fotos unter diesem
Aspekt an.
Bei besonderen Ereignissen (Betrug,
Missbrauch, Hacking) werden spezifische
Analysen zur Aufklärung und Beweis­
sicherung durchgeführt.
Tabelle 1: Komponenten einer modernen Log-Infrastruktur (z.B. Security und
Incident Management, SIEM).
Bezug zur IT-Sicherheit
Der Nachvollzug von Angriffen oder
kriminellen Handlungen mittels IT-­
­
Systemen ist oft nur anhand von LogAuswertungen möglich. Die EchtzeitÜberwachung analysiert Log-Informa­
tionen auf bekannte Angriffsmuster und
hat zum Ziel, den Angriff so früh und zuverlässig wie möglich zu erkennen. Nachstehend eine unvollständige Liste, wo
überall Loginformationen anfallen. Diese
wird entweder vor Ort in Files oder Datenbanken gespeichert oder über das
Netzwerk an einen Logserver geschickt.
−− Sicherheitskomponenten (Firewalls,
Web Proxies, Remote Access, Intru­
sion Detection (IDS), Identity and
Access Management (IAM))
−− Betriebssysteme
−− Middleware (DB, Message Brokers,
Queues)
−− Infrastrukturdienste (Active Directory, Backup)
−− Anwendungen
«Security Information and Event
Management»-Systeme (SIEM) fokussieren auf sicherheitsspezifische Problemstellungen. Die folgenden Feststellungen haben für alle Arten von LogInfrastrukturen Gültigkeit.
Was loggen?
Logs von Anwendungen und Systeme produzieren riesige Datenmengen. Dies kann
die Performanz beeinflussen, da für das
Schreiben der Informationen langsame
­Input-/Output-Operationen notwendig
sind. Grund genug, nur bedeutsame Informationen zu loggen. Weniger Log-Information macht sich auch bei der Auswertung
durch schnellere Ergebnisse bemerkbar.
5/15
16 LOG-INFR A STRUK TUR
17
Aufrufkette für Webshop
Firewall
Web Entry Server
Log
Anwendung A
Anwendung A
Webshop
Log
Log
Log
DB
Log
Firewall
Web Entry Server
Log
Webshop
Log
Log
DB
Log
Loggen
Passworte (Credentials)
von Benutzern
Nein
auch keine Passwort-Hashes
Kreditkartennummern
Nein
Die Kreditkartennummer kann durch ein «Token» ersetzt
werden, das als Stellvertreter für die Kreditkartennummer
dient. Das Token wird bei Bedarf von autorisierten Personen
benutzt, um die zugehörige Kreditkartennummer zu ermitteln.
Kontonummern
Nein
Auch hier kann bei Bedarf die «Token»-Technik verwendet
werden.
Cookies
Nein
Cookies enthalten sensitive Informationen, die für unerlaubten
Zugriff auf eine Anwendung verwendet werden können.
Personendaten
Nein
Diese Angaben sind mit einer UserID verknüpft, die ähnlich
dem erwähnten Token für Kreditkarten verwendet werden
kann, um nähere Angaben über den Benutzer zu erhalten.
UserID
Ja
Request-URLs
Ja, mit
Vorsicht
Log
Zeiterfassung
Collection
Aggregation
Correlation
Alerting
Dashboard
Compliance
Retention
Analysis
DB
Log
Log
Darstellung 1: Betroffene Komponenten bei einer Anfrage
an den Webshop.
Log
Infrastruktur
Darstellung 2: Komponenten einer Log-Infrastruktur.
Firewall
Was
Web Entry Server
newID=ABC
Log
Add HTTP Header
UID: ABC
Webshop
Log
…,ABC,…
Log
…,ABC,…
SQL Insert UID
,ABC,
DB
Log
…,ABC,…
Darstellung 3: Eingefügte Unique Identifiers (UID) helfen,
Zusammenhänge zu erkennen.
−− Information über die normale Funktionsweise kann kompakt sein, soll aber
die Art und Anzahl der aufgerufenen
Applikationsfunktionen sichtbar
machen.
−− Information über Fehlersituationen
und besondere Vorkommnisse (z.B.
hohe Ressourcennutzung) sollen
ausführlich sein, um einen Einblick
in das vorliegende Problem zu
ermöglichen.
−− Jeder Log-Eintrag soll Auskunft
geben über:
Wer: User/System/Anwendung
Was: Verwendete Funktion, Request
URL
Wann: Timestamp
Wo: Servername, IP, Port, Protokoll
Wie: Detailbeschreibung zum Fehler
Warum: Fehler-Level
Ein Beispiel
In einer «N-Tier»-Architektur werden
an den Webshop gerichtete Anfragen vom
Firewall an den Web Entry Server und von
diesem an den Webshop geleitet. Der
Webshop speichert Daten in einer Datenbank (siehe Darstellung 1).
Um das Beispiel einfach zu halten,
loggen alle Komponenten in ein File. Das
Loggen könnte auch über ein Netzprotokoll an eine zentrale Log-Komponente
erfolgen. Weil der Webshop für optimale
Lastverteilung auf mehreren Instanzen
läuft, kann der genaue Weg durch die Verarbeitungskette nicht im Voraus bestimmt werden, da jede der drei Web­
5/15
shop-Instanzen die Anfrage beantworten
könnte. In komplexen IT-Architekturen
ist dies der Normalfall. Die Pfeile in
Darstellung 1 zeigen mögliche Verar­
­
beitungswege, die eine Anfrage an den
Webshop nehmen kann. Alle für den
Web­
shop-Betrieb zuständigen Systeme
sind in der Aufrufkette «Webshop»
zusammengefasst.
Wenn ein Benutzer auf den Webshop
zugreift, fallen Log-Informationen beim
Firewall, dem Web Entry Server, beim
Webshop und in der Datenbank an. Diese
Log-Informationen werden gesammelt
und die Daten so aufbereitet, dass Zusammenhänge erkannt werden können
(correlation). Dafür ist die Log-Infrastruktur zuständig (siehe Darstellung 2).
Nicht einfach alles loggen
Der Gesetzgeber (Datenschutzgesetz)
oder Industriestandards (Payment Card
Industry, PCI) schränken das Sammeln
(loggen) gewisser Daten ein. Aus diesem
Grunde müssen Log-Einträge auf Compliance mit dem regulatorischen Umfeld
geprüft werden (siehe Tabelle 2).
Log correlation ist die Verknüpfung
von in Logs enthaltener Information. Beispielsweise werden Timestamps verwendet, um auf verschiedenen Systemen protokollierte Ereignisse im Zusammenhang
auf einer Zeitachse darzustellen. Dies ist
nur möglich, wenn alle Logs auswertbare
Timestamps enthalten. Um die Angaben
in den verschiedenen Logs in der richtigen Reihenfolge zu filtern, greift man oft
auf diese Informationen zurück (siehe
Tabelle 3).
Hilfe für die Log correlation
Unique Identifiers (UID) sind Token, die
einmalig vorkommen und damit als Unterscheidungsmerkmal verwendet werden können. Wird eine UID möglichst am
Anfang der durch eine Anfrage ausgelösten Verarbeitungskette eingefügt und an
die nachfolgenden (downstream) Systeme
weitergegeben, lassen sich zusammen­
gehörige Log-Informationen anhand der
UID herausfiltern. Dazu muss die UID von
jedem System mit ins Log geschrieben
werden. Das Erstellen dieser UID wird
etwa von Apache Module «mod_unique_
id» unterstützt. Im Beispiel (siehe Darstellung 3) fügt der Web Entry Server die
UID ein und reicht sie in der Verarbeitungskette weiter. Die nachfolgenden
Systeme schreiben die UID ins Log.
End-To-End-Information
Die Zugehörigkeit eines Systems zu einer
Verarbeitungskette wird als «Topologie»
in der Log-Infrastruktur hinterlegt. Die
Verarbeitungsketten entsprechen Geschäftsfunktionen – hier der Kunden­
interaktion mit dem Webshop. Abfragen
eines Kunden können so pro Geschäftsfunktion aus Sicht Business (Funktion,
Aufrufpfade) wie auch unter Audit- und
Security-Aspekten analysiert werden.
Die Gruppierung von Systemen nach
Geschäftsfunktionen hat folgende Vor­
teile:
−− Im Störungsfall kann das Business
über die betroffenen Funktionen
informiert werden.
−− Die Einhaltung von Service Level
Agreements ist überprüfbar.
−− Tritt ein Fehler beim Webshop auf,
sind die in erster Linie zu untersu-
URLs können in den Query-Parametern sensitive Angaben
enthalten, die vor dem Loggen entfernt werden müssen.
Log-Erzeugung:
−− Was muss geloggt werden?
−− Was darf nicht geloggt werden?
−− Log-File-Format, inklusive Feld­
formate (z.B. Timestamps in UTC)
−− Definition von Fehlerstufen (Debug,
Info, Warnung, Fehler, fataler Fehler)
−− Definition der Meldungspriorität
(tief, mittel, hoch)
Log-Einsammlung:
−− Wie werden Log-Informationen
gesammelt (Protokolle, Häufigkeit)?
−− Verbleiben Logs als Kopie am
Entstehungsort?
Tabelle 2: Diese Daten sollten am besten gar nicht ins Log geschrieben werden.
chenden Systeme im Voraus definiert
(Firewall, Web Entry Server, Web
Shop, DB).
Was kann schiefgehen?
−− Die Timestamps spielen bei der Log
correlation eine Schlüsselrolle. Dies
bedingt, dass die Uhren auf den
Rechnern synchronisiert sind.
−− Loggen ist für ein System oder eine
Anwendung abgeschaltet (unabsichtlich oder absichtlich).
−− Logs werden nachträglich verän­dert. Damit verlieren sie die Beweis­kraft.
−− Logs werden in proprietären Formaten geschrieben und können nicht
gelesen werden.
−− Platz für die Logs ist aufgebraucht.
−− Logs werden nur bei Störungen, d.h.
reaktiv, analysiert. Damit vergibt ein
Unternehmen die Möglichkeit, proaktiv Störungen zu beheben, bevor
sich diese bei Kunden und Benutzern
bemerkbar machen.
Log Policies
Durch die Vorgabe von Richtlinien, wie
das Loggen in einem Unternehmen erfolgen soll, wird verhindert, dass Informationen fehlen bzw. vorhanden, aber nicht
auswertbar sind. In Umgebungen, in denen vom Regulator Logs vorgeschrieben
sind, ist die Log Policy ein zentraler Baustein. Dabei ist die Sensitivität der geloggten Daten bzw. der Systeme, die Logs
erzeugen, zu berücksichtigen (gering,
mittel, hoch). Eine konsistente Defini­
tion von Fehler-Levels erleichtert dem
IT-Betrieb die Klassifizierung von Fehlern und das Einrichten automatisierter
Behebungsmechanismen.
Feldart
Bemerkung
Timestamp
Werden Server in unterschiedlichen Zeitzonen betrieben, muss der Timestamp
die verwendete Zeitzone oder die Abweichung zur Coordinated Universal
Time (UTC) enthalten. Wird in ein Log in New York und Zürich der Timestamp
«31. Dez 2015 11 Uhr» ohne Zeitzoneninformation eingetragen, werden beide
Einträge als zur gleichen Zeit stattgefunden betrachtet.
Rechnernamen
IP-Adressen haben den Vorteil, dass sie wenig Platz im Log brauchen und der
DNS-Lookup entfällt. In grossen, an unterschiedlichen Standorten verteilten
Unternehmen, können die IP-Adressen interner Netzwerke gleich sein. Werden
dann Logs über das ganze Unternehmen korreliert, entstehen falsche Resultate.
In diesen Fällen ist der DNS-Name vorzuziehen.
Anwendungsname
Diese Angabe darf in keinem Log fehlen.
Anwendungs­
funktion
Oft ist von Interesse, was die Ursache (root cause) eines Problems war.
Die Angabe der Anwendungsfunktion hilft bei der Fehlersuche.
UserID
Notwendig, um Aktionen, die durch einen Benutzer ausgelöst wurden, zu
korrelieren.
SessionID
Ist im Kontext einer Anwendung hilfreich, um den Verlauf einer Sitzung
nachzuvollziehen.
Protokoll
Port
Werden oft als zusätzliches Filterkriterium verwendet, um die zu untersuchende
Datenmenge im Voraus einzuschränken (z.B. interessieren beim Webshop nur
http/https-Anfragen).
Log-Aufbewahrung:
−− Wie lange müssen Logs aufbewahrt
werden?
−− Wann müssen die Logs verschlüsselt
werden?
−− Wie werden Logs archiviert?
−− Wie wird sichergestellt, dass Logs
nicht nachträglich verändert werden?
Log-Auswertung:
−− Welche Bedürfnisse müssen durch die
Abfragen abgedeckt sein?
−− Wer hat Zugriff auf die Logs und die
Log-Infrastruktur?
−− Häufigkeit der Log-Auswertung
Log-Vernichtung:
−− Wie und wann werden nicht benötigte Logs vernichtet?
Event-Behandlung
Die Echtzeitüberwachung (Monitoring)
von Logs erlaubt die zeitnahe Abarbeitung mittels Log-Analyse entdeckter
Ereignisse, falls diese einer Bearbei­
­
tung bedürfen. Dazu müssen die Verant­
wortlichkeiten definiert und die betrieblichen Voraussetzungen geschaffen werden. Dann profitiert das Business durch
eine höhere Verfügbarkeit der Anwendungen und einen höheren Grad an Sicherheit. n
MARKUS PFISTER
Senior Security Consultant, In&Out AG IT
Consulting & Engineering, Zürich
Tabelle 3: Diese Daten im Log helfen, Ereignisse zu korrelieren.
5/15
Herunterladen