Aufnahmevolumen optimieren
In diesem Leitfaden wird beschrieben, wie Sie das Aufnahmevolumen optimieren, indem Sie sich auf die Konfiguration von Google Security Operations-Datenverarbeitungspipelines konzentrieren. Diese Funktion bietet eine einheitliche Möglichkeit, Daten zu filtern, zu transformieren und zu anonymisieren, bevor sie vollständig aufgenommen werden, unabhängig von der Quelle. Diese Methode verbessert die Datenqualität und die Effizienz der Bedrohungserkennung.
Dieser Leitfaden richtet sich an Sicherheitsexperten, Google SecOps-Analysten und Cloud-Administratoren, die die Aufnahme von Logs 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 kritische Benachrichtigungen inmitten 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 Folgendes haben oder tun:
- Eine IAM-Rolle (Identity and Access Management): entweder die vordefinierte Rolle „Chronicle API“
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-Konsole Version 1.96.4 oder höher.
- Für Bindplane Cloud wird die Identitätsföderation von Arbeitslasten (Workload Identity Federation, WIF) zur Authentifizierung unterstützt. Für selbst gehostete Bindplane-Bereitstellungen sind Anmeldedaten für den JSON-Schlüssel des Dienstkontos erforderlich.
- Zugriff auf die Bindplane Management Console oder die Google SecOps Data Pipeline APIs zum Konfigurieren der Prozessorknoten.
- Die genauen Felder, Logtypen und Bedingungen ermitteln, die zum Konfigurieren von Prozessoren für Filter, Transformation und Anonymisierung zur Volumenreduzierung erforderlich sind.
- Definieren Sie Pipeline-Stream-Eingaben, indem Sie die spezifischen Log-Typen, Collector-IDs (für Bindplane-Quellen) oder Feednamen (für Datenfeeds) abgleichen, die mit Ihren Erfassungsmethoden verknüpft sind.
- Wenn Sie Google Cloud -Logs aufnehmen, definieren Sie die erforderlichen Logging-Exportfilter, um Upstream-Filterung für maximale Kosteneinsparungen zu implementieren, bevor Daten die SecOps-Pipeline erreichen.
- Logdaten analysieren:
- Logs mit hohem Volumen oder niedrigem Wert identifizieren: Analysieren Sie Ihre aktuellen Aufnahme-Messwerte, um herauszufinden, welche Logtypen und ‑quellen am meisten zu Volumen und Kosten beitragen. Weitere Informationen finden Sie unter Messwerte für die Aufnahme – Übersicht.
- Filterkriterien festlegen: Legen Sie die spezifischen Felder, Werte, Muster (reguläre Ausdrücke) oder Bedingungen fest, mit denen sich Protokolle, die gelöscht, transformiert oder unkenntlich gemacht werden sollen, zuverlässig identifizieren lassen.
- Aufnahmemethoden kennen: Sie müssen wissen, wie die einzelnen Ziel-Protokollquellen aufgenommen werden (direkt, Bindplane, Feed, API), da dies sich auf die Konfiguration des Pipelinestreams auswirkt.
Schlüsselterminologie
- Pipelines zur Datenverarbeitung: Eine Funktion zum Filtern, Transformieren und Entfernen von Protokolldaten, sobald sie eingehen, bevor sie gespeichert und indexiert werden.
- Filter/Filtern: Die primäre Funktion zur Volumenoptimierung, mit der Bedingungen definiert werden, um Ereignisse, die für die Sicherheitsanalyse nicht erforderlich sind, selektiv zu verwerfen.
- Transformieren: Eine Funktion zum Ändern von Logformaten, um die Benutzerfreundlichkeit zu verbessern, z. B. durch Entfernen von voll qualifizierten Domainnamen (FQDN) oder Löschen ausführlicher Felder in Ereignissen.
- Redact: Mit dieser Funktion können sensible Informationen in Protokollen maskiert oder vollständig entfernt werden, bevor sie gespeichert werden. So wird die Einhaltung von Vorschriften und der Datenschutz unterstützt.
- BindPlane-Agent: Eine Methode zum Erfassen von Logs, die von lokalen Systemen oder anderen Cloud-Systemen erfasst werden.
- Feeds: Eine Methode zum Erfassen von Daten aus Quellen wie Cloud Storage, Amazon S3 oder Drittanbieter-APIs.
- Aufnahme-APIs: Eine Methode zum Senden benutzerdefinierter Logdaten, die serverseitige Filterung mithilfe von Datenverarbeitungspipelines ermöglicht.
- Upstream-Filterung: Die empfohlene Best Practice zum Filtern von Google Cloud Logs an der Quelle mit Logging-Exportfiltern für optimale Kosteneinsparungen.
- Streams: Ein bestimmter Datenfluss, der durch den Logtyp und die Erfassungsquelle (z. B. ein Feed oder eine API) definiert wird und als Eingabe für eine Datenverarbeitungs-Pipeline dient.
- Verarbeitungsknoten: Eine Komponente in einer Pipeline, die einen oder mehrere Prozessoren (Filter-, Transformations- oder Bereinigungsaktionen) 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 Vorab-Parsing-Kontrolle über den Prozess der Datenaufnahme. Damit können Sie 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:Das ist der primäre Fokus für die Volumenoptimierung. Sie können Bedingungen mit rohem Protokollinhalt, Attributen oder regulären Ausdrücken definieren, um Ereignisse, die für die Sicherheitsanalyse nicht erforderlich sind, selektiv zu verwerfen. Das ist wichtig, um Rauschen und Kosten zu reduzieren.
- Transformieren:Ändern Sie Logformate, um die Benutzerfreundlichkeit zu verbessern oder unnötige Daten in Ereignissen zu entfernen. Beispiele hierfür sind das Entfernen von FQDNs aus Hostnamen, das Parsen und Umstrukturieren von JSON-Nutzlasten oder das Löschen ausführlicher, aber irrelevanter Felder.
- Unkenntlich machen:Maskieren oder entfernen Sie vertrauliche Informationen wie personenidentifizierbare Informationen aus Protokollen, bevor sie gespeichert werden. So können Sie Compliance- und Datenschutzanforderungen besser erfüllen.
Universelle Anwendbarkeit
Ein wichtiger Vorteil von Datenverarbeitungspipelines ist, dass sie auf Daten aus jeder Erfassungsmethode angewendet werden können. So wird eine einheitliche Filterschicht für Folgendes bereitgestellt:
- Integrierte Logs vonGoogle Cloud
- Mit dem BindPlane-Agenten erfasste Logs
- Über Feeds importierte Daten
- Benutzerdefinierte Logs, die über die Ingestion APIs gesendet werden
Weitere Informationen finden Sie in diesem Leitfaden im Abschnitt Methodenspezifische Filterstrategien.
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. Damit können Sie Streams (Eingaben) definieren, Prozessorknoten (Filter, Transformieren, Schwärzen) konfigurieren und die Pipelinebereitstellung verwalten.
Eine ausführliche Anleitung zur Einrichtung finden Sie unter Datenverarbeitungspipelines einrichten und verwalten.
Schritt 2: Prozessoren für die Filterung konfigurieren
Innerhalb einer Pipeline können Sie einem Knoten Prozessoren hinzufügen. Um das Volumen zu reduzieren, sollten Sie in erster Linie Filterprozessoren verwenden. Sie können diese Prozessoren so konfigurieren, dass Logs anhand von Bedingungen oder regulären Ausdrücken verworfen werden. Sie konfigurieren benutzerdefinierte Pipelinebedingungen und ‑anweisungen mit der OTTL-Syntax (OpenTelemetry Transformation Language).
- Bedingungen:Felder oder Attribute in den Logdaten werden ausgewertet.
- Reguläre Ausdrücke:Muster in der Rohprotokollnachricht abgleichen.
- OTTL-Beispiel:Ein Beispiel für eine Aussage wäre
set(attributes["labels.myLabel.value"], "myValue").
Das Filtern ist zwar wichtig, aber Sie können 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 beschrieben, wie Sie die Filterung mit Datenverarbeitungs-Pipelines 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 Datenverarbeitungs-Pipelines für zusätzliche Filter verwenden. Weitere Informationen finden Sie im Leitfaden zum Erfassen von Google Cloud -Daten, insbesondere im Abschnitt Exporteinstellungen anpassen.
Pipelineanwendung:Konfigurieren Sie eine Datenverarbeitungs-Pipeline und wählen Sie den entsprechenden Google Cloud Logtyp und die entsprechende Aufnahmemethode aus, entweder Direkt oder Cloud-nativ. Filterprozessoren definieren, um unerwünschte Logs anhand des Inhalts zu verwerfen.
Bindplane-Agent
Logs, die vom Bindplane-Agent aus 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 Ihren Bindplane-Quellen zugeordnet sind. Weitere Informationen finden Sie unter Bindplane mit Google SecOps verwenden.
Datenfeeds
Bei Daten, die über Feeds aufgenommen werden (z. B. aus Cloud Storage, Amazon S3 oder Drittanbieter-APIs), können Sie Filter für die Datenverarbeitungspipeline anwenden, indem Sie den Feednamen und den Logtyp bei der Konfiguration des Pipelinestreams auswählen. Weitere Informationen finden Sie im Leitfaden Mit Feeds arbeiten.
Ingestion APIs
Wenn Sie Daten über die Ingestion API senden, können Sie weiterhin Datenverarbeitungspipelines nutzen. Konfigurieren Sie den Pipeline-Stream so, dass er dem Logtyp entspricht, den Sie in Ihren API-Aufrufen verwenden. So können Ihre benutzerdefinierten Logstreams serverseitig gefiltert werden. Weitere Informationen finden Sie im Leitfaden zur Ingestion API.
Best Practices
- Wenn möglich, Upstream filtern:Wie bereits für Google Clouderwähnt, sollten Logs immer so nah wie möglich an der Quelle gefiltert werden. Dies ist der kostengünstigste Ansatz, da er den Aufwand für die Datenübertragung und ‑verarbeitung reduziert.
- Spezifisch sein:Beginnen Sie mit eingegrenzten, genau definierten Filtern, um bekannte Logs mit hohem Volumen und niedrigem Wert auszuschließen. Vermeiden Sie zu weit gefasste Filter, die versehentlich nützliche Daten herausfiltern könnten.
- Iterieren und optimieren:Überprüfen Sie regelmäßig die Effektivität Ihrer Filter. Werden die richtigen Ereignisse erfasst? Gibt es neue Geräusche, die gefiltert werden müssen?
- Filter dokumentieren:Notieren Sie sich, welche Filter vorhanden sind und warum, insbesondere bei komplexen regulären Ausdrücken oder bedingter Logik.
Überprüfung und Tests
- Testen: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 Beispiel-Logs eingeben und die Ausgabe nach der Anwendung Ihrer Prozessoren ansehen, um zu prüfen, ob Ihre Filter wie erwartet funktionieren.
- Aufnahme überwachen:Nachdem Sie Pipelines bereitgestellt haben, sollten Sie die Aufnahme-Dashboards in Google SecOps im Blick behalten, um die Auswirkungen auf Datenvolumen und Kosten zu beobachten. Weitere Informationen finden Sie unter Messwerte für die Aufnahme – Übersicht.
- Konfigurationen ansehen:Sie können alle Konfigurationen in der Google SecOps-Benutzeroberfläche unter SIEM Settings > Data Processing (SIEM-Einstellungen > Datenverarbeitung) ansehen.
- Externe Verwaltung:Sie können nach Konfigurationen suchen und auf In Bindplane öffnen klicken, um direkt zur Bindplane-Konsole 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 sich auf die Leistung auswirken oder unterliegen möglicherweise Limits. Die 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 Pipelinekonfiguration für einen Logtyp oder eine Quelle ist zwar leistungsstark, lässt sich aber möglicherweise nicht ohne Anpassungen direkt für einen anderen Logtyp oder eine andere Quelle wiederverwenden.
- Maximale Anzahl von Prozessoren:Sie können maximal 10 Prozessoren pro Pipeline definieren.
- Regex-Leistung:Vermeiden Sie übermäßigen Abgleich regulärer Ausdrücke, da dies aufgrund von Zeitüberschreitungen dazu führen kann, dass die Pipeline-Erstellung oder ‑Bereitstellung fehlschlägt. Es empfiehlt sich, Daten in JSON zu parsen und nach bestimmten Feldern zu filtern.
- Einschränkung für 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 mehr als einer aktiven Pipeline zugeordnet werden. Wenn Sie einen Logtyp auf Alle Erfassungsmethoden festlegen, wird 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