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 Aktualisierungen vordefinierter 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 Logstash Grok und die Konfigurationssyntax mit Filtern (z. B.
grok,mutate,json,dateundbase64) zur Aufnahmezeit, um Rohlogs in das einheitliche Datenmodell (Unified Data Model, UDM) zu parsen. Parser können keine YARA-L-Syntax, Ergebnisblöcke oder Generatorfunktionen (z. B.yield) verwenden. 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 einzelne Logeinträge, die mehrere eingebettete Ereignisse enthalten (z. B. JSON-Arrays oder verkettete Strings), nicht in separate UDM-Ereignisse aufgeteilt werden. Sie müssen Nutzlasten mit mehreren Ereignissen vor der Aufnahme aufteilen. Verwenden Sie dazu Pipelines für die Logerfassung 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 UDM-Ereignisgenerierung. 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 Roh-Repository 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 ein wichtiger geschäftlicher Bedarf besteht, 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 über das Log-Parsing.
- Weitere Informationen zur Parser-Syntax finden Sie unter 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 in das Parser Code Terminal ein. Weitere Informationen finden Sie unter Anleitung zum Erstellen einer Code-Snippet-Zuordnung.
Hinweis:Achten Sie darauf, dass Ihre benutzerdefinierte Parserlogik gültige, aktuelle Zeitstempel korrekt zuordnet und erzeugt. Wenn ein benutzerdefinierter Parser Zeitstempel fälschlicherweise einem Datum außerhalb Ihres Standardaufbewahrungszeitraums zuordnet, werden die Daten zwar erfolgreich aufgenommen, bleiben aber in der Benutzeroberfläche nicht durchsuchbar. Da für die Filterung in Suchfunktionen Event-Zeitstempel 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 filter“ 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 Optionen 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 die Erstellung eines neuen benutzerdefinierten Parsers 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 anzusehen. 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 Optionen Einstellungen > Parser aus.
Klicken Sie neben dem Parser, den Sie deaktivieren möchten, auf Menü und wählen Sie Deaktivieren aus der Liste aus.
Das Dialogfeld Parser deaktivieren 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 Optionen Einstellungen > Parser aus.
Klicken Sie auf das Menü neben dem benutzerdefinierten Parser, den Sie löschen möchten, 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 Parsererweiterung finden Sie unter Parsererweiterungen verwenden.
Überprüfungsstatus
In der Spalte „Validierung“ wird der Status des Validierungstests für den benutzerdefinierten Parser oder die Parser-Erweiterung angezeigt.
- Parser fehlgeschlagen: Validierung des benutzerdefinierten Parsers fehlgeschlagen
- Parservalidierung bestanden: Validierung des benutzerdefinierten Parsers erfolgreich
- Übersprungen: Der benutzerdefinierte Parser wurde nicht validiert
- Übersprungen für Erweiterung: Parser-Erweiterung wird nicht validiert
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten