Apache datenschutzkonform: Logging deaktivieren

veröffentlicht am 30. April 2011

Viele Webmaster haben mittlerweile begriffen, dass Facebook-Plugins und Co. in Deutschland nicht mit dem Datenschutz vereinbar sind. Was jedoch die wenigsten beachten: sogar die Basis einer jeden Webseite – der Webserver – ist in der Regel so konfiguriert, dass die IP-Adresse bei jeder Anfrage vollständig in den Log Dateien abgespeichert wird. Zwar ist der Personenbezug bei IP-Adressen noch umstritten, aber wer sicher gehen will, sollte das Logging anpassen oder deaktivieren.

Ich habe mich für das Abschalten des Loggings meines Apache Webservers entschieden. Abschalten ist hier eigentlich nicht das richtige Wort, denn die Protokollierung kann man nicht komplett deaktivieren. Meine Konfiguration läuft darauf hinaus, dass die Daten ins Nirvana geschickt und soweit wie möglich garkeine Daten verarbeitet werden.

Der Apache Webserver kennt zwei Arten von  Log-Dateien:

  • CustomLogs: es wird in der Standardeinstellung jede einzelne Anfrage an den Webserver mitprotokolliert.
  • ErrorLogs: hier werden Fehler mitgeschrieben.

Damit keine Logs mehr geschrieben werden, habe ich folgende Einstellungen getätigt:

ErrorLog /dev/null
CustomLog /dev/null " " env=doesnt_exist

/dev/null ist eine Gerätedatei unter Linux, die nichts anderes macht, als die dorthin geschrieben Daten zu verwerfen.

Beim ErrorLog kann man leider nichts anderes als den Ausgabepfad anpassen, sodass ich die Daten dorthin schreiben lasse. Sollten irgendwann einmal Fehler am Webserver auftreten, setze ich die Zeile einfach wieder auf den Standard zurück, um den Fehler analysieren zu können.

Beim AccessLog hat man neben der Angabe der Ausgabedatei noch weitere Einstellungsmöglichkeiten. Auch hier werden die Daten einfach ins Nirvana geschickt. Die Anführungszeichen mit dem Leerzeichen dazwischen besagen, dass pro Zugriff nur eine einfaches Leerzeichen protokolliert wird – das spart minimal Rechenleistung. Die Angabe der Umgebungs-Variablen env wird hier mit einer ungültigen Umgebungsvariablen definiert. Dadurch wird der Apache Webserver garnicht erst damit beginnen, einen Log-Eintrag zu erstellen.

Sollten für virtuelle Hosts eigene Custom- und ErrorLogs definiert sein, müssen diese manuell aus den jeweiligen Konfigurationsdateien gelöscht werden.

Wer das Ganze nicht so konsequent umsetzen möchte wie ich, kann auch einfach einstellen, was bei den CustomLogs mitgeschrieben werden soll. Die Apache-Dokumentation sollte hierbei weiterhelfen. Die ErrorLogs kann man leider nicht um die Protokollierung von IP-Adressen beschneiden, sodass hier die einzige Möglichkeit ist, die Daten in das Nirvana umzuleiten.

Natürlich möchte ich mögliche Nachteile dieser Lösung nicht verschweigen:

  • bestimmte Webstatistik-Tools benötigen das CustomLog, um Auswertungen erstellen zu können. Diese Webstatistik-Tools haben zu Zeiten von Google Analytics und Piwik aber sehr an Bedeutung verloren. Wenn du ein Analyse-Tool verwendest, das das CustomLog benötigt, solltest du eigentlich darüber Bescheid wissen :)
  • anhand des CustomLog können Denial of Service-Angriffe von bestimmten Tools automatisch erkannt werden. Die wenigsten Personen setzen jedoch so ein Tool ein. Hier gilt dasselbe: im Zweifelsfall weiß man, ob man so ein Tool verwendet.
  • CustomLogs eignen sich natürlich hervorragend zum Debuggen neuer Konfigurationen, wie z.B. der Anbindung von Subversion über den Apache Webserver. Aber hier kann man bei Bedarf das Logging temporär aktivieren und die Log-Dateien danach wieder löschen.

Weitere Nachteile fallen mir ansonsten spontan nicht ein – vielleicht fällt euch ja noch ein Anwendungsfall ein, bei dem das CustomLog benötigt wird.

Werdet ihr – sofern ihr den Webserver konfigurieren könnt – auf so diese Lösung zurückgreifen oder nehmt ihr es in Kauf, dass das Protokollierungs-Verhalten des Webservers eigentlich nicht vereinbar mit den deutschen Datenschutzgesetzten ist, weil man keine Überprüfung und damit Strafe erwarten kann?

Kommentare

Es sind keine Strafen zu erwarten, da kein Straftatbestand erfüllt wird, sondern eine Ordnungswidrigkeit begangen wird. Geldbußen kommen hingegen schon in Betracht, was zumindest gefühlt einer Geldstrafe gleichkäme.
Im Übrigen kann man auch den Anbieter bitten, entsprechend tätig zu werden.

Kommentar #1 von Didi am 30. April 2011


Wo ist denn der Unterschied zwischen einer Geldbuße und einer Geldstrafe? Ich liebe Juristendeutsch :D

Kommentar #2 von Patrick am 30. April 2011


Guckst Du hier: http://de.wikipedia.org/wiki/Ordnungswidrigkeit

Kommentar #3 von Didi am 30. April 2011


Aber müsste dann nicht der Webspace Anbieter diese „Strafe“ bekommen wenn ich bei ihm nur ein Webspace-Paket nur nutze und somit nicht zugriff auf den Apache hätte?

Kommentar #4 von Manox am 30. April 2011


Mitgehangen, mitgefangen. Ich würde hier aber nicht in Panik verfallen. Außer einige Ausreißer, bei denen sich Betroffene mit den Behörden angelegt haben, ist mir noch kein Fall bekannt geworden, bei dem Bußgelder wegen Log-Dateien verhängt worden sind. Denn im Unterschied zu Strafvorschriften mit Legalitätsprinzip (die Strafverfolgungsbehörde m u s s bei Kenntnis von Straftaten tätig werden) handelt es sich bei Ordnungswidrigkeiten um Vorschriften des Opportunitätsprinzips, d. h. die Behörden k ö n n e n, müssen aber nicht tätig werden. Deshalb heißt es in den Bußgeldvorschriften etwa:
„Die Ordnungswidrigkeit k a n n mit einer Geldbuße bis zu fünfzigtausend Euro geahndet werden.“
und nicht, wie im Strafrecht
„…w i r d mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe bestraft.“
Wichtig ist es, zu verhindern, dass personenbezogene Daten missbraucht werden; Stichwort: GAnalytics, Akismet. Deshalb sind die Behörden hier auch sensibler.

Kommentar #5 von Didi am 30. April 2011


Naja ich würde mal sagen, dass das ganze Thema Datenschutz aufgrund sozialer Netzwerke, Datenleaks etc in der letzten Zeit ziemlich hochstilisiert wurde.

Aber ich meine, wenn man die Möglichkeiten dazu hat, sich nach den Datenschutzgesetzten zu richten, warum nicht.

Deshalb werde ich in den nächsten Tagen / Wochen mal erarbeiten, wie man zumindest WordPress soweit wie möglich datenschutzkonform machen kann.

Kommentar #6 von Patrick am 30. April 2011



Zwar ein Kommentar zu einem wirklich alten Blogeintrag, aber:
Ich sehe ein verdammt großes Problem darin Apache so datenschutzkonform zu machen.
Grundsätzlich brauche ich nämlich die Logs (mindestens für ein paar Stunden) mit den vollständigen IP Adressen.
Beispiel Fail2Ban. Scannt die Logs und bannt die IPs darauf hin. Was bringt mir es wenn ich dann eine anonymisierte IP Adresse sperre?
Grundsätzlich meine ich, dass es erlaubt sei die vollständige IP Adresse zu speichern, solange es dem Schutze des Dienstes/Servers gibt. Sicherheit vor Datenschutz. Wobei ich gerade dabei bin mir ein Skript zu schreiben, welches regelmäßig alle Logs durchgeht und die IP Adressen im Nachhinein anonymisiert.

Kommentar #8 von Michael am 11. Januar 2016


Hinterlasse einen Kommentar