Im Rahmen der Datenschutz-Grundverordnung (DSGVO) macht man sich so machen Gedanken und heute habe ich mir darüber Gedanken gemacht, ob die Apache Logs vielleicht zu viele Informationen enthalten könnten. In diesem kurzen Artikel zeige ich auf, wie man das ein wenig „Anonymer“ gestalten kann.

In den üblichen Logs wird die IP Adresse geloggt, das sieht dann ungefähr so aus:

193.238.*.* - - [31/May/2018:16:35:17 +0200] "POST /iguserid/index.php HTTP/1.1" 200 7595 "https://www.otzberg.net/iguserid/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"

Im obigen Beispiel hab ich die letzten zwei Teile der IP manuell durch ein Sternchen ersetzt. Braucht man die IP eigentlich überhaupt? Ich eigentlich nicht, aber andere möchten vielleicht doch gerne wissen, wer da dem Server einer Denial of Service Attacke aussetzt.

Schon 2014 hat die Swiss Privacy Foundation ein Tool zur Verfügung gestellt, mit dem man die IP Adressen an­o­ny­mi­sie­ren kann. Das Tool heißt Anonip und kann von der Webseite heruntergeladen werden. Im Ende ist es ein Python Script, das Du auch bei GitHub finden und einsehen kannst.

Also, wie installiert man das nun?

  1. Du legst das Script auf Deinem Server ab, der Pfad bleibt dabei Dir überlassen.
  2. Du passt die Virtual-Hosts-Konfiguration an
  3. Du startest Apache neu

Wo finde ich die Virtual-Hosts Konfiguration?

In Ubuntu 16.04 LTS findest Du die Konfigurationen unter

/etc/apache2/sites-available

Welche Änderung sind nötig?

In der Virtual-Hosts-Konfiguration findest Du meist zwei Zeilen, die wie folgt aussehen:

ErrorLog /var/www/html/DOMAIN/error.log
CustomLog /var/www/html/DOMAIN/access.log

Diese willst Du ersetzen, so dass das Log durch das anonip.py-Skript geschickt werden. Das kann zum Beispiel dann so aussehen:

CustomLog "|/PFAD/ZUM/SCRIPT/anonip/anonip.py --ipv4mask 8 --ipv6mask 64 --output /var/www/html/DOMAIN/access.log" combined

Ab sofort werden die IPs nun an­o­ny­mi­sie­rt gespeichert. In dem obigen Beispiel, indem die letzten Stellen durch eine 0 ersetzt werden, also aus dem Logeintrag ganz oben wird dann:

193.238.177.0 - - [31/May/2018:16:35:17 +0200] "POST /iguserid/index.php HTTP/1.1" 200 7595 "https://www.otzberg.net/iguserid/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"

Ab wann greift die Änderung?

Die Änderung greift ab dem Moment, indem der Server neu gestartet wurde. Den Apache2 Server Restart kannst Du mit folgendem Befehl erreichen:

sudo /etc/init.d/apache2 restart

Ist das wirklich nötig?

Das ist eine ausgezeichnete Frage – ich weiß es nicht. Die Datenschutz-Grundverordnung erwähnt IP Adressen explizit als persönliche Daten und ich habe mich entschlossen auf den von mir betreuten Server das Risiko einfach nicht mehr einzugehen. Durch das „entfernen“ der letzten 3 Stellen der IP kann man das nun wirklich niemanden mehr zuordnen.

Erwähnen möchte ich jedoch, dass ich noch nie irgendwie versucht habe, aus den Logs einen Rückschluss darauf zu ziehen, wer da was gemacht hat und es kann gut sein, dass ich in Zukunft einfach das access.log ganz abschalte.

Das ErrorLog hingegen ist eine andere Sache, da mag man schauen, wer für welchen Fehler verantwortlich ist. Beim ersten großen Problem das ich zu lösen versuche, werde ich dann erfahren, ob das Anonymisieren ne wirklich gute Idee war ;)


Claus Wolf

Seit 1994 im Netz unterwegs und seit 2004 eingefleischter Mac-Nutzer.

0 Kommentare

Schreibe einen Kommentar

Avatar-Platzhalter

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.