4051
Kommentar:
|
5054
Seafile-Daten anonymisieren
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 74: | Zeile 74: |
= Seafile = [[https://www.seafile.com/en/home/|Seafile]] speichert in der aktuellen Version einige Daten zu den Nutzer*innen wie Plattform, Version des Seafile-Clients, Name des Geräts und IP-Adresse. Abrufbar sind diese über die Admin-Oberfläche und sollen die Fehlersuche vereinfachen. Mögen einige dieser Informationen dazu ganz brauchbar sein, sind andere zu sensibel, bspw. ''Name des Geräts'' (= Hostname) oder die IP-Adresse. Eine einfache Möglichkeit, diese Daten loszuwerden, ist mittels eines cron-Jobs die entsprechenden Daten aus den Datenbank-Tabellen zu entfernen. Dazu kann ein sql-Skript erstellt werden. In unserem Beispiel heißt das Skript {{{clear_seafile_data.sql}}}. Die zu löschenden Daten befinden sich in der Seahub-mysql-Datenbank:{{{ use seahub-db; update `api2_tokenv2` set `device_name` = 'device'; update `api2_tokenv2` set `last_login_ip` = '0.0.0.0'; }}} Das Skript kann per cron mit der Zeile {{{mysql < clear_seafile_data.sql}}} aufgerufen werden. |
Diese Seite beschreibt die Konfiguration verschiedener Webdienste mit dem Blick auf die Privatsphäre der jeweiligen Nutzer*innen. Pfadangaben und änhliches beziehen sich auf eine Debian-Jessie-Installation.
Inhaltsverzeichnis
ejabberd
Ejabberd ist ein häufig genutzter Jabber/XMPP-Server. Seit Version 15.06 lässt sich das Logging so einstellen, dass keine sensiblen Daten erhoben werden. Dazu /etc/ejabberd/ejabberd.yml bearbeiten:
hide_sensitive_log_data: true
Horde
Jeder ausgehenden Mail fügt Horde einen Header-Eintrag mit der aktuellen IP-Adresse hinzu, die die Horde-Session gestartet hat. Dies kann recht einfach geändert werden - siehe
nginx
access.log anonymisieren
Nginx legt standardmäßig die Datei /var/log/nginx/access.log an, in der alle Anfragen inkl. der jeweiligen IP gespeichert werden. Nun gibt es mehrere Möglichkeiten, das Verhalten zu beeinflussen - dazu muss jeweils die Datei /etc/nginx/nginx.conf im Abschnitt http bearbeitet werden:
Logging deaktivieren:
access_log off;
IP-Adresse durch Platzhalten [ip-addr] ersetzen1:
log_format noip '[ip-addr] - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"'; access_log /var/log/nginx/access.log noip;
error.log anonymisieren
Das Format der Datei /var/log/nginx/error.log kann nicht beeinflusst werden. Sofern der error-Log nicht deaktiviert werden soll2, lassen sich die IP-Adressen per sed anonymisieren. Ein cron-Job mit dem folgenden Kommando könnte diese Aufgabe regelmäßig übernehmen:
sed 's/\([0-9]\{1,3\}\.\)\{3,3\}[0-9]\{1,3\}/x.x.x.x/g' -i /var/log/nginx/error.log
Es ist auch möglich, nginx entsprechend zu patchen.
let's encrypt
Postfix
Mailheader
Die Header von ausgehenden Mails geben gewöhnlich viele Infos über die Einsenderin preis (bpsw. aktuelle IP-Adresse, benutzer Mailclient etc.). Diese Header lassen sich heraus filtern. Dazu /etc/postfix/master.cf bearbeiten und für die Einlieferung per Client auf dem Submission-Port einen weiteren Service definieren:
submission inet n - - - - smtpd -o cleanup_service_name=subclean ... subclean unix n - - - 0 cleanup -o header_checks=regexp:/etc/postfix/header_checks
Die Datei /etc/postfix/header_checks wird nun entsprechend gefüllt. Die mit IGNORE markierten Header werden dabei entfernt:
/^Mail-System-Version:/ IGNORE /^Mailer:/ IGNORE /^Originating-Client:/ IGNORE /^User-Agent:/ IGNORE /^X-Enigmail-Version:/ IGNORE /^X-Mailer:/ IGNORE /^X-MimeOLE:/ IGNORE /^X-Newsreader:/ IGNORE /^X-Originating-IP:/ IGNORE /^X-Sender:/ IGNORE /^Received:.*\(Postfix/ IGNORE
Logging
Unter Debian loggt Postfix über rsyslog nach /var/log/mail.*. Mit dem Modul mmanon lassen sich die IP-Adressen anonymisieren. Dazu in /etc/rsyslog/rsyslog.conf folgenden Eintrag ergänzen:
$ModLoad mmanon ... mail.* action(type="mmanon") mail.* -/var/log/mail.log
Seafile
Seafile speichert in der aktuellen Version einige Daten zu den Nutzer*innen wie Plattform, Version des Seafile-Clients, Name des Geräts und IP-Adresse. Abrufbar sind diese über die Admin-Oberfläche und sollen die Fehlersuche vereinfachen. Mögen einige dieser Informationen dazu ganz brauchbar sein, sind andere zu sensibel, bspw. Name des Geräts (= Hostname) oder die IP-Adresse.
Eine einfache Möglichkeit, diese Daten loszuwerden, ist mittels eines cron-Jobs die entsprechenden Daten aus den Datenbank-Tabellen zu entfernen. Dazu kann ein sql-Skript erstellt werden. In unserem Beispiel heißt das Skript clear_seafile_data.sql. Die zu löschenden Daten befinden sich in der Seahub-mysql-Datenbank:
use seahub-db; update `api2_tokenv2` set `device_name` = 'device'; update `api2_tokenv2` set `last_login_ip` = '0.0.0.0';
Das Skript kann per cron mit der Zeile mysql < clear_seafile_data.sql aufgerufen werden.
Fussnoten, Hinweise
Quelle: https://thomas-leister.de/internet/nginx-access-logs-ip-adressen-entfernen-oder-logs-abschalten/ (1)
Abschalten per nginx.conf durch error_log off; (2)