DSGVO-Konforme Webserver-Logs

In unserem heutigen Blog-Beitrag möchten wir uns einem Problem widmen, welches vor allem Betreiber kleiner Internet-Dienste betrifft. Gut sichtbar haben in den letzten Wochen und Monaten viele große Dienstleister die Datenschutzerklärungen auf ihren Webseiten angepasst. Bei einigen Anbietern wurden in diesem Zusammenhang auch mal kurzfristig die Speicherfristen für IP-Adressen in Webserver-Logs angepasst. In diesem Zusammenhang stellt sich vielleicht der ein oder andere Webseitenbetreiber die Frage: Wie steht es eigentlich um meine Webserver-Logs?

Die Defendo GbR – Möllers & Hessel hat sich diese Frage gleich zu Beginn gestellt. Ein Unternehmen, welches Datenschutz propagiert und auf diesem Gebiet Kunden berät, sollte schließlich mit gutem Beispiel voran gehen. Unsere Webseite wird auf einem eigenen Server betrieben. Ein einfaches Setup mit Debian Linux und dem Apache Webserver. Doch genau hier lauert der Fallstrick: In der Regel (und dies gilt nicht nur für Debian und Apache) werden Webserver nicht mit DSGVO-konformen Einstellungen ausgeliefert (die Einstellungen sind auch nach „altem“ deutschen Datenschutzrecht nicht konform, aber das nur am Rande). Das heißt: Wer einen Webserver installiert und damit eine Webseite betreiben will, muss (leider) selbst Hand anlegen. Denn oft speichern die Webserver IP-Adressen und Anfragen in ihren Log-Dateien, welche sie für lange oder gar unbegrenzte Zeiträume auf der Festplatte stapeln.

Dem Apache-Webserver ist beispielsweise das „Recht auf Vergessenwerden“ von Haus aus erst einmal ein Fremdwort. Log-Dateien werden unbegrenzt aufbewahrt und enthalten jede einzelne Anfrage inklusive der IP-Adresse, wie folgendes Beispiel zeigt:

192.168.0.1 - - [07/Jun/2018:12:27:59 +0200] "GET /index.html HTTP/1.1" 200 19810 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"

Erste Abhilfe schafft bspw. das Programm logrotate, welches in jeder gut sortierten Linux-Distribution aus den Paketquellen installiert werden kann. Bei der Standard-Einstellung unter Debian wird damit die Apache-Log-Datei jeden Tag „rotiert“ und Logs, die älter als 14 Tage sind, gelöscht. Die Maximaldauer lässt sich problemlos auf 7 Tage heruntersetzen. Wenn man aus einem bestimmten Grund (etwa einer großen Anzahl Angriffe auf die Webseite) IP-Adressen unbedingt speichern muss, genügt dieser Schritt bereits. Natürlich muss dann aber auch ein entsprechender Hinweis in die Datenschutzerklärung auf der Webseite!

Ganz nach dem Gedanken der Datensparsamkeit, welcher in der DSGVO Nennung findet, möchten wir aber einen Schritt weiter gehen. Wie verhindert man, dass Apache überhaupt IP-Adressen speichert? Hierfür muss man die Seiten-Konfiguration im Apache-Verzeichnis (bspw. /etc/apache2/sites-enabled/) anpassen. Die wichtigen Konfigurationsdirektiven hier sind LogFormat und ErrorLogFormat. Das folgende Beispiel zeigt, wie die beiden Formate angepasst werden, um die IP-Adressen aus dem Log herauszulassen.

{% highlight apache %}
ErrorLogFormat „[%{u}t] [%-m:%l] [pid %P] %7F: %E: %M% , referer %{Referer}i“
ErrorLog ${APACHE_LOG_DIR}/error.log
LogFormat „%t „%r“ %>s %b“ anonymised
CustomLog ${APACHE_LOG_DIR}/access.log anonymised
{% endhighlight %}

Sollten Sie noch Fragen zum datenschutzkonformen Betrieb einer Webseite haben, schreiben Sie uns einfach! Wir sind Ihnen gerne behilflich, Ihre Webseite DSGVO-konform zu gestalten.