PfSense überträgt keinen Hostnamen an syslog-Server



  • Hallo zusammen,

    ich habe mir einen zentralen syslog-Server aufgesetzt, wohin meine Firewalls loggen sollen.
    Funktioniert soweit ganz gut, jedoch wage ich zu behaupten, dass die pfSense die Syslog-Zeilen ab und an falsch formatiert?

    Manchmal erscheint als source "filterlog", manchmal der korrekte Hostname (wenn bspw. der NGINX etwas loggt)
    Rein theoretisch nicht schlimm bei einer einzelnen Maschine, jedoch hängen da ein paar dutzend dran, und somit ist es nahezu unmöglich festzustellen, welche pfSense da gerade etwas sendet.

    Beispielzeile:
    filterlog: 9,,,1000000103,igb0,match,block,in,4,0x0,,248,16353,0,none,6,tcp,44,191.101.XXX.XXX,192.168.178.254,43200,13247,0,S,1282503760,,1024,,mss

    Schön und gut wenn es nur eine pfSense ist, dann kann ich's  dann eventuell anhand der Destination-IP relativ herausfinden, aber welche pfSense soll dass nun bitte sein, wenn es sich bspw. um ein HA-System handelt?

    Ich könnte pro pfSense einen eigenen Input definieren, sprich logische Unterteilung, jedoch wäre das viel zu viel Aufwand. (mind. +20 Inputs)

    Hat jemand von euch eine Idee, wie ich die pfSense dazu bekomme, dass die Zeilenformatierung korrekt ist?
    Meine Debian-Kisten kriegen das ja auch gebacken. ;)


  • Moderator

    Manchmal erscheint als source "filterlog", manchmal der korrekte Hostname (wenn bspw. der NGINX etwas loggt)

    Filterlog erscheint nur, wenn du den Paketfilter mitloggen lässt. Der loggt im Normalfall kein SYSLOG Format, deshalb ist dessen Format auch abweichend und BTW auch spezifiziert:
    https://doc.pfsense.org/index.php/Filter_Log_Format_for_pfSense_2.2

    Der Firewall Filter macht IMHO auch nicht so wahnsinnig Sinn den roh in irgendeinen Logfilter zu werfen, sondern wenn ihn als extra Logfile schreiben zu lassen damit man ihn getrennt auswerten kann. Das ist auch relativ egal, ob es ein HA System ist - denn dort ist eh nur ein System aktiv und das andere sollte keine großartigen Logfilter Meldungen haben, da kein / minimaler Traffic darüber fließt. Zudem will man - wenn man Traffic auswertet - eh meist nicht pro System sondern gesammelt auswerten, um bspw. Gesamt-Traffic oder pass/blocks sinnvoll auszuwerten, und dann braucht man logischerweise auch die Daten von beiden Systemen für den Fall dass es ein Failover gab. :)

    Gruß