Benutzerdefinierte Parser konfigurieren
In diesem Dokument wird beschrieben, wie Sie benutzerdefinierte Parser erstellen, wenn kein vordefinierter Parser verfügbar ist oder Sie mehr Kontrolle benötigen. Benutzerdefinierte Parser werden zusammen mit den vordefinierten Parsern in der Parserliste angezeigt.
Zu den häufigsten Anwendungsfällen gehören:
Logdaten für einen Logtyp werden aufgenommen, für den kein vordefinierter Parser vorhanden ist.
Gehen Sie nach einer der folgenden Methoden vor:
Erstellen Sie einen benutzerdefinierten Parser, um Updates für integrierte Parser zu überspringen.
Einschränkungen und nicht unterstützte Vorgänge
Beachten Sie beim Erstellen und Verwalten benutzerdefinierter Parser die folgenden betrieblichen Grenzen:
- Parser-Syntax im Vergleich zu YARA-L-Erkennungsregeln: Ingestion-Parser und Parser-Erweiterungen verwenden die Logstash-Grok- und Konfigurationssyntax mit Filtern (z. B.
grok,mutate,json,dateundbase64) zur Aufnahmezeit, um Rohlogs in das Unified Data Model (UDM) zu parsen. Parser können keine YARA-L-Syntax, Ergebnisblöcke oder Generatorfunktionen wieyieldverwenden. YARA-L 2.0 ist ausschließlich eine Abfragesprache für die Erkennungs-Engine, die nachgelagert für normalisierte UDM-Ereignisse zur Bedrohungsbenachrichtigung ausgewertet wird. Sie kann keine Rohlogs parsen, UDM-Felder ändern oder eingehenden Log-Traffic verwerfen. - 1:1-Aufnahmemodell: Benutzerdefinierte Google SecOps-Parser arbeiten ausschließlich mit einem 1:1-Verhältnis. Mit benutzerdefinierten Parsern können Sie einen einzelnen Logeintrag mit mehreren eingebetteten Ereignissen (z. B. JSON-Arrays oder verkettete Strings) nicht in separate UDM-Ereignisse aufteilen. Sie müssen Nutzlasten mit mehreren Ereignissen vor der Aufnahme aufteilen. Verwenden Sie dazu Pipelines für die Protokollerfassung wie BindPlane OP, OpenTelemetry Collector, Fluent Bit oder eine Cloud Run-Funktion vor der Aufnahme.
drop {}-Filterverhalten: Derdrop {}-Filter in einem Parser unterdrückt nur die Generierung von UDM-Ereignissen. Wenn ein Parser ein Log verwirft, wird in Google SecOps kein UDM-Datensatz erstellt und Erkennungsregeln können das Ereignis nicht auswerten. Google SecOps behält jedoch das ursprüngliche Rohlog im unveränderlichen Rohrepository für Compliance- und Audit-Aufbewahrungszwecke bei. Das Rohlog kann weiterhin über die Rohlogsuche durchsucht werden. Wenn Sie Protokolle vor der Speicherung verwerfen möchten, konfigurieren Sie die Filterung im Upstream in Ihrem Forwarder oder Collector.- Standardmäßig nur Vorwärts-Parsing: Wenn Sie einen benutzerdefinierten Parser aktivieren, wird er nur auf neu aufgenommene Logs ab dem Zeitpunkt der Aktivierung angewendet. Wenn es einen wichtigen geschäftlichen Bedarf gibt, benutzerdefinierte Parserzuordnungen auf vorhandene Verlaufslogs anzuwenden, können Sie eine Log Replay-Aufgabe im Backend anfordern. Weitere Informationen finden Sie unter Verlaufsdaten neu parsen (Log Replay).
Benutzerdefinierten Parser auf Grundlage von Zuordnungsanweisungen erstellen
Sie können einen benutzerdefinierten Parser erstellen, indem Sie Code schreiben, der das ursprüngliche Rohlog in einen UDM-Datensatz konvertiert.
Weitere Informationen:
- Weitere Informationen zur Struktur eines Parsers finden Sie unter Übersicht zum Parsen von Logs.
- Weitere Informationen zur Parser-Syntax finden Sie in der Parser-Syntaxreferenz.
Beim Erstellen eines Parsers sollten Sie so viele wichtige UDM-Felder wie möglich ausfüllen.
Gehen Sie zu Einstellungen.
Rufen Sie die SIEM-Einstellungen auf.
Klicken Sie auf Parser erstellen.
Wählen Sie in der Liste Log Source (Protokollquelle) eine geeignete Protokollquelle aus.
Wählen Sie Nur mit Rohlogs beginnen aus, um einen neuen Parser nach Ihren Anforderungen zu erstellen.
Klicken Sie auf Erstellen.
Geben Sie den Code im Parser Code Terminal ein. Weitere Informationen finden Sie unter Anleitung zum Erstellen einer Code-Snippet-Zuordnung.
Hinweis:Achten Sie darauf, dass in Ihrer benutzerdefinierten Parserlogik gültige, aktuelle Zeitstempel richtig zugeordnet und erstellt werden. Wenn ein benutzerdefinierter Parser Zeitstempel fälschlicherweise einem Datum außerhalb des Standardaufbewahrungszeitraums zuordnet, werden die Daten zwar aufgenommen, bleiben aber in der Benutzeroberfläche nicht durchsuchbar. Da für Suchfunktionen Event-Zeitstempel zum Filtern verwendet werden, sind Daten, die einem falschen Datum zugeordnet sind, trotz erfolgreicher Aufnahme nicht sichtbar.
Optional: Klicken Sie auf Bearbeiten, um das vorhandene Rohprotokoll oder die Kopie zu bearbeiten.
Optional: Klicken Sie auf Laden, um das aktuelle Rohlog zu laden.
Klicken Sie auf Vorschau, um die UDM-Ausgabe aufzurufen. Wenn der Code falsch ist, wird eine Fehlermeldung angezeigt.
In der Vorschau können Sie das Plug-in „statedump“ verwenden, um den internen Status eines Parsers zu validieren. Weitere Informationen finden Sie unter Daten mit dem statedump-Plug-in validieren.
Klicken Sie auf Validieren, um den benutzerdefinierten Parser zu validieren.
Die Validierung kann einige Minuten dauern. Wir empfehlen daher, zuerst eine Vorschau des benutzerdefinierten Parsers aufzurufen, bei Bedarf Änderungen vorzunehmen und den benutzerdefinierten Parser dann zu validieren.
Klicken Sie auf Senden.
Der Parser wird nach 20 Minuten für den Normalisierungsprozess aktiviert.
Benutzerdefinierten Parser auf Grundlage eines vorhandenen Parsers erstellen
Verwenden Sie einen vorhandenen Parser als Vorlage, um einen neuen benutzerdefinierten Parser zu erstellen. Diese Methode unterstützt nur den codebasierten Ansatz. So funktionierts:
Wählen Sie im Anwendungsmenü die Option Einstellungen > Parser aus.
Klicken Sie auf Parser erstellen.
Wählen Sie in der Liste Log Source (Protokollquelle) eine geeignete Protokollquelle aus.
Wählen Sie Mit einem vorhandenen vordefinierten Parser beginnen aus, um einen vorhandenen Parser als Grundlage für einen neuen benutzerdefinierten Parser zu verwenden.
Klicken Sie auf Erstellen.
Bearbeiten Sie den Code im Parser Code Terminal. Weitere Informationen finden Sie unter Anleitung zum Erstellen einer Code-Snippet-Zuordnung.
Optional: Klicken Sie auf Bearbeiten, um das Rohprotokoll zu bearbeiten.
Optional: Klicken Sie auf Aktualisieren, um das Rohlog zu aktualisieren.
Wenn Sie Code zum Erstellen des Parsers hinzufügen, klicken Sie auf Vorschau, um die UDM-Ausgabe aufzurufen. Wenn der Code falsch ist, wird eine Fehlermeldung angezeigt.
In der Vorschau können Sie das Plug-in „statedump“ verwenden, um den internen Status eines Parsers zu validieren. Weitere Informationen finden Sie unter Daten mit dem statedump-Plug-in validieren.
Klicken Sie auf Validieren, um den benutzerdefinierten Parser zu validieren.
Die Validierung kann einige Minuten dauern. Wir empfehlen daher, zuerst eine Vorschau des benutzerdefinierten Parsers aufzurufen, bei Bedarf Änderungen vorzunehmen und den benutzerdefinierten Parser dann zu validieren.
Klicken Sie auf Senden.
Der Parser wird nach 20 Minuten für den Normalisierungsprozess aktiviert.
Benutzerdefinierten Parser deaktivieren
Wählen Sie im Anwendungsmenü die Option Einstellungen > Parser aus.
Klicken Sie neben dem Parser, den Sie inaktivieren möchten, auf das Menü und wählen Sie Inaktivieren aus der Liste aus.
Das Dialogfeld Parser inaktivieren wird angezeigt.
Klicken Sie auf Inaktivieren.
Der benutzerdefinierte Parser wird deaktiviert und die aktuelle Version des vordefinierten Parsers wird nach 20 Minuten aktiviert. Der vordefinierte Parser wird jetzt zum Standardparser.
Benutzerdefinierten Parser löschen
Wählen Sie im Anwendungsmenü die Option Einstellungen > Parser aus.
Klicken Sie bei dem benutzerdefinierten Parser, den Sie löschen möchten, auf das Menü und wählen Sie Löschen aus der Liste aus. Hinweis: Vorgefertigte Parser können nicht gelöscht werden.
Das Dialogfeld Benutzerdefinierten Parser löschen wird angezeigt.
Klicken Sie auf Löschen.
Der benutzerdefinierte Parser wird gelöscht und die aktuelle Version des vordefinierten Parsers wird nach 20 Minuten aktiviert.
Erweiterung erstellen
Parsererweiterungen bieten eine flexible Möglichkeit, die Funktionen vorhandener benutzerdefinierter Parser zu erweitern. Sie ersetzen keine benutzerdefinierten Parser. Stattdessen ermöglichen sie die nahtlose Extraktion zusätzlicher Felder aus dem ursprünglichen Rohlog in den UDM-Datensatz. Eine Parsererweiterung unterscheidet sich von einem benutzerdefinierten Parser.
Informationen zum Erstellen einer Parser-Erweiterung finden Sie unter Parser-Erweiterungen verwenden.
Überprüfungsstatus
In der Spalte „Validierung“ wird der Status des Validierungstests für den benutzerdefinierten Parser oder die Parser-Erweiterung angezeigt.
- Parser fehlgeschlagen: Benutzerdefinierte Parser-Validierung fehlgeschlagen
- Parservalidierung bestanden: Validierung des benutzerdefinierten Parsers erfolgreich
- Übersprungen: Der benutzerdefinierte Parser wurde nicht validiert.
- Übersprungen für Erweiterung: Parser-Erweiterung ist nicht validiert
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten