Chronicle SOAR-Überwachungsprotokolle erfassen
In diesem Dokument wird beschrieben, wie Sie Chronicle SOAR-Audit-Logs mit Google Cloud Storage V2 in Google Security Operations aufnehmen.
Mit Google Security Operations SOAR (Security Orchestration, Automation and Response) können Sicherheitsteams Reaktionen auf Bedrohungen automatisieren. Dazu werden Benachrichtigungen aus Erkennungstools aufgenommen, gruppiert und priorisiert, um Playbooks automatisch auszuführen und eine praxisorientierte Reaktion zu koordinieren. In SOAR-Logs werden wichtige Daten aus ETL-, Playbook- und Python-Funktionen erfasst, darunter die Ausführung von Python-Scripts, die Aufnahme von Benachrichtigungen und die Playbook-Leistung.
Hinweise
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz
- Ein Google Cloud -Projekt mit aktivierter Cloud Storage API
- Berechtigungen zum Erstellen und Verwalten von GCS-Buckets
- Berechtigungen zum Verwalten von IAM-Richtlinien für GCS-Buckets
- Berechtigungen zum Erstellen und Verwalten von Cloud Logging-Senken
- Zugriff auf das Google Cloud-Projekt, in dem Chronicle SOAR bereitgestellt wird
- IAM-Rolle Logbetrachter (
roles/logging.viewer) für Ihr Google Cloud-Projekt IAM-Rolle Logging-Administrator (
roles/logging.admin) zum Erstellen von Log-Senken
Google Cloud Storage-Bucket erstellen
- Gehen Sie zur Google Cloud Console.
- Wählen Sie Ihr Projekt aus oder erstellen Sie ein neues.
- Rufen Sie im Navigationsmenü Cloud Storage > Buckets auf.
- Klicken Sie auf Bucket erstellen.
Geben Sie die folgenden Konfigurationsdetails an:
Einstellung Wert Bucket benennen Geben Sie einen global eindeutigen Namen ein, z. B. chronicle-soar-audit-logs.Standorttyp Wählen Sie je nach Bedarf aus (Region, Dual-Region, Multi-Region). Standort Wählen Sie den Speicherort aus, z. B. us-central1.Speicherklasse Standard (empfohlen für Logs, auf die häufig zugegriffen wird) Zugriffskontrolle Einheitlich (empfohlen) Schutzmaßnahmen Optional: Objektversionsverwaltung oder Aufbewahrungsrichtlinie aktivieren Klicken Sie auf Erstellen.
SOAR-Logerfassung aktivieren (nur eigenständige Bereitstellungen)
So aktivieren Sie den SOAR-Logexport für eigenständige Bereitstellungen:
- Wechseln Sie in der Google Cloud Console zu IAM & Verwaltung > Dienstkonten.
- Klicken Sie auf Dienstkonto erstellen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name des Dienstkontos: Geben Sie
soar-logs-export-saein. - Beschreibung des Dienstkontos: Geben Sie
Service account for exporting SOAR logs to Cloud Loggingein.
- Name des Dienstkontos: Geben Sie
- Klicken Sie auf Erstellen und fortfahren.
- Im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen:
- Klicken Sie auf Rolle auswählen.
- Suchen Sie nach Log-Autor und wählen Sie die Option aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Fertig.
- Suchen Sie in der Liste Dienstkonten nach dem Dienstkonto (
soar-logs-export-sa). - Klicken Sie auf more_vert Mehr > Berechtigungen verwalten.
- Klicken Sie im Bereich Berechtigungen auf Zugriff erlauben.
Geben Sie im Feld Hauptkonten hinzufügen das folgende Hauptkonto ein:
gke-init-backgroundservices@{SOAR-GCP-Project-Id}.iam.gserviceaccount.comIm Abschnitt Rollen zuweisen:
- Klicken Sie auf Rolle auswählen.
- Suchen Sie nach Ersteller von Dienstkonto-Tokens und wählen Sie die Rolle aus.
Klicken Sie auf Speichern.
Kopieren Sie die vollständige E-Mail-Adresse des Dienstkontos (
soar-logs-export-sa@PROJECT_ID.iam.gserviceaccount.com).Senden Sie ein Ticket an den Google SecOps-Support mit der E-Mail-Adresse des Dienstkontos, um den Logexport zu aktivieren.
Cloud Logging-Senke zum Exportieren von SOAR-Logs nach GCS konfigurieren
Chronicle SOAR-Logs werden in Google Cloud Logging im Namespace chronicle-soar geschrieben. Sie müssen eine Logsenke erstellen, um diese Logs an Ihren GCS-Bucket weiterzuleiten.
- Rufen Sie in der Google Cloud Console Logging > Log Router auf.
- Wählen Sie das Google Cloud-Projekt aus, in dem Chronicle SOAR bereitgestellt wird.
- Klicken Sie auf Senke erstellen.
- Geben Sie im Bereich Senkendetails die folgenden Konfigurationsdetails an:
- Name der Senke: Geben Sie
chronicle-soar-to-gcsein. - Senkenbeschreibung: Geben Sie
Export Chronicle SOAR audit logs to GCS for Chronicle SIEM ingestionein.
- Name der Senke: Geben Sie
- Klicken Sie auf Weiter.
- Im Bereich Senkenziel:
- Wählen Sie im Menü Senkendienst auswählen die Option Cloud Storage-Bucket aus.
- Wählen Sie im Menü Cloud Storage-Bucket auswählen den Bucket (
chronicle-soar-audit-logs) aus.
- Klicken Sie auf Weiter.
Führen Sie im Bereich Logs auswählen, die in der Senke enthalten sein sollen die folgenden Schritte aus:
Geben Sie im Feld Einschlussfilter erstellen den folgenden Filter ein:
resource.labels.namespace_name="chronicle-soar"Dieser Filter entspricht allen SOAR-Logs von ETL-, Playbook- und Python-Diensten.
Klicken Sie auf Vorschau von Logs, um zu prüfen, ob der Filter den erwarteten Logeinträgen entspricht.
Klicken Sie auf Weiter.
Optional: Im Bereich Logs zum Filtern aus der Senke auswählen können Sie bei Bedarf Ausschlussfilter hinzufügen. Bei den meisten Bereitstellungen sind keine Ausschlüsse erforderlich.
Klicken Sie auf Senke erstellen.
Logexport nach GCS prüfen
- Warten Sie 5 bis 10 Minuten, bis die Logs in den GCS-Bucket exportiert wurden.
- Rufen Sie in der Google Cloud Console Cloud Storage > Buckets auf.
- Klicken Sie auf den Bucket-Namen (
chronicle-soar-audit-logs). Prüfen Sie, ob Protokolldateien im Bucket erstellt werden. Die Dateien sind nach Datum und Uhrzeit organisiert:
chronicle-soar/YYYY/MM/DD/HH:MM:SS_<unique-id>.jsonKlicken Sie auf eine Logdatei, um eine Vorschau des Inhalts zu sehen. Jede Datei enthält Logeinträge im JSON-Format.
Google SecOps-Dienstkonto abrufen
Google SecOps verwendet ein eindeutiges Dienstkonto, um Daten aus Ihrem GCS-Bucket zu lesen. Sie müssen diesem Dienstkonto Zugriff auf Ihren Bucket gewähren.
E-Mail-Adresse des Dienstkontos abrufen
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf Einzelnen Feed konfigurieren.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B.
Chronicle SOAR Audit Logs. - Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
- Wählen Sie CHRONICLE_SOAR_AUDIT als Log type (Protokolltyp) aus.
- Klicken Sie auf Dienstkonto abrufen.
Es wird eine eindeutige E-Mail-Adresse für das Dienstkonto angezeigt, z. B.:
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.comKopieren Sie diese E‑Mail-Adresse für den nächsten Schritt.
Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
Storage-Bucket-URL: Geben Sie den GCS-Bucket-URI mit dem Präfixpfad ein:
gs://chronicle-soar-audit-logs/chronicle-soar/Option zum Löschen der Quelle: Wählen Sie die gewünschte Löschoption aus:
- Nie: Es werden niemals Dateien nach Übertragungen gelöscht (empfohlen für Tests).
- Übertragene Dateien löschen: Dateien werden nach der erfolgreichen Übertragung gelöscht.
- Übertragene Dateien und leere Verzeichnisse löschen: Löscht Dateien und leere Verzeichnisse nach der erfolgreichen Übertragung.
Höchstalter für Dateien: Dateien einschließen, die in den letzten Tagen geändert wurden (Standard: 180 Tage)
Asset-Namespace: Der Asset-Namespace
Labels für Datenaufnahme: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
Dem Google SecOps-Dienstkonto IAM-Berechtigungen gewähren
Das Google SecOps-Dienstkonto benötigt die Rolle Storage-Objekt-Betrachter für Ihren GCS-Bucket.
- Rufen Sie Cloud Storage > Buckets auf.
- Klicken Sie auf den Bucket-Namen (
chronicle-soar-audit-logs). - Wechseln Sie zum Tab Berechtigungen.
- Klicken Sie auf Zugriff erlauben.
- Geben Sie die folgenden Konfigurationsdetails an:
- Hauptkonten hinzufügen: Fügen Sie die E‑Mail-Adresse des Google SecOps-Dienstkontos ein.
- Rollen zuweisen: Wählen Sie Storage-Objekt-Betrachter aus.
Klicken Sie auf Speichern.
SOAR-Logs nach Diensttyp filtern
Chronicle SOAR-Logs werden nach dem Dienst kategorisiert, der das Log generiert hat. Sie können Logs in Cloud Logging filtern oder separate Senken für verschiedene Logtypen erstellen.
Verfügbare Logdienste
Die folgenden Diensttypen sind verfügbar:
- Playbook: Logs von Playbook-Ausführungen, einschließlich Blockausführung, Aktionsergebnisse und Workflow-Status
- python: Logs aus der Ausführung von Python-Skripts, einschließlich Integrationsaktionen, Connectors und Jobs
- etl: Logs aus Prozessen zum Erfassen von Benachrichtigungen und zur Datentransformation
Nach Dienst in Cloud Logging filtern
So rufen Sie Logs eines bestimmten Dienstes auf:
- Wechseln Sie in der Google Cloud Console zu Logging > Log-Explorer.
- Wählen Sie das Google Cloud-Projekt aus, in dem Chronicle SOAR bereitgestellt wird.
Geben Sie den folgenden Filter ein, um Logs eines bestimmten Dienstes aufzurufen:
resource.labels.namespace_name="chronicle-soar" resource.labels.container_name="playbook"Ersetzen Sie
playbookdurchpythonoderetl, um Logs von anderen Diensten aufzurufen.
Separate Senken für verschiedene Logtypen erstellen
Wenn Sie verschiedene Logtypen an separate GCS-Buckets oder ‑Präfixe weiterleiten möchten, erstellen Sie zusätzliche Senken mit dienstspezifischen Filtern:
- Folgen Sie der Anleitung im Abschnitt Cloud Logging-Senke zum Exportieren von SOAR-Logs nach GCS konfigurieren.
Verwenden Sie im Feld Einschlussfilter erstellen einen der folgenden Filter:
Nur Playbook-Logs:
resource.labels.namespace_name="chronicle-soar" resource.labels.container_name="playbook"Nur Python-Logs:
resource.labels.namespace_name="chronicle-soar" resource.labels.container_name="python"Nur ETL-Logs:
resource.labels.namespace_name="chronicle-soar" resource.labels.container_name="etl"
Verfügbare Loglabels zum Filtern
Chronicle SOAR-Logs enthalten Labels, die zusätzlichen Kontext für das Filtern und Analysieren bieten.
Playbook-Labels
Die folgenden Labels sind für Playbook-Logs verfügbar:
playbook_definition: Eindeutige Kennung für die Playbook-Definitionplaybook_name: Der für Menschen lesbare Name des Playbooks.block_name: Name des ausgeführten Playbook-Blocksblock_definition: Eindeutige Kennung für die Blockdefinitioncase_id: Chronicle SOAR-Fall‑IDcorrelation_id: Eindeutige Kennung zum Nachverfolgen der gesamten Playbook-Ausführung über verschiedene Dienste hinwegintegration_name: Name der verwendeten Integrationaction_name: Name der ausgeführten Aktion
Python-Labels
Für Python-Dienstlogs sind die folgenden Labels verfügbar:
Labels für Integrationen und Connectors:
integration_name: Name der Integrationintegration_version: Version der Integrationconnector_name: Name des Connectorsconnector_instance: Instanz-ID für den Connector
Job-Labels:
integration_name: Name der Integrationintegration_version: Version der Integrationjob_name: Name des geplanten Jobs
Aktionslabels:
integration_name: Name der Integrationintegration_version: Version der Integrationintegration_instance: Instanz-ID für die Integrationcorrelation_id: Eindeutige Kennung zum Nachverfolgen der Ausführungaction_name: Name der ausgeführten Aktion
ETL-Labels
Für ETL-Dienstlogs sind die folgenden Labels verfügbar:
correlation_id: Eindeutige Kennung für den Ablauf der Aufnahme von Benachrichtigungen
correlation_id für vollständiges Tracing verwenden
Das Label correlation_id ist sowohl in Playbook- als auch in Python-Dienstlogs verfügbar. Mit diesem Label können Sie alle zugehörigen Logs aus einer gesamten Playbook-Ausführung abrufen:
- Wechseln Sie in der Google Cloud Console zu Logging > Log-Explorer.
Geben Sie den folgenden Filter ein:
resource.labels.namespace_name="chronicle-soar" labels.correlation_id="<correlation-id-value>"Ersetzen Sie
<correlation-id-value>durch die tatsächliche Korrelations-ID aus einem Logeintrag.
Dieser Filter gibt alle Logs sowohl von Playbook- als auch von Python-Diensten für den gesamten Ausführungs-Trace zurück.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
| module, screenSize, activityItem, modificationTimeUnixTimeInMs | additional.fields | Zusammengeführte Labels, die aus jedem Feld erstellt wurden, sofern vorhanden |
| Nutzer, Vorgang | extensions.auth.type | Auf „AUTHTYPE_UNSPECIFIED“ festgelegt, wenn „user“ nicht leer ist und der Vorgang „Login“ lautet. |
| creationTimeUnixTimeInMs | metadata.event_timestamp | Als UNIX_MS-Zeitstempel geparst |
| Nutzer, Vorgang, Adresse | metadata.event_type | Auf „USER_LOGIN“ festgelegt, wenn „user“ nicht leer ist und der Vorgang „Login“ lautet; „USER_RESOURCE_ACCESS“, wenn „user“ nicht leer ist; „STATUS_UNCATEGORIZED“, wenn „address“ leer ist; andernfalls „GENERIC_EVENT“ |
| Vorgang | metadata.product_event_type | Wert direkt kopiert |
| id | metadata.product_log_id | In String konvertiert |
| browser | network.http.parsed_user_agent | In geparsten User-Agent umgewandelt |
| browser | network.http.user_agent | Wert direkt kopiert |
| Adresse | principal.hostname | Festlegen, ob die Adresse nicht mit dem IP-Muster übereinstimmt |
| Adresse | principal.ip | Extrahierte IP-Adresse mit Grok-Muster |
| source | principal.resource.resource_subtype | Wert direkt kopiert |
| Nutzer | principal.user.userid | Wert direkt kopiert |
| ContactEmails | security_result.about.user.email_addresses | Extrahierte E-Mail-Adressen mit Grok-Muster |
| ContactPhone | security_result.about.user.phone_numbers | Wert direkt kopiert |
| ContactName | security_result.about.user.user_display_name | Wert direkt kopiert |
| Name | security_result.about.user.userid | Wert direkt kopiert |
| currentActivity, previousActivity | security_result.detection_fields | Zusammengeführte Labels aus „currentActivity“ und „previousActivity“ (falls vorhanden) |
| userGuid | target.user.product_object_id | Wert direkt kopiert |
| metadata.product_name | Auf „CHRONICLE_SOAR_AUDIT“ festlegen | |
| metadata.vendor_name | Auf „CHRONICLE_SOAR_AUDIT“ festlegen |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten