Website-Icon adminForge

IP-Adressen in Apache2 und Nginx anonymisieren

Die DSGVO wird am 25.05.2018 umgesetzt und nicht nur aus diesem Grund sollten wir die IP-Adressen unserer Webseitenbesucher schützen.

Aktueller Zustand der Logfiles (volle Länge):

Zustand nach der Anonymisierung IPv4 (16 Bit Länge) und IPv6 (32 Bit Länge):

Punkt 1: Vorwort zu mod_log_ipmask

Die performanteste Lösung ist ein in C geschriebenes Apache2 Modul zu verwenden. Hinzu kommt, dass das Modul direkt für den gesamten Apache2 vHost Bestand gilt.
Varianten in denen das CustomLog jedes vHosts durch ein Script „gepipet“ werden gibt es viele im Netz, diese waren mir persönlich aber zu mühselig.

Ich habe das originale mod_log_ipmask Github Repository geforked und die gepatchte IPv4 und IPv6 Version im adminforge Github hinterlegt.

Punkt 2: Herunterladen

Wir laden das Modul als root herunter.

In den Zeilen 43 und 44 bestimmen wir die Länge der IP-Adressen. Voreingestellt sind für IPv4 -> 16 Bit und IPv6 -> 32 Bit. Wie oben im Beispiel.

Punkt 3: Installieren

Um das Modul installieren zu können benötigen wir zuerst das apache2-dev Paket. Unter Debian installieren wir es wie folgt.

Mit diesem Befehl wird das Modul kompiliert und gleich in den richtigen Ordner kopiert.

Punkt 4: Apache2 neustarten und Logfiles prüfen

Wir starten den Webserver neu.

Und überprüfen das Logfile. Dies sollte ab sofort nur noch gekürzte IPv4- und IPv6-Adressen protokollieren.

Punkt 1: Konfiguration anlegen

Wir erstellen eine neue Datei /etc/nginx/conf.d/anonymized.conf und fügen unser IP-Mapping ein. Dies nimmt die oben beschriebene Kürzung für IPv4 -> 16 Bit und IPv6 -> 32 Bit vor.

Punkt 2: Nginx vHosts anpassen

In unseren gesamten vHosts können wir nun die access_log Zeile auf anonymized umstellen.

Punkt 3: Nginx neustarten und Logfiles prüfen

Wir starten den Webserver neu.

Und überprüfen das Logfile. Dies sollte ab sofort nur noch gekürzte IPv4- und IPv6-Adressen protokollieren.

2
Die mobile Version verlassen