Syslog- und CEF-Nachrichten mit dem Azure Monitor-Agent in Microsoft Sentinel erfassen

In diesem Artikel erfahren Sie, wie Sie Syslog über AMA und CEF (Common Event Format) über AMA-Connectors verwenden, um Syslog- und CEF-Nachrichten von Linux Computern, Netzwerkgeräten und Sicherheitsappliances zu filtern und zu erfassen. Bevor Sie beginnen, stellen Sie sicher, dass Sie die erforderlichen Berechtigungen, Agenten und den Log Forwarder gemäß den Voraussetzungen eingerichtet haben. Weitere Informationen zu diesen Datenconnectors finden Sie unter Syslog und CEF (Common Event Format) über AMA-Connectors für Microsoft Sentinel.

Hinweis

Container Insights unterstützt die automatische Sammlung von Syslog-Ereignissen aus Linux-Knoten in Ihren AKS-Clustern. Weitere Informationen finden Sie unter Syslog-Sammlung mit Container Insights.

Voraussetzungen

Bevor Sie beginnen, überprüfen Sie die folgenden Microsoft Sentinel- und Protokollweiterleitungs- und Computersicherheitsvoraussetzungen, um sicherzustellen, dass die Ressourcen konfiguriert sind und die entsprechenden Berechtigungen zugewiesen sind, wie in den Abschnitten Microsoft Sentinel Voraussetzungen, Protokollweiterleitungsvoraussetzungen und Computersicherheitsvoraussetzungen beschrieben.

Microsoft Sentinel Voraussetzungen

Installieren Sie die entsprechende Microsoft Sentinel Lösung, und stellen Sie sicher, dass Sie über die Berechtigungen zum Ausführen der Schritte in diesem Artikel verfügen.

Voraussetzungen für die Protokollweiterleitung

Wenn Sie Nachrichten von einem Log-Forwarder sammeln, gelten die folgenden Voraussetzungen:

Hinweis

Bei der Bereitstellung des AMA in einem Virtual Machine Scale Set (VMSS) wird dringend empfohlen, einen Load Balancer zu verwenden, der die Round-Robin-Methode unterstützt, um die Lastverteilung auf alle bereitgestellten Instanzen sicherzustellen.

Voraussetzungen für die Computersicherheit

Konfigurieren Sie die Sicherheit des Computers gemäß der Sicherheitsrichtlinie Ihres organization. Konfigurieren Sie z. B. Ihr Netzwerk so, dass es an der Sicherheitsrichtlinie Ihres Unternehmensnetzwerks ausgerichtet ist, und ändern Sie die Ports und Protokolle im Daemon entsprechend Ihren Anforderungen. Um die Sicherheitskonfiguration Ihres Computers zu verbessern, sichern Sie Ihre VM in Azure, oder überprüfen Sie diese bewährten Methoden für die Netzwerksicherheit.

Wenn Ihre Geräte Syslog- und CEF-Protokolle über TLS senden, weil sich ihre Protokollweiterleitung z. B. in der Cloud befindet, müssen Sie den Syslog-Daemon (rsyslog oder syslog-ng) für die Kommunikation in TLS konfigurieren. Weitere Informationen finden Sie unter:

Konfigurieren des Datenconnectors

Der Einrichtungsprozess für die Datenkonnektoren für Syslog via AMA oder Common Event Format (CEF) via AMA umfasst die folgenden Schritte:

  1. Installieren Sie den Azure Monitor-Agent, und erstellen Sie eine Datensammlungsregel (Data Collection Rule, DCR) mit einer der folgenden Methoden:
  2. Wenn Sie Protokolle von anderen Computern mithilfe einer Protokollweiterleitung sammeln, führen Sie das "Installationsskript" auf der Protokollweiterleitung aus, um den Syslog-Daemon so zu konfigurieren, dass er auf Nachrichten von anderen Computern lauscht und die erforderlichen lokalen Ports öffnet.

Wählen Sie die entsprechende Registerkarte aus, um Anweisungen zu erhalten.

Verwenden Sie das Azure- oder Defender-Portal, um eine Datensammlungsregel (DCR) zu erstellen und den Azure Monitor Agent auf Ihrem Log Forwarder zu installieren.

Erstellen einer Datensammlungsregel (DATA Collection Rule, DCR)

Öffnen Sie zunächst syslog über AMA oder CEF (Common Event Format) über den AMA-Datenconnector in Microsoft Sentinel und erstellen Sie eine Datensammlungsregel (Data Collection Rule, DCR).

  1. Wählen Sie in Microsoft Sentinel im Azure-Portal unter KonfigurationDatenkonnektoren aus.
    Wählen Sie für Microsoft Sentinel im Defender-PortalMicrosoft Sentinel>Konfiguration>Datenconnectors aus.

  2. Geben Sie für Syslog den Suchbegriff Syslog in das Suchfeld ein. Wählen Sie in den Ergebnissen den Syslog via AMA-Konnektor aus.
    Geben Sie für CEF den Suchbegriff CEF in das Suchfeld ein. Wählen Sie in den Ergebnissen den Connector Common Event Format (CEF) via AMA aus.

  3. Wählen Sie im Detailbereich Connectorseite öffnen aus.

  4. Wählen Sie im Bereich Konfigurationdie Option +Datensammlungsregel erstellen aus.

    Screenshot der Seite „Syslog via AMA-Connector“.

    Screenshot der Seite „CEF via AMA-Connector“.

  5. Auf der Registerkarte Einfach:

    • Geben Sie einen DCR-Namen ein.
    • Wählen Sie Ihr Abonnement aus.
    • Wählen Sie die Ressourcengruppe aus, in der Sie Ihren DCR finden möchten.

    Screenshot: DCR-Details auf der Registerkarte

  6. Wählen Sie Weiter: Ressourcen > aus.

Definieren von VM-Ressourcen

Wählen Sie auf der Registerkarte " Ressourcen " die Computer aus, auf denen Sie das AMA installieren möchten. Wählen Sie für dieses Verfahren ihren Protokollweiterleitungscomputer aus. Wenn Ihr Protokollweiterleiter nicht in der Liste angezeigt wird, verfügt er möglicherweise nicht über den installierten Azure Connected Machine-Agent.

  1. Verwenden Sie die verfügbaren Filter oder das Suchfeld, um Ihre Protokollweiterleitungs-VM zu finden. Erweitern Sie ein Abonnement in der Liste, um seine Ressourcengruppen zu sehen, und eine Ressourcengruppe, um ihre VMs zu sehen.

  2. Wählen Sie den virtuellen Protokollweiterleitungscomputer aus, auf dem Sie den AMA installieren möchten. Das Kontrollkästchen wird neben dem VM-Namen angezeigt, wenn Sie mit dem Mauszeiger darauf zeigen.

    Screenshot: Auswählen von Ressourcen beim Einrichten des DCR

  3. Überprüfen Sie Ihre Änderungen und wählen Sie Weiter: Erfassen >.

Auswählen von Einrichtungen und Schweregraden

Beachten Sie, dass die Verwendung derselben Facility für Syslog- und CEF-Nachrichten zu einer doppelten Datenerfassung führen kann. Weitere Informationen finden Sie unter Vermeidung von Datenerfassungsduplizierung.

  1. Wählen Sie auf der Registerkarte Sammeln den Mindestprotokolliergrad für jede Einrichtung aus. Wenn Sie eine Protokollebene auswählen, sammelt Microsoft Sentinel Protokolle für die ausgewählte Ebene und andere Ebenen mit einem höheren Schweregrad. Wenn Sie beispielsweise LOG_ERR auswählen, sammelt Microsoft Sentinel Protokolle für die Ebenen LOG_ERR, LOG_CRIT, LOG_ALERT und LOG_EMERG.

    Screenshot des Auswählens von Protokollebenen beim Einrichten der DCR.

  2. Überprüfen Sie Ihre Auswahl, und wählen Sie Weiter: Überprüfen + erstellen aus.

Überprüfen und Erstellen der Regel

Nachdem Sie alle Registerkarten ausgefüllt haben, überprüfen Sie, was Sie eingegeben haben, und erstellen Sie die Datensammlungsregel.

  1. Wählen Sie auf der Registerkarte Überprüfen und erstellendie Option Erstellen aus.

    Screenshot, der zeigt, wie die Konfiguration des DCR überprüft und der DCR erstellt wird.

    Der Connector installiert den Azure Monitor-Agent auf den Computern, die Sie beim Erstellen Ihrer DCR ausgewählt haben.

  2. Überprüfen Sie die Benachrichtigungen im Azure-Portal- oder Microsoft Defender-Portal, um festzustellen, wann die DCR erstellt und der Agent installiert ist.

  3. Wählen Sie auf der Connectorseite Aktualisieren aus, damit der DCR in der Liste angezeigt wird.

Ausführen des Installationsskripts

Wenn Sie eine Protokollweiterleitung verwenden, konfigurieren Sie den Syslog-Daemon so, dass er auf Nachrichten von anderen Computern lauscht, und öffnen Sie die erforderlichen lokalen Ports.

  1. Kopieren Sie auf der Seite des Connectors die Befehlszeile, die unter Führen Sie den folgenden Befehl aus, um den CEF-Collector zu installieren und zu aktivieren: angezeigt wird.

    Screenshot der Befehlszeile auf der Connectorseite.

    Oder kopieren Sie es hier:

    sudo wget -O Forwarder_AMA_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Forwarder_AMA_installer.py&&sudo python Forwarder_AMA_installer.py
    
  2. Melden Sie sich beim Protokollweiterleitungscomputer an, auf dem die AMA installiert ist.

  3. Fügen Sie den Installationsbefehl ein, den Sie von der Connectorseite kopiert haben, um das Installationsskript zu starten.
    Das Skript konfiguriert den rsyslog- oder syslog-ng-Daemon so, dass er das erforderliche Protokoll verwendet, und startet den Daemon neu. Das Skript öffnet Port 514, um eingehende Nachrichten sowohl im UDP- als auch im TCP-Protokoll zu lauschen. Informationen zum Ändern dieser Einstellung finden Sie in der Konfigurationsdatei des Syslog-Daemons entsprechend dem Daemontyp, der auf dem Computer ausgeführt wird:

    • Rsyslog: /etc/rsyslog.conf
    • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

    Wenn Sie Python 3 verwenden und es nicht als Standardbefehl auf dem Computer festgelegt ist, ersetzen python3 Sie im eingefügten Befehl durch python . Siehe Voraussetzungen für den Log-Forwarder.

    Hinweis

    Um Szenarien mit vollständigen Datenträgern zu vermeiden, in denen der Agent nicht funktioniert, empfehlen wir, die syslog-ng - oder rsyslog -Konfiguration so festzulegen, dass nicht benötigte Protokolle nicht gespeichert werden. Ein Szenario mit vollem Datenträger beeinträchtigt die Funktion des installierten AMA. Weitere Informationen finden Sie unter RSyslog oder Syslog-ng.

  4. Prüfen Sie den Servicestatus.

    Überprüfen Sie den Status des AMA-Diensts auf Ihrem Protokollweiterleiter:

    sudo systemctl status azuremonitoragent.service
    

    Überprüfen Sie die status des rsyslog-Diensts:

    sudo systemctl status rsyslog.service
    

    Überprüfen Sie für syslog-ng-Umgebungen Folgendes:

    sudo systemctl status syslog-ng.service
    

Konfigurieren des Sicherheitsgeräts oder Anwendung

Anweisungen zum Konfigurieren Ihres Sicherheitsgeräts oder Anwendung finden Sie in einem der folgenden Artikel:

Wenden Sie sich an den Lösungsanbieter, um weitere Informationen zu Ihrem Anwendung oder Gerät zu erfahren.

Testen des Connectors

Stellen Sie sicher, dass Protokollmeldungen von Ihrem Linux Computer oder sicherheitsrelevanten Geräten und Appliances in Microsoft Sentinel erfasst werden.

  1. Um zu überprüfen, ob der Syslog-Daemon auf den erforderlichen UDP-Port lauscht und dass die AMA bereit ist, Protokolle bei der Linux-Weiterleitung zu empfangen, führen Sie den folgenden Befehl aus, um aktive Listener und die zugehörigen Ports anzuzeigen:

     netstat -lnptv
    

    Sie sollten sehen, dass der rsyslog- oder syslog-ng-Daemon auf Port 514 lauscht.

  2. Führen Sie den folgenden Befehl im Hintergrund aus, um Nachrichten zu erfassen, die von einem Logger oder einem verbundenen Gerät gesendet werden:

    sudo tcpdump -i any port 514 or 28330 -A -vv &
    
  3. Nachdem Sie die Validierung abgeschlossen haben, beenden Sie tcpdump. Geben Sie ein fg, und drücken Sie dann STRG+C.

Senden von Testnachrichten

Führen Sie zum Senden von Demonachrichten einen der folgenden Schritte aus:

  1. Verwenden Sie das nc Hilfsprogramm netcat. In diesem Beispiel liest das Hilfsprogramm Daten, die mit dem echo-Befehl gesendet wurden, wobei der newline-Schalter deaktiviert war. Das Hilfsprogramm schreibt die Daten dann ohne Timeout in den UDP-Port 514 auf dem localhost. Zum Ausführen des Hilfsprogramms netcat müssen Sie möglicherweise ein anderes Paket installieren.

    echo -n "<164>CEF:0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|1|rt=$common=event-formatted-receive_time" | nc -u -w0 localhost 514
    
  2. Verwenden Sie den logger Befehl. In diesem Beispiel wird die Nachricht im CEF-RFC-Format in die Einrichtung local 4mit dem Schweregrad Warning an Port 514 auf dem lokalen Host geschrieben. Die -t Flags und --rfc3164 werden verwendet, um das erwartete RFC-Format zu erfüllen.

    logger -p local4.warn -P 514 -n 127.0.0.1 --rfc3164 -t CEF "0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|rt=$common=event-formatted-receive_time"
    

    Testen Sie die Cisco ASA-Erfassung mit dem folgenden Befehl:

    echo -n "<164>%ASA-7-106010: Deny inbound TCP src inet:1.1.1.1 dst inet:2.2.2.2" | nc -u -w0 localhost 514
    

    Nachdem Sie diese Befehle ausgeführt haben, gelangen Nachrichten an Port 514 und werden an Port 28330 weitergeleitet.

  3. Nachdem Sie Testnachrichten gesendet haben, fragen Sie Ihren Log Analytics-Arbeitsbereich ab. Es kann bis zu 20 Minuten dauern, bis Protokolle in Ihrem Arbeitsbereich angezeigt werden.

Für CEF-Protokolle:

CommonSecurityLog
| where TimeGenerated > ago(1d)
| where DeviceProduct == "MOCK"

Für Cisco ASA-Protokolle:

CommonSecurityLog
| where TimeGenerated > ago(1d)
| where DeviceVendor == "Cisco"
| where DeviceProduct == "ASA"

Zusätzliche Problembehandlung

Falls Sie keinen Datenverkehr auf Port 514 feststellen oder Ihre Testnachrichten nicht empfangen werden, lesen Sie Problembehandlung für Syslog und CEF über AMA-Konnektoren für Microsoft Sentinel zur Fehlerbehebung.