Der Einsatzzweck
Obwohl das Syslog-Protokoll weit verbreitet ist, haben einige Unternehmen Schwierigkeiten damit, es korrekt einzurichten. Dieser Blog-Beitrag zeigt einige bewährte Verfahren und bietet Anleitungen für den Installationsprozess des Syslog-Proxys – einschließlich der Konfiguration in LogPoint.
Warum sollten Sie einen Syslog-Proxy verwenden?
Ein Syslog-Server kann sehr einfach für die Weiterleitung von Logdaten eingerichtet werden, aber die Basis-Konfiguration gibt die Quell-IP des Geräts nicht an LogPoint weiter. Infolgedessen könnten einige Regeln für die Erkennung, Dashboards und Berichte in LogPoint nicht funktionieren.
Um dieses Problem zu umgehen, muss ein geeigneter Syslog-Proxy-Server implementiert werden, damit die Quell-IP-Adresse des Geräts korrekt an den LogPoint-Server weitergeleitet wird.
Für diesen Blog-Beitrag verwenden wir rsyslog, das Teil der meisten Linux-Distributionen ist. Die Konfigurationsschritte können auch auf anderen Syslog-Servern (wie syslog-ng oder NxLog Enterprise Edition) durchgeführt werden, erfordern aber möglicherweise eine eingehende Durchsicht der technischen Dokumentation.
Die Problemstellung
Das oben stehende Beispiel zeigt, wie schwierig es ist, mit einem Syslog-Relay-Server zu arbeiten, der nicht korrekt konfiguriert wurde. Die Syslog-Quellen werden über eine einzige, sehr aktive IP-Adresse (Syslog-Server) angegeben. Dies führt zu vielen Herausforderungen:
- Eine einzige Richtlinie für die Verarbeitung muss alle Datenquellen verwalten.
- Die Verwaltung der Normalisierungsregeln wird komplex. Viele heterogene Parser müssen aktiviert werden, wobei einige von ihnen miteinander in Konflikt stehen könnten.
- Die Richtlinien für das Routing sind schwierig zu konfigurieren, insbesondere wenn Daten an verschiedene Repositories weitergeleitet werden müssen und unterschiedliche Richtlinien für die Aufbewahrung zu berücksichtigen sind.
- Die LogPoint-Lizenznutzung lässt sich schwierig überwachen.
- Einige Dashboards, Berichte und Erkennungsregeln sind möglicherweise nicht „Out-of-the-Box“ einsatzbereit und müssen daher angepasst und korrigiert werden.
Es gibt verschiedene Optionen, um die Quell-IP des Geräts beizubehalten:
- Sie implementieren ein UDP- oder TCP-Syslog-Relay (Legacy- oder IETF-Format).
- Sie implementieren Syslog-UDP-Spoofing auf rsyslog.
In dieser Grafik wurde der Syslog-Server korrekt eingerichtet, um die Quell-IP-Adresse jedes Geräts zusammen mit der Syslog-Server-IP beizubehalten. Dies ermöglicht es, eine spezifische Richtlinie für die Verarbeitung pro Datenquelle zu verwenden. Sobald der Syslog-Proxy konfiguriert ist, ist er für LogPoint transparent.
Konfiguration von UDP-Spoofing auf dem Syslog-Proxy-Server
Der Zweck des rsyslog-UDP-Spoofings besteht darin, die ursprüngliche Quell-IP-Adresse (rsyslog) durch die ursprüngliche Geräte-IP-Adresse zu ersetzen.
Dieser Ansatz bietet einige Vorteile:
- Der Syslog-Proxy ist vollständig transparent und erfordert keine spezielle Konfiguration in LogPoint.
- UDP-Spoofing ermöglicht einen sehr hohen Durchsatz.
- Es ist ganz einfach einzurichten.
Aber es gibt auch Nachteile:
- Aufgrund der Nutzung des UDP-Protokolls können Downstream-Datenverluste auftreten.
- UDP-Spoofing kann von IDS/IPS- oder NDR-Systemen als Bedrohung erkannt werden.
- UDP-Spoofing funktioniert nicht gut auf Routen, die IP-Masquerading oder Network Address Translation (NAT) nutzen.
Konfiguration der Logdaten-Sammlung mit UDP oder TCP
Der erste Konfigurationsschritt besteht darin, sicherzustellen, dass der Rsyslog-Server die Upstream-Logdaten über UDP oder TCP empfangen kann.
Eine einfache Möglichkeit, dies sicherzustellen, ist es, die folgenden Zeilen in /etc/rsyslog.conf einzufügen und auszukommentieren:
Konfiguration der UDP-Spoofing-Weiterleitung
Bevor Sie fortfahren, müssen Sie sicherstellen, dass die Verwendung von Syslog UDP kein Problem für Ihr Unternehmen oder Ihren Kunden darstellt. UDP gilt als weniger zuverlässig und weniger sicher als TCP.
Der erste Schritt besteht darin, zu überprüfen, ob auf dem Syslog-Proxy-Server die Module rsyslog und omudpspoof installiert sind. Falls nicht, können Sie dies mit dem folgenden Befehl beheben:
Nicht alle Linux-Distributionen verfügen über ein omudpspoof-Modul.
Zum Zeitpunkt der Erstellung dieses Blog-Beitrags ist dies beispielsweise bei Fedora und Redhat der Fall, bei Ubuntu hingegen nicht.
Falls Sie das Betriebssystem nicht ändern können, ist es dennoch möglich, die Rsyslog-Quellen herunterzuladen und das System von Grund auf neu aufzubauen. Sie müssen jedoch bedenken, dass dies einen gewissen Aufwand bei der Installation und Wartung erfordert. Wir würden empfehlen, wenn möglich die passende Linux-Distribution zu wählen.
Die Aktivierung der UDP-Spoofing-Weiterleitung auf dem Syslog-Proxy-Server ist unkompliziert, Sie müssen nur eine Konfigurationsdatei unter /etc/rsyslog.d mit folgendem Inhalt erstellen:
/etc/rsyslog.d/99-fwlpspoof.conf
Starten Sie den Rsyslog-Dienst neu, damit die Konfiguration wirksam wird.
Wie bereits erwähnt, ist auf dem LogPoint-Server keine spezielle Konfiguration erforderlich – außer den üblichen Device-, Fetcher- und Processing-Policy-Deklarationen.
Konfiguration von TCP- oder UDP-Syslog-Relay
TCP-Syslog-Relay bietet eine vielseitige und zuverlässige Alternative zu UDP-Spoofing. Es gibt keine Einschränkungen bezüglich des Protokolls für die Weiterleitung und das weitergeleitete Syslog kann mit IP-Masquerading und Network Address Translation umgehen, da die Zuweisung der Quell-IP am Ziel von LogPoint verwaltet wird.
Konfiguration der Logdaten-Sammlung mit UDP oder TCP
Der erste Konfigurationsschritt besteht darin, sicherzustellen, dass der Rsyslog-Server die Upstream-Logdaten über UDP oder TCP empfangen kann.
Eine einfache Möglichkeit, dies sicherzustellen, ist es, die folgenden Zeilen in /etc/rsyslog.conf einzufügen und auszukommentieren:
Konfiguration des Syslog-Proxy-Servers
/etc/rsyslog.d/99-fwlpudp.conf
/etc/rsyslog.d/99-fwlptcp.conf
Je nach Anforderung können verschiedene Syslog-Formate bei der Weiterleitung von Syslogs berücksichtigt werden – die folgenden Angaben sind der Online-Dokumentation von RSYSLOG (https://www.rsyslog.com/doc/v8-stable/configuration/templates.html) entnommen:
Konfiguration von Syslog-Proxy in LogPoint
Diese Konfiguration ist sehr einfach. Beginnen Sie mit der Deklaration des Syslog-Proxy-Geräts und stellen Sie sicher, dass die „Time Zone“ mit der Betriebssystem-Konfiguration des Geräts übereinstimmt.
Wählen Sie im nächsten Schritt „Syslog Collector“.
Aktivieren Sie abschließend die Option „Use as Proxy“ und bestätigen Sie dies.
Nachdem das Syslog-Proxy-Gerät eingerichtet ist, können Sie die Geräte deklarieren, die ihre Logdaten darüber senden sollen.
Führen Sie für jedes Gerät die folgenden Schritte aus:
- Erstellen Sie ein Gerät
- Legen Sie den Namen und die IP-Adresse(n)
- Prüfen Sie, ob die Zeitzone mit der Betriebssystem-Konfiguration des Geräts übereinstimmt.
- Wählen Sie „Syslog Collector“.
- Wählen Sie die entsprechende „Processing Policy“ und aktivieren Sie die Option „Uses Proxy“. Wählen Sie dann die Proxy-Server-IP und den Host-Namen des Geräts.
Et voila! Die Logdaten sollten nun mit der richtigen Geräte-IP und dem korrekten Zeitstempel in den Suchergebnissen aufgeführt werden.
Im folgenden Beispiel ist Logger209 auf MEZ eingestellt, während Logger210 UTC verwendet.