Google Cloud Monitoring-Benachrichtigungsaktivitätslogs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Cloud Logging-Logs im Zusammenhang mit Cloud Monitoring-Benachrichtigungsaktivitäten mit Google Cloud Storage V2 in Google Security Operations aufnehmen.

Cloud Monitoring bietet Benachrichtigungsfunktionen für Google Cloud-Ressourcen. Logbasierte Benachrichtigungsrichtlinien benachrichtigen Sie, wenn eine bestimmte Nachricht in Ihren Logs angezeigt wird. Wenn ein Logeintrag die Bedingung der Benachrichtigungsrichtlinie erfüllt, wird in Cloud Monitoring ein Vorfall geöffnet und Sie erhalten eine Benachrichtigung zu diesem Vorfall. Mit dieser Integration können Sie Cloud Logging-Einträge für Sicherheitsanalysen und ‑korrelationen nach Google Security Operations exportieren.

Hinweise

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • 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 Konfigurieren von Cloud Logging-Senken

Google Cloud Storage-Bucket erstellen

Google Cloud Console verwenden

  1. Gehen Sie zur Google Cloud Console.
  2. Wählen Sie Ihr Projekt aus oder erstellen Sie ein neues.
  3. Rufen Sie im Navigationsmenü Cloud Storage > Buckets auf.
  4. Klicken Sie auf Bucket erstellen.
  5. Geben Sie die folgenden Konfigurationsdetails an:

    Einstellung Wert
    Bucket benennen Geben Sie einen global eindeutigen Namen ein, z. B. monitoring-logs-export.
    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
  6. Klicken Sie auf Erstellen.

gcloud-Befehlszeilentool verwenden

  • Alternativ können Sie einen Bucket mit dem Befehl gcloud erstellen:

    gcloud storage buckets create gs://monitoring-logs-export \
        --location=us-central1 \
        --default-storage-class=STANDARD
    
    • Ersetzen Sie:
      • monitoring-logs-export: Der erforderliche Bucket-Name (global eindeutig).
      • us-central1: Ihre bevorzugte Region.

Cloud Logging so konfigurieren, dass Logs nach GCS exportiert werden

Logeinträge werden als JSON-Dateien gespeichert, wenn sie an Cloud Storage weitergeleitet werden. Sie können Logs im Zusammenhang mit Cloud Monitoring-Benachrichtigungsaktivitäten exportieren, z. B. Audit-Logs für die Verwaltung von Benachrichtigungsrichtlinien.

Logsenke erstellen

  1. Rufen Sie in der Google Cloud Console Logging > Log-Router auf.
  2. Klicken Sie auf Senke erstellen.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Name der Senke: Geben Sie einen aussagekräftigen Namen ein, z. B. monitoring-alerts-to-gcs.
    • Senkenbeschreibung: Optionale Beschreibung.
  4. Klicken Sie auf Weiter.
  5. Gehen Sie im Bereich Senkendienst auswählen so vor:
    • Senkendienst: Wählen Sie Cloud Storage-Bucket aus.
    • Cloud Storage-Bucket auswählen: Wählen Sie den Bucket (z. B. monitoring-logs-export) aus der Liste aus.
  6. Klicken Sie auf Weiter.
  7. Geben Sie im Abschnitt Logs auswählen, die in die Senke aufgenommen werden sollen eine Filterabfrage ein, um die Logs auszuwählen, die Sie exportieren möchten.

    • Beispielfilter für Cloud Monitoring-Audit-Logs:

      protoPayload.serviceName="monitoring.googleapis.com"
      logName:"cloudaudit.googleapis.com/activity"
      
    • Beispiel für einen Filter für Trigger von logbasierten Benachrichtigungsrichtlinien:

      Wenn Sie die zugrunde liegenden Logs exportieren möchten, die Ihre logbasierten Benachrichtigungsrichtlinien auslösen, verwenden Sie einen Filter, der mit diesen spezifischen Logs übereinstimmt. Beispiel:

      severity >= ERROR
      resource.type="gce_instance"
      
  8. Klicken Sie auf Weiter.

  9. Optional: Konfigurieren Sie bei Bedarf Ausschlussfilter.

  10. Klicken Sie auf Senke erstellen.

Bei neuen Senken, die Logdaten an Cloud Storage-Buckets weiterleiten, kann es mehrere Stunden dauern, bis Logeinträge weitergeleitet werden. Weitergeleitete Log-Einträge werden stündlich in Batches in Cloud Storage-Buckets gespeichert. Es kann zwei bis drei Stunden dauern, bis die ersten Einträge angezeigt werden.

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.

Feed in Google SecOps konfigurieren, um Cloud Monitoring-Logs aufzunehmen

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf Einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Google Cloud Monitoring Alerts Logs.
  5. Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
  6. Wählen Sie GCP_MONITORING_ALERTS als Log type (Logtyp) aus.

  7. 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.com
    
  8. Kopieren Sie diese E‑Mail-Adresse für den nächsten Schritt.

  9. Klicken Sie auf Weiter.

  10. Geben Sie Werte für die folgenden Eingabeparameter an:

    • Storage-Bucket-URL: Geben Sie den GCS-Bucket-URI ein:

      gs://monitoring-logs-export/
      
      • Ersetzen Sie monitoring-logs-export durch den Namen Ihres GCS-Buckets.
    • Option zum Löschen der Quelle: Wählen Sie die gewünschte Löschoption aus:

      • Nie: Es werden nach Übertragungen nie Dateien 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.

    • Maximales Dateialter: Dateien einschließen, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.

    • Asset-Namespace: Der Asset-Namespace.

    • Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.

  11. Klicken Sie auf Weiter.

  12. 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.

Google Cloud Console verwenden

  1. Rufen Sie Cloud Storage > Buckets auf.
  2. Klicken Sie auf den Bucket-Namen, z. B. monitoring-logs-export.
  3. Wechseln Sie zum Tab Berechtigungen.
  4. Klicken Sie auf Zugriff erlauben.
  5. 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.
  6. Klicken Sie auf Speichern.

gcloud-Befehlszeilentool verwenden

  • Alternativ können Sie Berechtigungen mit dem Befehl gcloud erteilen:

    gcloud storage buckets add-iam-policy-binding gs://monitoring-logs-export \
        --member="serviceAccount:SECOPS_SERVICE_ACCOUNT_EMAIL" \
        --role="roles/storage.objectViewer"
    
    • Ersetzen Sie:
      • monitoring-logs-export: Ihr Bucket-Name.
      • SECOPS_SERVICE_ACCOUNT_EMAIL: Die E-Mail-Adresse des Google SecOps-Dienstkontos.

gsutil-Befehlszeilentool verwenden (Legacy)

  • Gewähren Sie dem SecOps-Dienstkonto die erforderlichen Berechtigungen zum Lesen von Objekten in Ihrem Ziel-Bucket:

    gsutil iam ch serviceAccount:SECOPS_SERVICE_ACCOUNT_EMAIL:objectViewer \
        gs://monitoring-logs-export
    

Berechtigungen prüfen

  • So prüfen Sie, ob die Berechtigungen richtig erteilt wurden:

    gcloud storage buckets get-iam-policy gs://monitoring-logs-export \
        --flatten="bindings[].members" \
        --filter="bindings.role:roles/storage.objectViewer"
    

    In der Ausgabe sollte die E-Mail-Adresse des Google SecOps-Dienstkontos angezeigt werden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
jsonPayload.type_1 additional.fields.jsonPayload_type_1 Wert direkt kopiert
jsonPayload.debugInfo additional.fields.number Aus jsonPayload.debugInfo extrahiert, mit Grok-Muster
jsonPayload.scheduledTime, receiveTimestamp, timestamp metadata.event_timestamp Wert aus „jsonPayload.scheduledTime“, falls nicht leer, andernfalls „receiveTimestamp“, falls nicht leer, andernfalls „timestamp“, konvertiert mit „date match“
event_type metadata.event_type Wert aus „event_type“, falls nicht leer, andernfalls auf „GENERIC_EVENT“ festgelegt
insertId metadata.product_log_id Wert direkt kopiert
jsonPayload.targetType network.application_protocol Wert direkt kopiert
httpRequest.status network.http.response_code In Ganzzahl konvertiert
resource.labels.location principal.location.name Wert direkt kopiert
jsonPayload.jobName principal.url Wert direkt kopiert
jsonPayload.status security_result.action Auf „BLOCK“ festlegen, wenn jsonPayload.status == „PERMISSION_DENIED“
die Ausprägung security_result.severity Setzen Sie den Wert auf INFORMATIONAL, wenn severity =~ (?i)INFO; LOW, wenn severity == "LOW"; MEDIUM, wenn severity == "MEDIUM"; HIGH, wenn severity == "HIGH"; CRITICAL, wenn severity == "VERY-HIGH"
jsonPayload.debugInfo security_result.summary Aus jsonPayload.debugInfo extrahiert, mit Grok-Muster
logName src.url Wert direkt kopiert
resource.labels.project_id target.resource.attribute.labels.project_id Wert direkt kopiert
resource.labels.job_id target.resource.attribute.labels.resource_labels_job_id Wert direkt kopiert
resource.type target.resource.resource_subtype Wert direkt kopiert
jsonPayload.url target.url Wert direkt kopiert
metadata.product_name Auf „Gcp_monitoring_alerts“ festgelegt
metadata.vendor_name Auf „GCP_MONITORING_ALERTS“ festlegen

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten