Aufnahmevolumen optimieren
In diesem Leitfaden wird erläutert, wie Sie das Aufnahmevolumen optimieren können, indem Sie sich auf die Konfiguration von Datenverarbeitungspipelines in Google Security Operations konzentrieren. Diese Funktion bietet eine einheitliche Möglichkeit, Daten vor der vollständigen Aufnahme zu filtern, zu transformieren und zu entfernen, unabhängig von der Quelle. Diese Methode verbessert die Datenqualität und die Effizienz der Bedrohungserkennung.
Der Leitfaden richtet sich an Sicherheitstechniker, 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. Das führt zu höheren Kosten, langsameren Such- und Analysefunktionen und einer höheren Wahrscheinlichkeit, dass Sicherheitsanalysten wichtige Warnungen in einer Flut irrelevanter Daten übersehen. Eine effektive Filterung ist für eine kostengünstige und effiziente Google SecOps-Bereitstellung entscheidend.
Hinweis
Folgende Voraussetzungen müssen erfüllt sein:
- 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-Konsole in der 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 JSON-Schlüsselanmeldedaten für Dienstkonten erforderlich.
- Zugriff auf die Bindplane-Verwaltungskonsole oder die Google SecOps Data Pipeline APIs, um die Prozessorknoten zu konfigurieren.
- Genaue Felder, Logtypen und Bedingungen identifizieren, die zum Konfigurieren von Filter-, Transform- und Redact-Prozessoren für die Volumenreduzierung erforderlich sind
- Definieren Sie Pipeline-Stream-Eingaben, indem Sie die spezifischen Logtypen, Collector-IDs (für Bindplane-Quellen) oder Feednamen (für Datenfeeds) abgleichen, die Ihren Aufnahmemethoden zugeordnet sind.
- Wenn Sie Google Cloud -Logs aufnehmen, definieren Sie die erforderlichen Logging-Exportfilter, um eine vorgelagerte Filterung zu implementieren und so maximale Kosteneinsparungen zu erzielen, bevor die Daten die SecOps-Pipeline erreichen.
- Logdaten auswerten:
- 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 (Regex) oder Bedingungen, mit denen Logs, die verworfen, transformiert oder unkenntlich gemacht werden sollen, zuverlässig identifiziert werden können.
- Aufnahmemethoden kennen: Sie müssen wissen, wie die einzelnen Zielprotokollquellen aufgenommen werden (Direct, Bindplane, Feed, API), da sich dies auf die Konfiguration des Pipeline-Streams auswirkt.
Schlüsselterminologie
- Datenverarbeitungspipelines: Eine Funktion, mit der Logdaten beim Eintreffen gefiltert, transformiert und entfernt werden, bevor sie gespeichert und indexiert werden.
- Filter/Filtern: Die wichtigste Funktion zur Volumenoptimierung. Hier werden Bedingungen definiert, um Ereignisse, die für die Sicherheitsanalyse nicht erforderlich sind, selektiv zu verwerfen.
- Transformieren: Eine Funktion, mit der Logformate für eine bessere Nutzerfreundlichkeit geändert werden können, z. B. durch Entfernen von voll qualifizierten Domainnamen (FQDN) oder Löschen von ausführlichen Feldern in Ereignissen.
- Redact: Eine Funktion, mit der sensible Informationen in Protokollen maskiert oder vollständig entfernt werden, bevor sie gespeichert werden. Dies trägt zur Einhaltung von Compliance- und Datenschutzanforderungen bei.
- Bindplane-Agent: Eine Methode zur Aufnahme von Logs, die von lokalen Systemen oder anderen Cloud-Systemen erfasst wurden.
- Feeds: Eine Aufnahmemethode für Daten, die aus Quellen wie Cloud Storage, Amazon S3 oder Drittanbieter-APIs stammen.
- Ingestion APIs: Eine Methode zum Senden benutzerdefinierter Logdaten, die eine serverseitige Filterung mithilfe von Datenverarbeitungspipelines ermöglicht.
- Upstream-Filterung: Die empfohlene Best Practice, Google Cloud -Logs an der Quelle mithilfe von Logging-Exportfiltern zu filtern, um optimale Kosteneinsparungen zu erzielen.
- Streams: Ein bestimmter Datenfluss, der durch Logtyp und Aufnahmequelle (z. B. Feed oder API) definiert ist und als Eingabe für eine Datenverarbeitungspipeline dient.
- Prozessorknoten: Eine Komponente innerhalb einer Pipeline, die einen oder mehrere Prozessoren (Filter-, Transformations- oder Redaktionsaktionen) 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 Kontrolle über den Datenaufnahmeprozess vor dem Parsen. Mit ihnen 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.
Wichtigste Neuerungen
- Filter: Das ist der wichtigste Bereich für die Lautstärkeoptimierung. Sie können Bedingungen mithilfe von Rohprotokollinhalten, Attributen oder regulären Ausdrücken definieren, um Ereignisse, die für die Sicherheitsanalyse nicht erforderlich sind, selektiv zu verwerfen. Das ist entscheidend, um Störungen und Kosten zu reduzieren.
- Transformieren: Logformate ändern, um die Nutzerfreundlichkeit 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.
- Entfernen: Maskieren oder entfernen Sie sensible Informationen wie personenidentifizierbare Informationen vollständig aus Protokollen, bevor sie gespeichert werden. Dies hilft bei der Einhaltung von Compliance- und Datenschutzanforderungen.
Universelle Anwendbarkeit
Ein wesentlicher Vorteil von Datenverarbeitungspipelines ist, dass sie auf Daten aus jeder Aufnahmemethode angewendet werden können. Dies bietet eine einheitliche Filterebene für:
- IntegrierteGoogle Cloud -Logs
- Mit dem Bindplane-Agent erfasste Logs
- Über Feeds importierte Daten
- Benutzerdefinierte Logs, die über die Ingestion APIs gesendet werden
Weitere Informationen finden Sie im Abschnitt Methodenspezifische Filterstrategien in diesem Leitfaden.
Filterung mit Datenverarbeitungspipelines implementieren
Schritt 1: Pipeline einrichten
Sie können Datenverarbeitungspipelines entweder über die Bindplane-Verwaltungskonsole oder über die öffentlichen Google SecOps Data Pipeline APIs konfigurieren und verwalten. Sie können damit Streams (Eingaben) definieren, Prozessorknoten (Filter, Transform, Redact) konfigurieren und die Pipelinebereitstellung verwalten.
Eine umfassende Anleitung zur Einrichtung 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. Wenn Sie das Volumen reduzieren möchten, 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. Sie konfigurieren benutzerdefinierte Pipelinebedingungen und ‑anweisungen mit der OTTL-Syntax (OpenTelemetry Transformation Language).
- Bedingungen: Felder oder Attribute in den Protokolldaten werden ausgewertet.
- Reguläre Ausdrücke: Übereinstimmende Muster im Roh-Logeintrag.
- OTTL-Beispiel: Eine Beispielanweisung 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 sensible 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): Für optimale Kosteneinsparungen empfiehlt Google, Google Cloud -Logs an der Quelle mithilfe von 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 zusätzliche Filter verwenden. Weitere Informationen finden Sie im Leitfaden zum Aufnehmen von Google Cloud -Daten, 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 Aufnahmemethode aus, entweder Direkt oder Cloud-nativ. Filterprozessoren definieren, um unerwünschte Logs anhand des Inhalts zu verwerfen.
Bindplane-Agent
Logs, die vom Bindplane-Agenten aus lokalen Systemen oder anderen Cloud-Systemen erfasst werden, können mithilfe einer Datenverarbeitungspipeline gefiltert werden. Konfigurieren Sie den Stream so, dass er den Logtypen und Collector-IDs entspricht, die Ihren Bindplane-Quellen zugeordnet sind. Weitere Informationen finden Sie unter Bindplane mit Google SecOps verwenden.
Datenfeeds
Für Daten, die über Feeds aufgenommen werden (z. B. aus Cloud Storage, Amazon S3 oder APIs von Drittanbietern), können Sie Filter für die Datenverarbeitungspipeline anwenden, indem Sie beim Konfigurieren des Pipeline-Streams den Feednamen und den Logtyp auswählen. Weitere Informationen finden Sie im Leitfaden Mit Feeds arbeiten.
Methoden zur Datenaufnahme über die Chronicle API
Wenn Sie Daten mit den Chronicle API-Aufnahmemethoden 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. Dadurch können Ihre benutzerdefinierten Logstreams serverseitig gefiltert werden. Weitere Informationen finden Sie im Leitfaden zu den Chronicle API-Aufnahmemethoden.
Best Practices
- Nach Möglichkeit vorgelagert filtern: Wie 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.
- Seien Sie spezifisch: Beginnen Sie mit engen, klar 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 optimieren: Überprüfen Sie regelmäßig die Wirksamkeit Ihrer Filter. Werden die richtigen Ereignisse erfasst? Gibt es neue Geräusche, die herausgefiltert werden müssen?
- Filter dokumentieren: Halten Sie fest, 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 Anwendung der Prozessoren sehen, um zu prüfen, ob Ihre Filter wie erwartet funktionieren.
- Aufnahme überwachen: Überwachen Sie nach der Bereitstellung von Pipelines Ihre Aufnahme-Dashboards in Google SecOps, um die Auswirkungen auf das Datenvolumen und die Kosten zu beobachten. Weitere Informationen finden Sie unter Übersicht über Aufnahmemesswerte.
- Konfigurationen ansehen: Sie können alle Konfigurationen in der Google SecOps-Benutzeroberfläche unter Einstellungen > Datenverwaltung > Datenverarbeitung aufrufen.
- 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 die Leistung beeinträchtigen oder Limits unterliegen. Informationen zu den Google SecOps-Limits finden Sie unter Dienstlimits.
- Google SecOps-Pakete: Informieren Sie sich über die Funktionen und Möglichkeiten Ihres Google SecOps-Pakets. Weitere Informationen finden Sie unter Google SecOps-Pakete.
- Wiederverwendbarkeit: Eine Pipelinekonfiguration für einen Logtyp oder eine Logquelle ist zwar leistungsstark, kann aber möglicherweise nicht ohne Anpassungen direkt für einen anderen Logtyp oder eine andere Logquelle wiederverwendet werden.
- Maximale Anzahl von Prozessoren: Sie können maximal 10 Prozessoren pro Pipeline definieren.
- Regex-Leistung: Vermeiden Sie übermäßige Abgleiche mit regulären Ausdrücken, da dies aufgrund von Zeitüberschreitungen zu Fehlern bei der Pipeline-Erstellung oder -Bereitstellung führen kann. Bevorzugen Sie das Parsen von Daten in JSON und das Filtern nach bestimmten Feldern.
- Einschränkung für die Stream-Verknüpfung: Für verschiedene Feeds desselben Logtyps können zwar unterschiedliche Pipelines erstellt werden, aber dieselbe Stream-Definition (z.B. derselbe Feed oder derselbe Logtyp-Catch-All) kann nicht mit mehr als einer aktiven Pipeline verknüpft werden. Wenn Sie einen Logtyp auf Alle Aufnahmemethoden festlegen, werden alle Logs erfasst und es können keine anderen Pipelines für bestimmte Feeds dieses Logtyps konfiguriert werden.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten