# Logdateianalyse

Bei der Logdateianalyse wird die Logdatei eines Computersystems eines gewissen Zeitraumes nach bestimmten Kriterien untersucht. Bei aktuellen Computersystemen werden die unterschiedlichsten Systeme mitprotokolliert. Beispielsweise finden sich bei jedem Webserver, bei jeder Datenbank und jeder Firewall Logdateien. Je nach Art, Inhalt und Umfang der Aufzeichnung der Logdatei können daraus verschiedene Schlüsse gezogen werden.

## Auswertung von Webserver-Logdateien

Die interpretierten Statistiken ermöglichen es, den Aufbau und die Struktur der Internetseite zu optimieren. Sie sind Grundlage für Benutzerfreundlichkeitsanalysen oder liefern Aussagen über den Erfolg einer Marketingaktion. Mit einer Analyse der Logdateien kann man ansatzweise Webcontrolling betreiben.

### Einige mögliche Fragestellungen

* Wie lauten IP-Adresse und Hostname des Nutzers?
* Welchen Browser hat er genutzt?
* Auf welcher Seite stand der Link, mit dem der Nutzer auf die Seite gekommen ist?
* Welche Suchmaschine und welche Suchwörter hat er genutzt?
* Wie lange blieb er auf der Website?
* Wie viele Seiten ruft er dabei auf?
* Auf welcher Seite hat er die Website verlassen?
* Welche Ergänzungsmodule hat er installiert?
* Welches Betriebssystem nutzt er?
* Woher kommt der Nutzer?
* Handelt es sich um echte Nutzer oder sogenannte „Bots“?
* Erkennung von Klickbetrug im Rahmen von Suchmaschinenwerbung.
Diese Fragen lassen sich vor allem durch die Auswertung der sogenannten Kommunikationsranddaten beantworten.

### Probleme bei der Analyse

Das Hauptproblem der Logdateianalyse bei Webserver-Logdateien ist die Tatsache, dass HTTP ein zustandsloses Protokoll ist. Das heißt, jede Anfrage eines Clients nach einer Webseite (oder jeder einzelnen darin vorkommenden Grafik usw.) ist für den Webserver eine eigenständige Aktion. Klickt sich der Benutzer durch eine Website, hat der Webserver keinerlei Kenntnis, dass der Benutzer gerade schon eine Seite abgerufen hat.
Um trotzdem ein zustandsbehaftetes HTTP zu ermöglichen, wird bei dynamisch erzeugten Webseiten gelegentlich beim ersten Aufruf des Benutzers eine so genannte Session-ID vergeben, die der Client dann bei den folgenden Anfragen immer mitsendet. Dies kann über einen Cookie oder einen an jeden URI zusätzlich angehängten Parameter erfolgen, wobei ein Cookie jedoch nicht in der Logdatei sichtbar ist und eine gesonderte Programmierung für die Logdateianalyse benötigt. Falls ein Cookie gesetzt werden kann (das ist vom Client abhängig), ist auch eine spätere Wiedererkennung möglich, sofern der Cookie in der Zwischenzeit nicht verändert bzw. gelöscht wurde. Ansonsten können nur rein statistische Aussagen über die (wahrscheinlichen) Wiederkehrer einer Seite getroffen werden. Dies ist dann z. B. durch Kombinationen von gleicher IP-Adresse, Bildschirmauflösung, übereinstimmenden Plug-ins usw. annähernd möglich, genau ist diese Methode aber nicht. Allerdings gibt es Untersuchungen zu Techniken, wie man einzelne Rechner anhand ihrer individuellen Gangungenauigkeit der Systemuhr wiedererkennen kann.
Eine andere im HTTP bestehende Möglichkeit, einen Benutzer zu identifizieren, ist die Verwendung der IP-Adresse. Sie kann jedoch für viele unterschiedliche Benutzer dieselbe sein, wenn diese einen Proxyserver, Network Address Translation oder Ähnliches verwenden. Sie sind daher nur mit größter Vorsicht zu verwenden, da eine IP-Adresse nicht mit einem Benutzer gleichzusetzen ist.
Oftmals hat der Betreiber einer Webseite jedoch keinen Zugriff auf die Logdatei des Webservers, sodass häufig versucht wird, mittels Zählpixeln dennoch eine statistische Auswertung zu ermöglichen. Hierzu werden kleine, unsichtbare (1×1 Pixel, transparent) Bilder in die Webseite eingebunden, die auf einem Webserver abgelegt werden, dessen Logdatei man auswerten kann.
Erweiterte Informationen, wie beispielsweise die Bildschirmauflösung oder eine Liste von installierten Browser-Plug-ins, werden auch gerne gewünscht, sind jedoch nicht in einer Logdatei enthalten. Diese Informationen werden dann üblicherweise mittels einer Client-seitigen Skriptsprache ermittelt und ebenfalls mittels Zählpixel separat geloggt.

## Korrelation von Logdateien

Neben der Auswertung einzelner Dateien existiert quasi als Königsdisziplin die Korrelation unterschiedlicher Logdateien, insbesondere zur Fehleranalyse. Dabei ist es wichtig, dass die beteiligten Systeme alle Logeinträge mit einem Zeitstempel versehen und darüber hinaus die Uhren dieser Systeme nahezu synchron gehen. Hier empfiehlt sich der Einsatz eines Netzwerkzeitprotokolls wie NTP.
Beispiel für eine Korrelation von Logdateien und -einträgen wäre die Verbindung von Firewall-Logdatei und Router-Logdateien sowie Accountingdaten auf einem von einem Cracker kompromittierten System.
Mittlerweile existiert neben der reinen Log-Analyse auch ein neuer Softwarezweig des „Security information and event management“, kurz SIEM. Diese Systeme gehen bei der Loganalyse meist einen anderen Weg. Unterschiede zwischen SIEM und der reinen Loganalyse:
SIEM: a) Die Logs werden „normalisiert“, - in einzelne Informations-Bestandteile zerlegt und dann in einer Datenbank gespeichert. SIEM-Systeme kennen genau die Syntax einzelner Log-Generatoren bzw. der unterschiedlichen Gerätefamilien und können die Alarme gegeneinander korrelieren und deduplizieren. Somit werden aus den Rohdaten schon Informationen transformiert b) Die Logs werden zusammen mit weiteren Daten zeitlich oder räumlich zusammengefasst. Hierzu können weitere Log-Datenquellen als auch andere Systeme aus den Bereichen FCAPS (meist Fault-Management), WMI-Events, SNMP-Traps, Informationen aus dem Active Directory und Netflow/SFLow-Daten zusammengefasst und korreliert werden. c) Im SIEM-System können dank der Korrelation aller Datenquellen dann Baselines für den Normalbetrieb ermittelt und bei Abweichungen sehr früh dann Alarme generiert werden.
Bei der klassischen Loganalyse sitzt der Fachmann der die Logs interpretiert vor dem „PC“, - beim SIEM sollte der Hersteller entsprechende Funktionen und Know-how in der Software mitliefern.

## Zulässigkeit der Analyse in Deutschland

Nach Auffassung der Aufsichtsbehörden dürften personenbezogene Daten eines Nutzers ohne Einwilligung nur erhoben und verwendet werden, soweit dies erforderlich ist, um die Inanspruchnahme von Telemedien zu ermöglichen und abzurechnen. Die Analyse des Nutzungsverhaltens unter Verwendung vollständiger IP-Adressen (einschließlich einer Geolokalisierung) sei aufgrund der Personenbeziehbarkeit dieser Daten nur mit bewusster, eindeutiger Einwilligung zulässig.

## Auswahl von Programmen zur Logdateianalyse

Open-Source-Programme zur Logfileanalyse:
* Analog
* AWStats
* Kibana
* Matomo (früher: Piwik)
* RRDtool
* Webalizer