Anonymisierung von IP-Adressen mit Rsyslog

von | Mai 12, 2018 | Allgemein | 0 Kommentare

Damit die Logeinträge durch rSyslog anonymisiert werden können, muss Apache diese erst zum Logdienst schicken. Das Standardverhalten von Apache ist jedoch, die Logs direkt in die jeweiligen Dateien zu schreiben.

Über die ErrorLog und CustomLog-Direktiven können Apache-Logs zu rSyslog umgeleitet werden. Da Apaches Konfigurationsdatei apache2.conf von Updates überschrieben werden könnte, sind die Änderungen in der Datei /etc/apache2/conf-enabled/other-vhosts-access-log.conf besser aufgehoben.

$ sudo vi /etc/apache2/conf-enabled/other-vhosts-access-log.conf 
#CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined

ErrorLog "||/usr/bin/logger -t a2error -i -p local5.error"
CustomLog "||/usr/bin/logger -t a2access -i -p local5.notice" vhost_combined

Der alte CustomLog-Eintrag kann auskommentiert und durch den neuen Eintrag ersetzt werden. Zusätzlich werden ErrorLogs ebenfalls gleich umgeleitet.

Da vHosts in Apache eigene Logangaben machen können, sollten die Konfigurationsdateien in /etc/apache2/sites-enabled/ überprüft und gegebenfalls angepasst werden. Hier kann auch zwischen zu anonymisierenden und normalen Access-Logs unterschieden werden, beispielsweise wenn die Logs für rein interne Seiten nicht angepasst werden sollen.

$ sudo vi /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
    ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    #ErrorLog ${APACHE_LOG_DIR}/error.log
    #CustomLog ${APACHE_LOG_DIR}/access.log combined
    CustomLog "||/usr/bin/logger -t a2access_anon -i -p local5.notice" combined
</VirtualHost

Durch die Angabe von -t a2access_anon kann rSyslog untertscheiden, welche Access-Logs anonymisiert werden sollen. Diese Regeln müssen jedoch erst definiert werden.

$ sudo vi /etc/rsyslog.d/01-apache-logs.conf
# Filter apache2 log entries by syslogtag and write to specified file.
:syslogtag, contains, "a2error" {
    *.*     /var/log/apache2/error.log
    stop
}

:syslogtag, contains, "a2access_anon" {
    # Anonymize stream and write the result to the specified logfile
    *.*     action(type="mmanon") /var/log/apache2/access_anon.log
    stop
}

:syslogtag, contains, "a2access" {
    *.*     /var/log/apache2/access.log
    stop
}

Nach einem Restart von Apache2 und rSyslog, sollten die Logeinträge jetzt entsprechend den definierten Regeln in einer der drei Dateien landen.

sudo service rsyslog restart
sudo service apache2 restart

tail /var/log/apache2/access_anon.log
May 12 10:55:39 host a2access_anon[20906]: www.lastbreach.de:443 87.123.0.0 - - [12/May/2018:10:55:38 +0200] "GET / HTTP/1.1" 200 16656 "-" "Mozilla/5.0 ..."

Das rSyslog-Modul mmanon kürzt in den Default-Einstellungen die letzten beiden Stellen einer IPv4-Adresse, wie in dem Logeintrag oben zu sehen ist. Genauere Einstellungen zu IPv4 und IPv6 sind in der offiziellen Dokumentation zu finden.

Folge uns auf

Zum Newsletter Archiv

Beiträge durchsuchen

Was unsere Kunden sagen

LastBreach
5.0
Basierend auf 10 Bewertungen
powered by Google
Bettina BöhmBettina Böhm
18:24 22 Jul 21
Vielen Dank für den ausführlichen Support!!! LastBreach ist absolut kompetent und empfehlenswert.
John RizosJohn Rizos
14:43 23 Mar 21
Sehr gut, sehr schnell, sehr freundlich, sehr professionell
Manfred MackManfred Mack
20:05 27 Jan 21
Herr Mohr hat uns sehr kompetent und schnell bei unseren komplexen IT Problemen geholfen.Eine Zusammenarbeit kann ich ohne Einschränkung empfehlenM.Mack
Marc SchleichMarc Schleich
13:50 16 Sep 19
Wir arbeiten seit einigen Jahren mit LastBreach in unterschiedlichen Projekten zusammen. War immer sehr agil und von hoher Qualität. Daher können wir die Kollegen absolut empfehlen.
Chris LekChris Lek
07:54 15 Sep 19
Ich habe in den letzten zwei Jahren mehrmals mit LastBreach zusammengearbeitet und kann Herrn Mohr und seine Firma sehr empfehlen. Herr Mohr und sein Team arbeiten professionell und zuverlässig, was... ich auch von eigenen Kunden als Feedback zurückbekam, die ich an LastBreach verwiesen habe.weiterlesen
js_loader