Freigeben über


Erfassen von Syslog- und CEF-Nachrichten für Microsoft Sentinel mit dem Azure Monitor-Agent

In diesem Artikel erfahren Sie, wie Sie syslog über AMA und Common Event Format (CEF) über AMA-Connectors verwenden, um Syslog- und CEF-Nachrichten von Linux-Computern, Netzwerkgeräten und Sicherheitsgeräten zu filtern und aufzunehmen. 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 von Linux-Knoten in Ihren AKS-Clustern. Erfahren Sie mehr in der Syslog-Auflistung mit Container Insights.

Voraussetzungen

Bevor Sie beginnen, müssen Sie die in diesem Abschnitt beschriebenen Ressourcen konfiguriert haben und über die entsprechenden Berechtigungen verfügen.

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 der Protokollweiterleitung

Wenn Sie Nachrichten von einer Protokollweiterleitung sammeln, gelten die folgenden Voraussetzungen:

  • Sie benötigen eine designierte Linux-VM als Protokollweiterleitung, um Protokolle zu sammeln.

  • Wenn Ihre Protokollweiterleitung keine Azure-VM ist, muss der Azure Arc Connected Machine-Agent darauf installiert sein.

  • Auf der Linux-VM mit der Protokollweiterleitung muss Python 2.7 oder 3 installiert sein. Verwenden Sie zur Überprüfung den Befehl python --version oder python3 --version. Wenn Sie Python 3 verwenden, stellen Sie sicher, dass diese Version auf dem Computer als Standardbefehl festgelegt ist, oder führen Sie die Skripts mit dem Befehl „python3“ anstelle von „python“ aus.

  • Auf der Protokollweiterleitung muss entweder der Daemon syslog-ng oder rsyslog aktiviert sein.

  • Informationen zu den Speicherplatzanforderungen für Ihre Protokollweiterleitung finden Sie unter Leistungsbenchmark für Azure Monitor Agent. Sie können auch diesen Blogbeitrag lesen, der Entwürfe für die skalierbare Erfassung enthält.

  • Ihre Protokollquellen, Sicherheitsgeräte und Appliances müssen so konfiguriert werden, dass sie ihre Protokollnachrichten an den Syslog-Daemon der Protokollweiterleitung und nicht an ihren lokalen Syslog-Daemon senden.

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 Computersicherheit

Konfigurieren Sie die Sicherheit des Computers gemäß der Sicherheitsrichtlinie Ihrer Organisation. Beispielsweise können Sie das Netzwerk so konfigurieren, dass es der Sicherheitsrichtlinie für das Unternehmensnetzwerk entspricht, und die Ports und Protokolle im Daemon Ihren Anforderungen entsprechend ändern. Um die Sicherheitskonfiguration Ihres Computers zu verbessern, schützen Sie Ihren virtuellen Computer in Azure, oder lesen Sie diese bewährten Methoden für die Netzwerksicherheit.

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

Konfigurieren des Datenconnectors

Der Einrichtungsprozess für syslog über AMA oder Common Event Format (CEF) über AMA-Datenconnectors umfasst die folgenden Schritte:

  1. Installieren Sie den Azure Monitor Agent und erstellen Sie eine Datensammelregel (DCR), indem Sie eine der folgenden Methoden verwenden:
  2. Wenn Sie Protokolle von anderen Computern mithilfe einer Protokollweiterleitung sammeln, führen Sie das Installationsskript für die Protokollweiterleitung aus, um den Syslog-Daemon zum Lauschen auf Nachrichten von anderen Computern zu konfigurieren und um die erforderlichen lokalen Ports zu öffnen.

Wählen Sie die entsprechende Registerkarte für Anweisungen aus.

Erstellen einer Datensammlungsregel

Öffnen Sie für die ersten Schritte entweder den Datenconnector Syslog über AMA oder Common Event Format (CEF) über AMA in Microsoft Sentinel, und erstellen Sie eine Datensammlungsregel (DCR).

  1. Wählen Sie für Microsoft Sentinel im Azure-Portalunter KonfigurationDatenconnectorsaus.
    Wählen Sie für Microsoft Sentinel im Defender-PortalMicrosoft Sentinel>Konfiguration>Datenconnectors aus.

  2. Für Syslog geben Sie Syslog in das Suchfeld ein. Wählen Sie aus den Ergebnissen den Connector Syslog via AMA aus.
    Für CEF geben Sie CEF in das Suchfeld ein. Wählen Sie aus 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 Konfiguration die Option + Datensammlungsregel erstellen aus.

    Screenshot der Seite für den Connector „Syslog über AMA“.

    Screenshot der Seite für den Connector „CEF über AMA“

  5. Auf der Registerkarte Basic:

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

    Screenshot der DCR-Details auf der Registerkarte „Grundlagen“

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

Definieren von VM-Ressourcen

Wählen Sie auf der Registerkarte Ressourcen die Computer aus, auf denen Sie den AMA installieren möchten – in diesem Fall Ihren Protokollweiterleitungscomputer. Wenn Ihre Protokollweiterleitung nicht in der Liste erscheint, ist möglicherweise der Azure Connected Machine-Agent nicht installiert.

  1. Verwenden Sie die verfügbaren Filter oder das Suchfeld, um nach ihrer VM für die Protokollweiterleitung zu suchen. Erweitern Sie ein Abonnement in der Liste, um seine Ressourcengruppen zu sehen, und eine Ressourcengruppe, um ihre VMs zu sehen.

  2. Wählen Sie die VM mit der Protokollweiterleitung, auf der Sie den AMA installieren möchten. Das Kontrollkästchen wird neben dem Namen der VM angezeigt, wenn Sie mit dem Mauszeiger darüber fahren.

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

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

Auswählen von Einrichtungen und Schweregraden

Beachten Sie, dass die Verwendung derselben Einrichtung für Syslog- und CEF-Nachrichten bei der Datenerfassung zu Duplizierungen führen kann. Weitere Informationen finden Sie unter Vermeidung von Duplizierungen bei der Datenerfassung.

  1. Wählen Sie auf der Registerkarte Sammeln den minimalen Protokollierungsgrad für jede Einrichtung. Wenn Sie eine Protokollebene auswählen, sammelt Microsoft Sentinel Protokolle für die ausgewählte Ebene und andere Ebenen mit höherem Schweregrad. Wenn Sie beispielsweise LOG_ERR auswählen, erfasst Microsoft Sentinel Protokolle für die EbenenLOG_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 abgeschlossen haben, überprüfen Sie, was Sie eingegeben haben, und erstellen Sie die Datensammlungsregel.

  1. Wählen Sie auf der Registerkarte Bewerten und erstellen die Option Erstellen aus.

    Screenshot der Überprüfung der Konfiguration des DCR und seiner Erstellung

    Der Connector installiert den Azure Monitor Agent auf den Computern, die Sie bei der Erstellung Ihrer DCR ausgewählt haben.

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

  3. Wählen Sie auf der Connectorseite Aktualisieren, um die DCR in der Liste anzuzeigen.

Ausführen des Skripts „installation“

Wenn Sie eine Protokollweiterleitung verwenden, konfigurieren Sie den Syslog-Daemon, um auf Nachrichten von anderen Computern zu lauschen und die erforderlichen lokalen Ports zu öffnen.

  1. Kopieren Sie auf der Connectorseite die Befehlszeile, die unter "Ausführen des folgenden Befehls" angezeigt wird, um den CEF-Sammler zu installieren und anzuwenden:

    Screenshot der Befehlszeile auf der Connectorseite

    Oder kopieren Sie sie von 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 bei der VM mit der Protokollweiterleitung an, auf der Sie gerade die AMA installiert haben.

  3. Fügen Sie den Befehl ein, den Sie im letzten Schritt kopiert haben, um das Installationsskript zu starten.
    Das Skript konfiguriert den rsyslog- oder syslog-ng-Daemon für die Verwendung des gewünschten Protokolls und startet den Daemon neu. Das Skript öffnet Port 514, um eingehende Nachrichten sowohl in UDP- als auch in TCP-Protokollen abzuhören. Um diese Einstellung zu ändern, sehen Sie in der Konfigurationsdatei des Syslog-Daemons nach, die dem auf dem Computer ausgeführten Daemon-Typ entspricht:

    • 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 Sie im eingefügten Befehl python3 mit python. Weitere Informationen finden Sie unter Voraussetzungen der Protokollweiterleitung.

    Hinweis

    Um Szenarien mit vollen Datenträgern zu vermeiden, bei denen der Agent nicht funktionieren kann, empfehlen wir, das Sie die Konfiguration von syslog-ng oder rsyslog so festlegen, dass nicht benötigte Protokolle nicht gespeichert werden. Ein Szenario mit vollem Datenträger unterbricht die Funktion des installierten AMA. Weitere Informationen finden Sie unter RSyslog oder Syslog-ng.

  4. Überprüfen Sie den Dienststatus.

    Überprüfen Sie den AMA-Dienststatus in Ihrer Protokollweiterleitung:

    sudo systemctl status azuremonitoragent.service
    

    Überprüfen Sie den Status des rsyslog-Diensts:

    sudo systemctl status rsyslog.service
    

    Überprüfen Sie bei syslog-ng-Umgebungen Folgendes:

    sudo systemctl status syslog-ng.service
    

Konfigurieren des Sicherheitsgeräts oder der Appliance

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

Wenn Sie weitere Informationen zu Ihrer Appliance oder Ihrem Gerät wünschen, wenden Sie sich an den Lösungsanbieter.

Testen des Connectors

Stellen Sie sicher, dass Protokollmeldungen von Ihrem Linux-Computer oder Sicherheitsgeräten und -Appliances in Microsoft Sentinel aufgenommen werden.

  1. Um zu überprüfen, ob der Syslog-Daemon am UDP-Port ausgeführt wird und ob der AMA lauscht, führen Sie den folgenden Befehl aus:

     netstat -lnptv
    

    Es sollte angezeigt werden, dass der Daemon rsyslog oder syslog-ng an Port 514 lauscht.

  2. Um Nachrichten zu erfassen, die von einer Protokollierung oder einem verbundenen Gerät gesendet werden, führen Sie diesen Befehl im Hintergrund aus:

    sudo tcpdump -i any port 514 or 28330 -A -vv &
    
  3. Nachdem Sie die Überprüfung abgeschlossen haben, beenden Sie tcpdump. Geben Sie fgein, und wählen Sie dann STRG+C aus.

Senden von Testnachrichten

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

  1. Verwenden Sie das nc Netcat-Hilfsprogramm. 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 an 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 Befehl logger. 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 Flags -t und --rfc3164 werden verwendet, um das erwartete RFC-Format einzuhalten.

    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 Erfassung von Cisco ASA 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, werden Nachrichten an Port 514 übermittelt und an Port 28330 weitergeleitet.

  3. Fragen Sie nach dem Senden von Testnachrichten Ihren Log Analytics-Arbeitsbereich ab. Protokolle können bis zu 20 Minuten dauern, bis sie in Ihrem Arbeitsbereich angezeigt werden.

Für CEF-Logs:

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

Für Cisco ASA-Protokolle:

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

Weitere Informationen zur Problembehandlung

Wenn der Datenverkehr an Port 514 nicht angezeigt wird oder Ihre Testnachrichten nicht verarbeitet werden, lesen Sie Troubleshoot Syslog und CEF via AMA-Connectors für Microsoft Sentinel, um Probleme zu beheben.