Beim Start meines Blogs war mir klar dass ich keine persönlichen Informationen über meine Besuchenden sammeln wollte. Metriken fandund finde ich spannend, aber die Besuchenden meines Blogs sollten trotzdem anonym bleiben können.

Die Metriken habe ich bereits abgedeckt: Das passiert über Plausible. Hier bekomme ich die Information über Land und Browser der Nutzenden; das ist einerseits anonym genug und andererseits genügend Information für mich.

Was bisher aber noch nicht gut geklappt hat war das Konzept der Web Server Logfiles. Manchmal sind diese Files wirklich praktisch, aber ich hatte sie bisher deaktiviert - eben mit dem Konzept der Anonymität. In diesem Post möchte ich erklären, wie ich das verändert habe - am Ende war es nämlich überraschend einfach.

Ein eigenes Logformat definieren

nginx erlaubt es sehr einfach, ein eigenes Log-Format zu definieren. Um dem typischen Format so nah wie möglich zu bleiben habe ich beschlossen, dass ich nur IP Adresse und Referrer herausnehme. Dafür habe die Datei /etc/nginx/conf.d/redacted_log.conf mit dem folgenden Inhalt angelegt:

log_format anonymous_log '0.0.0.0 - $remote_user [$time_local] '
                         '"$request" $status $body_bytes_sent '
                         '"(redacted)" "(redacted)"';

Dass ich die IP Adresse 0.0.0.0 logge war eine aktive Entscheidung - dadurch bin ich direkt irritiert wenn ich das Logfile lese, und stelle schnell fest dass ich der IP Adresse nicht trauen darf. Jede andere IP Adresse die möglicherweise real ausgeschaut hätte, hätte mich irgendwann sicher verwirrt… {< linebreak >} Zusätzlich behalte ich dadurch das nginx Log Format, wodurch ich bereits arbeitende Tools, die nginx Logs lesen, nicht störe.

Das neue Logformat nutzen

Auch das war denkbar einfach. In einer typischen nginx Konfiguration existiert die Logzeile access_log /var/log/nginx/something.log. In meiner neuen Variante nutze ich stattdessen einfach access_log /var/log/nginx/something.log anonymous_log;.

Zusammenfassung

Dinge anonymisieren ist eigentlich nicht schwer, ich muss mir nur die Zeit nehmen, das auch wirklich zu machen!