Sichere SLES-Syslog-Weiterleitung mit rsyslog und Mutual TLS

Um Systemprotokolle von SUSE Linux Enterprise Server (SLES) sicher weiterzuleiten, konfigurieren Sie rsyslog so, dass Meldungen über den TLS-geschützten TCP-Port 6514 gesendet werden. Überprüfen Sie anschließend den Zertifikatsnamen des Protokollsammlers und bestätigen Sie die Zustellung mit einem Testereignis. SLES 15 SP7 erhielt am 27. März 2026 ein optionales rsyslog-Update, das ein OpenSSL-TLS-Modul hinzufügte. Die untenstehende Konfiguration verwendet gtlsstattdessen bewusst das etablierte GnuTLS-Modul.

Dieses Verfahren beschreibt einen SLES 15-Sender mit dem Namen „sender“ sles01.example.netund einen rsyslog-Collector mit dem Namen „collector“ logs.example.net. Ersetzen Sie beide Namen und alle Zertifikatspfade durch Ihre eigenen Werte. Es wird Mutual TLS verwendet, sodass der Collector sowohl den Sender als auch den Collector authentifiziert.

1. Überprüfen Sie rsyslog und den SLES-Protokollierungspfad

Installieren Sie auf beiden Hosts den rsyslog-Daemon und sein GnuTLS-Modul aus Ihren registrierten SUSE-Repositories. Bestehende Installationen enthalten möglicherweise bereits das erste Paket.

sudo zypper install rsyslog rsyslog-module-gtls
rpm -q rsyslog rsyslog-module-gtls
sudo systemctl enable --now rsyslog
rsyslogd -v

Überprüfen Sie /etc/rsyslog.confdie vorhandenen Codeabschnitte, /etc/rsyslog.d/bevor Sie Regeln hinzufügen. Deaktivieren Sie insbesondere alle älteren, unverschlüsselten *.* @@hostWeiterleitungsregeln für dasselbe Ziel; andernfalls könnten Nachrichten zwei Wege nehmen, darunter einen ohne TLS.

SLES verwendet systemd-journaldJournalereignisse, während rsyslog Syslog-Eingaben verarbeitet. Stellen Sie sicher, dass die benötigten Ereignisse rsyslog über die bestehende Eingabekonfiguration erreichen. SUSE dokumentiert ForwardToSyslog=yesdie /etc/systemd/journald.confWeiterleitung von Journal- zu Syslog-Ereignissen; überprüfen Sie Ihre Bereitstellung, bevor Sie Änderungen vornehmen, da die separate Aktivierung von Journallesern zu doppelten Ereignissen führen kann. Dieses Verfahren leitet bereits von rsyslog verarbeitete Meldungen weiter, nicht /var/logautomatisch jede Datei.

Terminalfenster mit Anzeige der rsyslog-Paketprüfungen sowie der CA-, Clientzertifikat- und privaten Schlüsseldateien für den SLES-Sender.
Prüfen Sie die rsyslog-Installation und vergewissern Sie sich, dass der Absender über separate CA-, Zertifikats- und Schlüsseldateien verfügt, bevor Sie TLS aktivieren.

2. Vertrauenswürdige Server- und Clientzertifikate vorbereiten

Verwenden Sie eine organisationsweite Zertifizierungsstelle (CA), um ein Zertifikat mit dem DNS-Subjekt-Alternativnamen logs.example.netfür den Sammler und ein separates Zertifikat zur Identifizierung sles01.example.netdes Absenders auszustellen. Stellen Sie sicher, dass die Zertifikate für ihre jeweiligen TLS-Server- oder Client-Rollen gültig sind und dass beide Rechner der ausstellenden CA vertrauen. Befolgen Sie Ihren PKI-Prozess zur Zertifikatserstellung und -erneuerung; verwenden Sie einen privaten Schlüssel nicht auf mehreren Hosts.

Kopieren Sie die entsprechenden Dateien über einen vom Administrator freigegebenen sicheren Kanal. In diesem Beispiel verwenden beide Rechner /etc/rsyslog.d/tls/ca.pem. Der Sammler verfügt zusätzlich über server-cert.pemund server-key.pem; der Sender verfügt über client-cert.pemund client-key.pem.

sudo install -d -m 0750 /etc/rsyslog.d/tls
sudo chmod 0600 /etc/rsyslog.d/tls/*-key.pem
sudo chmod 0644 /etc/rsyslog.d/tls/ca.pem

Beschränken Sie den Zugriff auf Zertifikate und Schlüssel für die rsyslog-Dienstidentität gegebenenfalls. Geben Sie private Schlüssel nicht in Diagnosedaten, Shell-Verlauf, Git-Repositories oder im exportierten Log-Stream preis. Stellen Sie sicher, dass Ihr rsyslog-Prozess seinen Schlüssel lesen kann, bevor Sie den Daemon neu starten.

3. Aktivieren Sie einen authentifizierten TLS-Empfänger auf dem Collector.

Fügen logs.example.netSie am folgenden Eintrag hinzu /etc/rsyslog.d/30-tls-listener.conf: . Falls imtcpbereits an anderer Stelle geladen, behalten Sie nur eine Modulladeanweisung bei. Das zugehörige Regelwerk speichert extern empfangene Nachrichten in einer separaten Datei, anstatt sie mit lokalen Systemnachrichten zu vermischen.

global(
  DefaultNetstreamDriverCAFile="/etc/rsyslog.d/tls/ca.pem"
  DefaultNetstreamDriverCertFile="/etc/rsyslog.d/tls/server-cert.pem"
  DefaultNetstreamDriverKeyFile="/etc/rsyslog.d/tls/server-key.pem"
)
module(load="imtcp")
ruleset(name="remote_tls") {
  action(type="omfile" file="/var/log/remote-tls.log")
}
input(
  type="imtcp"
  port="6514"
  StreamDriver.Name="gtls"
  StreamDriver.Mode="1"
  StreamDriver.AuthMode="x509/name"
  PermittedPeer="sles01.example.net"
  ruleset="remote_tls"
)

StreamDriver.Mode="1"Aktiviert TLS, während Clients ohne gültiges Zertifikat x509/nameabgelehnt PermittedPeerwerden. Der eine zulässige Name ist beabsichtigt; erweitern Sie die Liste der zugelassenen Absender, anstatt die Authentifizierung zu schwächen.

sudo rsyslogd -N1
sudo systemctl restart rsyslog
sudo firewall-cmd --permanent --add-port=6514/tcp
sudo firewall-cmd --reload
sudo ss -ltn | grep ':6514'

Führen Sie die Firewall-Befehle nur aus, wenn der Collector firewalld verwendet. Beschränken Sie eingehende Verbindungen über TCP/6514 mithilfe Ihrer Host- oder Upstream-Firewall auf bekannte Absendernetzwerke; das Öffnen des Ports ersetzt nicht die Zertifikatsauthentifizierung. Stellen Sie außerdem sicher, dass kein bereits vorhandener Klartext-Listener unbeabsichtigt offengelegt wurde.

Konfigurationseditor, der einen rsyslog imtcp-Listener auf TCP-Port 6514 mit gtls- und x509/Namensauthentifizierung anzeigt.
Der Collector-TLS-Listener verwendet Port 6514, GnuTLS-Modus 1 und Zertifikatsnamensauthentifizierung; der Artikel liefert die vollständige Empfängerkonfiguration.

4. Fügen Sie SLES TLS-Weiterleitung und eine begrenzte Warteschlange hinzu.

Stellen Sie sles01.example.netsicher, dass das Arbeitsverzeichnis von rsyslog existiert und vom Dienst beschreibbar ist. Das hier gezeigte Verzeichnis dient nur der Veranschaulichung; behalten Sie ein bereits konfiguriertes Verzeichnis bei, workDirectoryfalls Ihre Installationspakete eines bereitstellen. Fügen Sie diesen Codeausschnitt wie folgt hinzu /etc/rsyslog.d/60-tls-forward.conf:

global(
  DefaultNetstreamDriverCAFile="/etc/rsyslog.d/tls/ca.pem"
  DefaultNetstreamDriverCertFile="/etc/rsyslog.d/tls/client-cert.pem"
  DefaultNetstreamDriverKeyFile="/etc/rsyslog.d/tls/client-key.pem"
)
*.* action(
  type="omfwd"
  target="logs.example.net"
  port="6514"
  protocol="tcp"
  StreamDriver="gtls"
  StreamDriverMode="1"
  StreamDriverAuthMode="x509/name"
  StreamDriverPermittedPeers="logs.example.net"
  queue.type="LinkedList"
  queue.filename="tls_forward"
  queue.size="10000"
  queue.maxDiskSpace="1g"
  queue.saveOnShutdown="on"
  action.resumeRetryCount="-1"
)

Die TLS-Einstellungen authentifizieren den Collector vor dem Senden. Die festplattengestützte Aktionswarteschlange puffert Nachrichten bei kurzen Ausfällen und wiederholt fehlgeschlagene Weiterleitungen. Sie ist jedoch nicht unbegrenzt und bietet keine Garantie gegen Nachrichtenverlust: Verfügbarer Speicherplatz, Warteschlangenlimits, das Verhalten beim Beenden von Prozessen und der Zustand des Empfängers spielen weiterhin eine Rolle. Überprüfen Sie das effektive Arbeitsverzeichnis von rsyslog und erstellen Sie es mit den entsprechenden Berechtigungen, bevor Sie sich auf die Festplattenpufferung verlassen.

Sender prüfen und neu starten:

sudo rsyslogd -N1
sudo systemctl restart rsyslog

Schlägt die Konfigurationsprüfung fehl, starten Sie das System nicht neu, sondern beheben Sie den ersten gemeldeten Fehler. In einer bestehenden rsyslog-Bereitstellung können globale Zertifikatsanweisungen andere TLS-Aktionen beeinträchtigen. Überprüfen Sie andere ausgehende Aktionen und verwenden Sie die unterstützten aktionsspezifischen Zertifikatsparameter, falls diese unterschiedliche Anmeldeinformationen erfordern.

Der Konfigurationseditor zeigt eine rsyslog omfwd-Aktion an, die auf logs.example.net auf Port 6514 mit TLS-Zertifikatsnamensprüfung abzielt.
Leiten Sie Systemmeldungen mithilfe einer TLS-fähigen omfwd-Aktion an logs.example.net weiter; fügen Sie die Zertifikatseinstellungen und die resiliente Warteschlange aus dem beigefügten Code hinzu.

5. Empfangsbestätigung prüfen und fehlgeschlagenen Handshake untersuchen.

Prüfen Sie zunächst, ob der Collector auf TCP/6514 lauscht und ob der Sender den Host durch die Firewall erreichen kann. Führen Sie anschließend den folgenden Befehl auf dem SLES-Sender aus:

logger -t sles-tls-check "TLS forwarding probe"

Suchen Sie auf dem Collector die konfigurierte Remote-Protokolldatei:

sudo grep 'TLS forwarding probe' /var/log/remote-tls.log
sudo journalctl -u rsyslog -n 50 --no-pager

Das Auffinden des Markers /var/log/remote-tls.logbestätigt, dass der Weiterleitungspfad auf Anwendungsebene für diesen Test funktioniert hat. Es beweist jedoch nicht, dass alle anwendungsspezifischen Protokolldateien erfasst werden. Um die Authentifizierung unabhängig zu testen, verwenden Sie vorübergehend in einem kontrollierten Wartungsfenster ein anderes, nicht vertrauenswürdiges Zertifikat oder einen nicht übereinstimmenden Peer-Namen und überprüfen Sie, ob die TLS-Verbindung fehlschlägt. Stellen Sie anschließend umgehend die ursprüngliche Konfiguration wieder her.

Terminal mit Anzeige der rsyslog-Konfigurationsvalidierung, einer markierten Logger-Sonde und eines Befehls zum Untersuchen der Collector-Protokolldatei.
Validieren Sie rsyslog und senden Sie eine eindeutig gekennzeichnete Testnachricht. Überprüfen Sie anschließend das Collector-Log auf die Probe, anstatt von einer Zustellung auszugehen.

Falls die Markierung nicht erscheint, gehen Sie der Fehlerbehandlung in der angegebenen Reihenfolge nach:

  • Kein Listener oder verweigerte Verbindung: Überprüfen Sie systemctl status rsyslogTCP/6514 und die Firewall-Regeln des Collectors.
  • TLS- oder Zertifikatsfehler: Vergleichen Sie die Zertifikats-SANs mit PermittedPeerund StreamDriverPermittedPeers; überprüfen Sie die CA-Kette, die Ablaufdaten, die Systemuhren und die Berechtigungen für den privaten Schlüssel.
  • Verbindung besteht, aber keine Ereignisse: Prüfen Sie auf doppelte oder fehlende Journal-/Syslog-Einträge, angehaltene Weiterleitungsaktionen und die Festplattenwarteschlangenkapazität. Überprüfen Sie dies journalctl -u rsyslogauf beiden Hosts.

Die Methode folgt dem offiziellen SLES 15 SP7-Systemprotokollierungsleitfaden , dem Leitfaden für rsyslog-Zertifikat-authentifizierte Clients , der imtcp-Listener-Referenz und der omfwd-Weiterleitungsreferenz . Die SUSE-Update-Mitteilung vom März 2026 dokumentiert die optionale Hinzufügung des OpenSSL-Moduls. Da die Konfigurationen je nach SLES-Service-Pack variieren, sollten Sie die Einstellungen in Ihrer installierten rsyslog-Version überprüfen, bevor Sie Änderungen in der Produktionsumgebung anwenden.

Einen Kommentar hinterlassen

Sichere SLES-Syslog-Weiterleitung mit rsyslog und Mutual TLS

Sichere SLES-Syslog-Weiterleitung mit rsyslog und Mutual TLS

Senden Sie SLES-Systemprotokolle über authentifiziertes TLS an einen entfernten rsyslog-Collector, inklusive Zertifikatsprüfungen, Ausfallpufferung und Zustellungstests.

SLES-Upgrade-Speicherfehler vor dem erneuten Versuch verfolgen

SLES-Upgrade-Speicherfehler vor dem erneuten Versuch verfolgen

Nutzen Sie RAM-, Swap-, Kernel- und Zypper-Protokolle, um den tatsächlichen Speicherdruck zu ermitteln, den Paketstatus zu schützen und einen sichereren SLES-Upgrade-Wiederholungsversuch auszuwählen.

Debian 12-Sicherheitsupdates auf einem Server ohne grafische Oberfläche ausführen

Debian 12-Sicherheitsupdates auf einem Server ohne grafische Oberfläche ausführen

Aktivieren Sie die unbeaufsichtigten Sicherheitsupdates von Debian über SSH, behalten Sie die Standardpaketquellen bei und überprüfen Sie geplante Ausführungen anhand der Systemd- und APT-Protokolle.

Ubuntu SMART-Festplattenwarnungen per E-Mail erhalten mit smartd

Ubuntu SMART-Festplattenwarnungen per E-Mail erhalten mit smartd

Vergleichen Sie die E-Mail-Zustellungsoptionen, konfigurieren Sie smartd unter Ubuntu und überprüfen Sie, ob Warnungen zum Festplattenzustand in Ihrem Posteingang ankommen.

Debian 12 DNS-Lookup-Fehler beheben: systemd-resolved reparieren

Debian 12 DNS-Lookup-Fehler beheben: systemd-resolved reparieren

Die DNS-Auflösung unter Debian 12 lässt sich wiederherstellen, indem man systemd-resolved überprüft, gegebenenfalls resolv.conf repariert und die Upstream-DNS- und Anwendungsauflösung verifiziert.

Ubuntu 24.04 zeigt keinen HDMI-Ton an? Stellen Sie die Ausgabe wieder her.

Ubuntu 24.04 zeigt keinen HDMI-Ton an? Stellen Sie die Ausgabe wieder her.

Lassen Sie Ubuntu Ihren Monitor oder Fernseher als Audioausgang erkennen, wählen Sie ihn in den Soundeinstellungen aus und überprüfen Sie die Verbindung oder die PipeWire-Geräteliste, falls HDMI fehlt.

Beheben Sie APT-Signaturfehler durch Reparieren des Repository-Schlüssels

Beheben Sie APT-Signaturfehler durch Reparieren des Repository-Schlüssels

Ubuntu-APT-Signaturwarnungen lassen sich sicher beheben, indem die fehlerhafte Quelle identifiziert, ihr verifizierter Schlüssel aktualisiert und das Ergebnis überprüft wird, ohne die Sicherheit zu deaktivieren.

Umrechnung von dreiphasiger Spannung, Stromstärke, kW, kVA und Leistungsfaktor

Umrechnung von dreiphasiger Spannung, Stromstärke, kW, kVA und Leistungsfaktor

Lernen Sie die Formeln für symmetrische Dreiphasensysteme kennen und rechnen Sie Netzspannung, Stromstärke, kW, kVA und Leistungsfaktor Schritt für Schritt um – mit einem durchgerechneten Beispiel und zu überprüfenden Grenzwerten.

Begrenzen Sie die CPU- und Speichernutzung eines Befehls mit Ubuntu cgroups

Begrenzen Sie die CPU- und Speichernutzung eines Befehls mit Ubuntu cgroups

Führen Sie eine Arbeitslast innerhalb eines systemd-Bereichs mit CPUQuota und MemoryMax aus und überprüfen Sie anschließend die Grenzwerte mit cgroup v2.

Pi-hole Upstream-DNS auf Ubuntu Server 24.04 verschlüsseln

Pi-hole Upstream-DNS auf Ubuntu Server 24.04 verschlüsseln

Richten Sie dnscrypt-proxy als lokale DoH-Bridge für Pi-hole unter Ubuntu 24.04 ein, mit einem Listener nur für localhost, Resolver-Auswahl und Prüfungen vor dem DNS-Wechsel.