Im Zuge der neuen DSGVO, welche ab dem 25.05.2018 endgültig in kraft tritt, kann es erforderlich sein, in den Zugriffslogs des Webservers die IP-Adressen der Webseitenbesucher zu anonymisieren. Bei unseren Webhosting Paketen haben wir diese Einstellungen bereits durchgeführt, hier werden keine IP-Adressen der Webseitenbesucher mehr in den Logs gespeichert. Alternativ kann man die Logs auch über 7 Tage rotieren lassen, dies kann z.B. bei Linux im Programm Logrotate konfiguriert werden. Wenn aber Statistiktools wie zum Beispiel AWStats zum Einsatz kommen, wertet AWStats die access Logs aus und speichert die IP-Adressen der Webseitenbesucher über einen längeren Zeitraum als die Logs rotieren, was wiederrum zu Problemen mit der DSGVO führen kann.
Anonymisieren der Besucherlogs bei I-MSCP
Logrotate anpassen
Wenn man das Statistiktool AWStats in I-MSCP deaktiviert hat, kann man einfach den Rotationszeitraum von Logrotate in den Dateien
/etc/logrotate.d/apache2
/etc/logrotate.d/imscp_panel
Anpassen. Dort rotate 365 ändern in rotate 7
Apache Log anonymisieren
Sollte die AWStats Homepagestatistik aktiv sein, ist es empfehlenswert die Logs zu anonymisieren. Dazu einfach in den Dateien
/etc/letsencrypt/options-ssl-apache.conf
/etc/apache2/sites-enabled/00_nameserver.conf
/etc/apache2/apache2.conf
den Wert %h gegen [IP] ersetzen. Dadurch wird statt der Besucher IP-Adresse jetzt ausschließlich [IP] in den Logs geschrieben.
Wichtig ist, dass nach jeder Aktualisierung des I-MSCP Panels noch einmal geprüft wird, ob die Dateien noch entsprechend eingestellt sind.
Anonymisieren der Besucherlogs bei Plesk
Logrotate anpassen
Wenn kein Statistiktool, welches die Webserver Logs auswertet installiert ist, kann mit folgendem Befehl die Anpassung der Logrotation vorgenommen werden:
Vorbereitend:
plesk db -Ne„SELECT name FROM Templates WHERE type=’domain‘ AND name NOT LIKE ‚Admin Simple'“ > serviceplancache && cat serviceplancache | while read i; do plesk bin service_plan -u „$i„ –log-bytime daily –log-max-num-files 7 –log-compress true –log-rotate true -manage_log false -manage_log false; done && rm -f serviceplancache
wget -O /opt/psa/admin/plib/api-common/cuDomainTemplate.php https://support.plesk.com/hc/en-us/article_attachments/360006130934/cuDomainTemplate.file
Für alle Domains Serverübergreifend:
plesk bin domain -l| while read dom_name; do /usr/local/psa/bin/domain -u $dom_name -log-bytime daily -log-max-num-files 7 -log-rotate true -log-compress false -log-email „“; done
Nur für eine bestimmte Domain – example.com:
/usr/local/psa/bin/domain -u example.com -log-bytime daily -log-max-num-files 7 -log-rotate true -log-compress false -log-email „“
Kurze Erklärung der einzelnen Flags:
-log-bytime daily
Diese Einstellung setzt die Logrotation auf täglich, was uns ermöglicht nur Logs der letzten 7 Tagen zu haben.
-log-max-num-files 7
Das stellt die maximale Anzahl der Logdateien auf 7 Tage.
-log-rotate true
Stellt sicher, dass die Log rotation aktiviert ist
-log-compress false -log-email „“
Damit keine Daten ungewollt an vorher gesetzte E-Mails gesendet wird können wir diese Einträge löschen.
Apache / NGNiX Server Log anonymisieren
Diese Einstellung kann im Plesk Panel unter „Tools & Settings -> Server Settings -> Anonymize IPs during log rotation“ vorgenommen werden.
Bei unseren Managed Server Kunden führen wir die notwendigen Änderungen bereits mit Bereitstellung der Server durch um eine mit der DSGVO konforme Dienstleistung bereitzustellen.
Das bedeutet ja für die Kunden, dass bereits am Tag 8 keine brauchbare Analyse nach einem Angriff mehr gemacht werden kann.
Ist dies ernsthaft im Sinne der DSGVO?
Ich möchte schon gern die IP wissen, von der ein Script installiert wurde. Zumal zwischen Installation und aktiver Nutzung doch häufig ein paar Tage liegen.
Es geht hier rein um die Besucherlogs der Webseite die über ein Tool aufbereitet werden und dem Kunden zur Verfügung gestellt werden. Nicht aber um solche Dinge wie FTP / SSH Logs. Wenn die Webseite Sicherheitslücken aufweist, wäre das in der Tat so, dass nach 8 Tagen die Rotation beginnt, es sollte daher vor 8 Tagen auffallen, wenn hier etwas schief läuft. Wenn das Script aber über einen anderen Weg auf die Webseite gelangt ist, halten wir hier die Logs über einen längeren Zeitraum vor.