IP oder nicht IP – Mein Syslog-Hack

Da haben die Vorratsdatenbastler mir aber was eingebrockt – OK, macht schon Sinn, aber jetzt schon bei den Server- und Seitenbetreibern an zu Setzen sehe ich nicht wirklich als Sinnvoll an. Hier dürfte es eher die Unwissenden treffen, denn um den üblichen Serverprogrammen die IP ab zu gewöhnen ist einiges an Arbeit nötig. Bei mir läuft bereits ein IP-Anonymisierer hinterm Apache, welcher die letzten Stellen der IP streicht. WordPress hat auch ein Plugin nur was mit IMAP, FTP, POP3, …? Das läuft alles über Syslog und ohne Patch scheint da nichts zu laufen – aber ich hab ja mein PHP und eine schöne Vorlage. Ein FIFO, ein Script und schon sind auch hier die IPs gekürzt – zumindest im Testbetrieb.


Anlegen des FIFO

mkfifo /var/log/raw.log

PHP-Script (/usr/local/bin/syslogclean.php)

#!/usr/bin/php

<?PHP

$in =fopen("/var/log/raw.log", "r");

$out=fopen("/var/log/messages", "a");

while(true) {

  $string = fgets($in, 1024);

  $ersetzt=preg_replace("!\b(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\b!","$1.$2.x.x",$string);

  fwrite($out, $ersetzt);

}

?>

syslog-ng.conf (patch)

< destination messages { file("/var/log/messages"); };

> destination messages { pipe("/var/log/raw.log"); };

Das ganze ist per startstop ins init.d des syslog-ng eingefügt:

Start:

start-stop-daemon --start --quiet -b --exec /usr/local/bin/syslogclean.phpStop:

start-stop-daemon --stop --quiet --exec /usr/local/bin/syslogclean.php

Lässt sich natürlich alles noch verfeinern, aber ist mal ein Anfang…

6 Gedanken zu „IP oder nicht IP – Mein Syslog-Hack“

  1. While true passt schon – das script wartet beim fgets bis Daten im FIFO sind

    Bei mir läuft das Logging vom IMAP über Syslog – wüsste aber auch nicht was daran unfein ist. Ist ja sozusagen nur ein Verteiler für Logs.

  2. Funktioniert auch mit syslog bzw. sysklogd, da dann einfach mit |/var/log/raw.log pipen. Anonymisert dann die IPs, nicht aber so Sachen wie PTR, HELO oder auch logins bei POP3/IMAP. Wie ist das zu bewerten? Logins usw. kann ich ja noch verstehen aber PTR ist ja ziemlich eindeutig. Ist die Rechtssprechung auf andere Dienste übertragbar?

  3. Nach meinem Verständnis geht es hier primär um „anonyme“ Besucher. Bei einem Login sende ich ja die Daten bewusst an den Server, daher habe ich mir die Logins noch nicht groß angesehen. Mit dem PTR habe ich auch noch so meine Probleme – viele lassen sich schon über den IP-Regex abfangen (evtl noch – als Trennzeichen ergänzen). Die großen Anbieter die aus der Reihe tanzen wie z.B. DTAG hab ich inzwischen mit eigenen Regeln nachgerüstet, aber 100%ige Sicherheit ist hier ohne händisches Patchen der Server wohl nicht möglich – die meisten scheinen da keine passende Optionen zu haben.

Schreibe einen Kommentar zu Max1 Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert