Aufnahmevolumen optimieren
In dieser Anleitung wird erläutert, wie Sie das Aufnahmevolumen optimieren können, indem Sie sich auf die Konfiguration von Datenverarbeitungspipelines in Google Security Operations konzentrieren. Mit dieser Funktion können Sie Daten unabhängig von der Quelle einheitlich filtern, transformieren und entfernen, bevor sie vollständig aufgenommen werden. Diese Methode verbessert die Datenqualität und die Effizienz der Bedrohungserkennung.
Die Anleitung richtet sich an Sicherheitsexperten, Google SecOps-Analysten und Cloud-Administratoren, die die Logaufnahme in Google SecOps verwalten.
Die Aufnahme großer Mengen ungefilterter Logs kann Ihr Budget und Ihre Ressourcen belasten. Dies führt zu höheren Kosten, langsameren Such- und Analysefunktionen und einer höheren Wahrscheinlichkeit, dass Sicherheitsanalysten wichtige Benachrichtigungen in einer Flut irrelevanter Daten übersehen. Eine effektive Filterung ist entscheidend für eine kostengünstige und effiziente Google SecOps-Bereitstellung.
Hinweis
Achten Sie darauf, dass Sie die folgenden Voraussetzungen erfüllen:
- Eine IAM-Rolle (Identity and Access Management): entweder die vordefinierte Chronicle API-Rolle
Admin(roles/chronicle.admin) oder eine benutzerdefinierte Rolle mit einer der folgenden Berechtigungen:chronicle.logProcessingPipelines.*chronicle.logTypes.getchronicle.logTypes.listchronicle.feeds.getchronicle.feeds.listchronicle.logs.list
- Bindplane-Version: Sie benötigen die Bindplane Server Console-Version 1.96.4 oder höher.
- Für Bindplane Cloud wird die Workload Identity Federation (WIF) zur Authentifizierung unterstützt. Für selbst gehostete Bindplane-Bereitstellungen sind JSON-Schlüsselanmeldedaten für Dienstkonten erforderlich.
- Zugriff auf die Bindplane Management Console oder die Google SecOps Data Pipeline APIs, um die Prozessorknoten zu konfigurieren.
- Identifizieren Sie die genauen Felder, Logtypen und Bedingungen, die zum Konfigurieren von Filter-, Transform- und Redact-Prozessoren zur Volumenreduzierung erforderlich sind.
- Definieren Sie die Pipeline-Stream-Eingaben, indem Sie die spezifischen Logtypen, Collector-IDs (für Bindplane-Quellen) oder Feednamen (für Datenfeeds) abgleichen, die mit Ihren Aufnahmemethoden verknüpft sind.
- Wenn Sie Google Cloud Logs aufnehmen, definieren Sie die erforderlichen Logging-Exportfilter, um die Upstream-Filterung zu implementieren und so maximale Kosteneinsparungen zu erzielen, bevor die Daten die SecOps-Pipeline erreichen.
- Informationen zu Ihren Logdaten:
- Logs mit hohem Volumen oder geringem Wert identifizieren: Analysieren Sie Ihre aktuellen Aufnahmemesswerte, um herauszufinden, welche Logtypen und ‑quellen am meisten zu Volumen und Kosten beitragen. Weitere Informationen finden Sie unter Übersicht über Aufnahmemesswerte.
- Filterkriterien festlegen: Bestimmen Sie die spezifischen Felder, Werte, Muster (reguläre Ausdrücke) oder Bedingungen, mit denen sich Logs zuverlässig identifizieren lassen, die verworfen, transformiert oder entfernt werden sollen.
- Aufnahmemethoden kennen: Machen Sie sich mit der Aufnahme jeder Ziel-Protokollquelle vertraut (direkt, Bindplane, Feed, API), da dies sich auf die Konfiguration des Pipeline-Streams auswirkt.
Schlüsselterminologie
- Datenverarbeitungspipelines: Eine Funktion zum Filtern, Transformieren und Entfernen von Logdaten, sobald sie eingehen, bevor sie gespeichert und indexiert werden.
- Filter/Filterung: Die primäre Funktion zur Volumenoptimierung, mit der Bedingungen definiert werden, um Ereignisse selektiv zu verwerfen, die für die Sicherheitsanalyse nicht erforderlich sind.
- Transformieren: Eine Funktion zum Ändern von Logformaten für eine bessere Nutzbarkeit, z. B. zum Entfernen von voll qualifizierten Domainnamen (FQDNs) oder zum Löschen ausführlicher Felder in Ereignissen.
- Redact: Eine Funktion zum Maskieren oder vollständigen Entfernen vertraulicher Informationen aus Logs, bevor sie gespeichert werden, um die Compliance und den Datenschutz zu verbessern.
- Bindplane-Agent: Eine Aufnahmemethode für Logs, die von lokalen Systemen oder anderen Cloud-Systemen erfasst werden.
- Feeds: Eine Aufnahmemethode für Daten aus Quellen wie Cloud Storage, Amazon S3 oder APIs von Drittanbietern.
- Ingestion APIs: Eine Methode zum Senden benutzerdefinierter Logdaten, die die serverseitige Filterung mithilfe von Datenverarbeitungspipelines ermöglicht.
- Upstream-Filterung: Die empfohlene Best Practice zum Filtern von Google Cloud Logs an der Quelle mithilfe von Logging-Exportfiltern, um optimale Kosteneinsparungen zu erzielen.
- Streams: Ein bestimmter Datenfluss, definiert durch Logtyp und Aufnahmequelle (z. B. ein Feed oder eine API), der als Eingabe für eine Datenverarbeitungspipeline dient.
- Prozessorknoten: Eine Komponente in einer Pipeline, die einen oder mehrere Prozessoren (Filter-, Transform- oder Redact-Aktionen) enthält, die Daten sequenziell bearbeiten.
- Ziel: Der Endpunkt der Datenverarbeitungspipeline, in der Regel die Google SecOps-Instanz, an die verarbeitete Daten zur endgültigen Aufnahme und Analyse gesendet werden.
Datenverarbeitungspipelines zur Optimierung verwenden
Datenverarbeitungspipelines in Google SecOps bieten eine robuste Voranalyse-Kontrolle über den Datenaufnahmeprozess. Sie können Regeln und Aktionen definieren, die auf Logs angewendet werden, sobald sie eingehen, bevor sie gespeichert und indexiert werden. Weitere Informationen finden Sie unter Datenverarbeitungspipelines einrichten und verwalten.
Hauptfunktionen
- Filter:Dies ist der primäre Fokus für die Volumenoptimierung. Sie können Bedingungen mit Rohlog-Inhalten, Attributen oder regulären Ausdrücken definieren, um Ereignisse selektiv zu verwerfen, die für die Sicherheitsanalyse nicht erforderlich sind. Dies ist entscheidend, um Rauschen und Kosten zu reduzieren.
- Transformieren:Ändern Sie Logformate für eine bessere Nutzbarkeit oder entfernen Sie unnötige Daten in Ereignissen. Beispiele sind das Entfernen von FQDNs aus Hostnamen, das Parsen und Umstrukturieren von JSON-Nutzlasten oder das Löschen ausführlicher, aber irrelevanter Felder.
- Entfernen:Maskieren oder entfernen Sie vertrauliche Informationen wie personenbezogene Daten (PII) aus Logs, bevor sie gespeichert werden, um die Compliance- und Datenschutzanforderungen zu erfüllen.
Universelle Anwendbarkeit
Ein wichtiger Vorteil von Datenverarbeitungspipelines ist, dass sie auf Daten aus jeder Aufnahmemethode angewendet werden können. Dies bietet eine einheitliche Filterschicht für:
- Google Cloud Integrierte Logs
- Logs, die mit dem Bindplane-Agenten erfasst wurden
- Daten, die über Feeds eingehen
- Benutzerdefinierte Logs, die über die Ingestion APIs gesendet werden
Weitere Informationen finden Sie im Abschnitt Methodenspezifische Filterstrategien in dieser Anleitung.
Filterung mit Datenverarbeitungspipelines implementieren
Schritt 1: Pipeline einrichten
Sie können Datenverarbeitungspipelines entweder über die Bindplane Management Console oder mit den öffentlichen Google SecOps Data Pipeline APIs konfigurieren und verwalten. So können Sie Streams (Eingaben) definieren, Prozessorknoten (Filter, Transformieren, Entfernen) konfigurieren und die Pipeline-Bereitstellung verwalten.
Eine ausführliche Anleitung finden Sie unter Datenverarbeitungspipelines einrichten und verwalten.
Schritt 2: Prozessoren für die Filterung konfigurieren
In einer Pipeline können Sie einem Knoten Prozessoren hinzufügen. Um das Volumen zu reduzieren, sollten Sie hauptsächlich Filterprozessoren verwenden. Sie können diese Prozessoren so konfigurieren, dass Logs basierend auf Bedingungen oder regulären Ausdrücken verworfen werden. Benutzerdefinierte Pipeline-Bedingungen und -Anweisungen werden mit der OTTL-Syntax (OpenTelemetry Transformation Language) konfiguriert.
- Bedingungen:Felder oder Attribute in den Logdaten auswerten.
- Reguläre Ausdrücke:Muster im Roh-Logeintrag abgleichen.
- OTTL-Beispiel: Eine Beispielanweisung wäre
set(attributes["labels.myLabel.value"], "myValue").
Die Filterung ist zwar entscheidend, Sie können aber auch Transform-Prozessoren verwenden, um große, unnötige Felder aus den Logs zu entfernen, die Sie behalten, und Redact-Prozessoren, um vertrauliche Daten zu entfernen.
Schritt 3: Methodenspezifische Filterstrategien
In den folgenden Abschnitten wird erläutert, wie Sie die Filterung mit Datenverarbeitungspipelines für die einzelnen Hauptaufnahmetypen angehen.
Google Cloud -Logs
Upstream-Filterung (empfohlene Best Practice): Um optimale Kosteneinsparungen zu erzielen, empfiehlt Google, Google Cloud Logs an der Quelle mit Cloud Logging-Exportfiltern zu filtern. So wird verhindert, dass unerwünschte Logs überhaupt an Google SecOps gesendet werden. Bei Bedarf können Sie Datenverarbeitungspipelines für eine zusätzliche Filterung verwenden. Weitere Informationen finden Sie in der Anleitung Daten aufnehmen Google Cloud , insbesondere im Abschnitt Einstellungen für Exportfilter anpassen.
Pipeline-Anwendung: Konfigurieren Sie eine Datenverarbeitungspipeline und wählen Sie den entsprechenden Google Cloud Logtyp und die entsprechende Aufnahmemethode aus, entweder Direkt oder Cloud-nativ. Definieren Sie Filterprozessoren, um unerwünschte Logs basierend auf dem Inhalt zu verwerfen.
Bindplane-Agent
Logs, die vom Bindplane-Agenten von lokalen Systemen oder anderen Cloud-Systemen erfasst werden, können mit einer Datenverarbeitungspipeline gefiltert werden. Konfigurieren Sie den Stream so, dass er mit den Logtypen und Collector-IDs übereinstimmt, die mit Ihren Bindplane-Quellen verknüpft sind. Weitere Informationen finden Sie unter Bindplane mit Google SecOps verwenden.
Datenfeeds
Bei Daten, die mit Feeds aufgenommen werden (z. B. aus Cloud Storage, Amazon S3 oder APIs von Drittanbietern), können Sie Datenverarbeitungspipeline-Filter anwenden, indem Sie den Feednamen und den Logtyp auswählen, wenn Sie den Pipeline-Stream konfigurieren. Weitere Informationen finden Sie in der Anleitung Mit Feeds arbeiten.
Aufnahmemethoden der Chronicle API
Wenn Sie Daten mit den Aufnahmemethoden der Chronicle API senden, können Sie trotzdem Datenverarbeitungspipelines nutzen. Konfigurieren Sie den Pipeline-Stream so, dass er mit dem Logtyp übereinstimmt, den Sie in Ihren API-Aufrufen verwenden. So können Sie Ihre benutzerdefinierten Logstreams serverseitig filtern. Weitere Informationen finden Sie in der Anleitung Aufnahmemethoden der Chronicle API.
Best Practices
- Wenn möglich, Upstream-Filterung verwenden:Wie bereits erwähnt Google Cloud, sollten Sie Logs immer so nah wie möglich an der Quelle filtern. Dies ist der kostengünstigste Ansatz, da er den Aufwand für die Datenübertragung und ‑verarbeitung reduziert.
- Spezifisch sein:Beginnen Sie mit engen, genau definierten Filtern, um bekannte Logs mit hohem Volumen und geringem Wert auszuschließen. Vermeiden Sie zu weit gefasste Filter, die versehentlich nützliche Daten verwerfen könnten.
- Iterieren und verfeinern:Überprüfen Sie regelmäßig die Effektivität Ihrer Filter. Erfassen sie die richtigen Ereignisse? Gibt es neues Rauschen, das gefiltert werden muss?
- Filter dokumentieren:Notieren Sie, welche Filter vorhanden sind und warum, insbesondere bei komplexen regulären Ausdrücken oder bedingter Logik.
Überprüfung und Tests
- Tests:Sie sollten Ihre Filter zuerst in einer Nicht-Produktionsumgebung oder mit einer kleinen Teilmenge von Daten testen.
- Filter validieren:Verwenden Sie die Testfunktionen im Pipeline-Editor der Bindplane Console. So können Sie Beispiellogs eingeben und die Ausgabe nach Anwendung Ihrer Prozessoren sehen, um zu bestätigen, dass Ihre Filter wie erwartet funktionieren.
- Aufnahme überwachen:Beobachten Sie nach der Bereitstellung von Pipelines Ihre Aufnahme-Dashboards in Google SecOps, um die Auswirkungen auf Datenvolumen und Kosten zu sehen. Weitere Informationen finden Sie unter Übersicht über Aufnahmemesswerte.
- Konfigurationen ansehen:Sie können alle Konfigurationen in der Google SecOps-Benutzeroberfläche unter SIEM-Einstellungen > Datenverarbeitung ansehen.
- Externe Verwaltung: Sie können nach Konfigurationen suchen und auf "In Bindplane öffnen" klicken, um direkt zur Bindplane Console für die erweiterte Verwaltung zu gelangen.
Beschränkungen
- Dienstlimits:Zu komplexe reguläre Ausdrücke oder eine große Anzahl von Prozessoren pro Pipeline können die Leistung beeinträchtigen oder Limits unterliegen. Informationen zu den Google SecOps-Limits finden Sie unter Dienstlimits.
- Google SecOps-Pakete:Machen Sie sich mit den Funktionen und Möglichkeiten Ihres Google SecOps-Pakets vertraut. Weitere Informationen finden Sie unter Google SecOps-Pakete.
- Wiederverwendbarkeit:Eine Pipeline-Konfiguration für einen Logtyp oder eine Quelle kann zwar leistungsstark sein, ist aber möglicherweise nicht ohne Anpassungen für einen anderen Logtyp oder eine andere Quelle wiederverwendbar.
- Maximale Anzahl von Prozessoren:Definieren Sie maximal 10 Prozessoren pro Pipeline.
- Leistung regulärer Ausdrücke:Vermeiden Sie übermäßigen Abgleich regulärer Ausdrücke, da dies dazu führen kann, dass die Pipeline-Erstellung oder ‑Bereitstellung aufgrund von Zeitüberschreitungen fehlschlägt. Parsen Sie Daten lieber in JSON und filtern Sie nach bestimmten Feldern.
- Einschränkung der Streamzuordnung:Für verschiedene Feeds desselben Logtyps können zwar unterschiedliche Pipelines erstellt werden, dieselbe Streamdefinition (z.B. derselbe Feed oder derselbe Catch-all-Logtyp) kann jedoch nicht mit mehr als einer aktiven Pipeline verknüpft werden. Wenn Sie einen Logtyp auf Alle Aufnahmemethoden festlegen, fungiert dies als Catch-all und verhindert, dass andere Pipelines für bestimmte Feeds dieses Logtyps konfiguriert werden.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten