Reboot Konzept B

Verzicht auf die Speicherung von potentiell personenbezogenen Daten

Dieses Konzept beschreibt, wie man durch das vollständige Vermeiden des Speicherns von personenbezogenen Daten als privacy by design die Einschränkungen der DSGVO vermeidet. Und sie doch gleichzeitig berücksichtigt.

Reboot Konzept B: Verzicht auf die Speicherung der Daten mit potentiellen PBD

Wenn diese Felder in den Logfiles nicht strukturiert ausgewertet werden, kann man definitiv auch hier darauf verzichten.

Apache

Der kritischen Felder sind also nach Apache LogFormat Directive:

  • 127.0.0.1 (%h) This is the IP address of the client (remote host) which made the request to the server.
  • "GET /apache_pb.gif HTTP/1.0" (\"%r\") The request line from the client is given in double quotes. It is also possible to log one or more parts of the request line independently. For example, the format string "%m %U%q %H" will log the method, path, query-string, and protocol, resulting in exactly the same output as "%r".
  • "http://www.example.com/start.html" (\"%{Referer}i\")
  • "Mozilla/4.08 [en] (Win98; I ;Nav)" (\"%{User-agent}i\")
  • – (%l) RFC 1413 identity of the client determined by identd on the clients machine.
  • frank (%u) This is the userid of the person requesting the document as determined by HTTP authentication.

Wenn man also das Logformat im vergleich zu oben ändert:

LogFormat "- – - %t \"%m %U %H\" %>s %b" anonym
CustomLog logs/access_log anonym

Damit wären alle kritischen Elemente entfernt.

Dasselbe gilt für das ErrorLog und alle weiteren Logs, in denen die IP Adresse erscheint. Apache ErrorLogFormat Directive

ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client – ] %M"

ErrorLog /var/log/httpd/error_log

404 Fehler

Für die 404 Fehler gibt es die Option, das Logging zu verhindern.

    <IfModule rewrite_module>

        RewriteEngine On

        # Don't log missing files
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-l
        RewriteRule "^(.*)$" "/404.html" [E=DO_NOT_LOG:1,R=404,L]

</IfModule>

LogFormat "- %l %u %t \"%m %U %H\" %>s %b" anonym
CustomLog logs/access_log anonym env=!DO_NOT_LOG

ACHTUNG: Diese Einstellungen greifen massiv in das Verhalten der Website ein, z.b. entfernen sie alle Tracking Codes aus den Logs, also sollte das sehr genau überlegt werden, ob man diese Einstellungen einsetzt.

Nginx

Auch bei Nginx kann man die Einstellungen über die nginx Variablen anpassen. Hier gilt dieselbe Warnung wie beim Apache.

log_not_found off; 

map $status $loggable {
    ~^[4]   0;
    default 1;
}
log_format anonym '- – - [$time_local] '
                       '"$request_method $uri $server_protocol" $status $body_bytes_sent ';


error_log logs/error.log warn;
access_log /spool/logs/nginx-access.log anonym if=$loggable;

Kontrolle

Die Konfiguration verrät das Verzeichnis, in dem die Logfiles gespeichert werden. Also ist der nächste Schritt, nach einem Neustart zu kontrollieren, dass der Server keine PBD mehr in die Logfiles schreibt.

Zum Umgang mit Logfiles vor der Umstellung gelten meine Überlegungen oben.

Dokumentation

Dieses Verfahren (Löschen oder Auskommentieren plus regelmässige Kontrolle) muss in den Technischen und Organisatorischen Maßnahmen (TOM) aufgeführt werden.

Weiter

zu Reboot Konzept C