Cloud Intrusion Detection System-Logs (Cloud IDS) erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Cloud IDS-Logs mit Cloud Storage exportieren und in Google Security Operations aufnehmen. Der Parser wandelt Cloud IDS-Logs im JSON-Rohformat von Google Cloud in ein strukturiertes UDM-Format um. Es werden relevante Felder extrahiert, dem UDM-Schema zugeordnet, Ereignisse kategorisiert und die Daten mit zusätzlichem Kontext wie Netzwerkrichtung und Ressourcentypen angereichert.

Hinweis

Folgende Voraussetzungen müssen erfüllt sein:

  • Google SecOps-Instanz.
  • Cloud IDS ist in Ihrer Google Cloud Umgebung eingerichtet und aktiv.
  • Berechtigter Zugriff auf Google Cloud und entsprechende Berechtigungen für den Zugriff auf Cloud IDS.

Cloud Storage-Bucket erstellen

  1. Melden Sie sich in der Google Cloud Console an.
  2. Rufen Sie die Seite Cloud Storage-Buckets auf.

    Buckets aufrufen

  3. Klicken Sie auf Erstellen.

  4. Geben Sie auf der Seite Bucket erstellen die Bucket-Informationen ein. Klicken Sie nach jedem der folgenden Schritte auf Weiter, um mit dem nächsten Schritt fortzufahren:

    1. Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:

      1. Geben Sie einen eindeutigen Namen ein, der den Anforderungen für Bucket-Namen entspricht, z. B. gcp-ids-logs.
      2. Wenn Sie den hierarchischen Namespace aktivieren möchten, klicken Sie auf den Maximierungspfeil, um den Bereich Für dateiorientierte und datenintensive Arbeitslasten optimieren zu maximieren, und wählen Sie dann Hierarchischen Namespace für diesen Bucket aktivieren aus.

      3. Wenn Sie ein Bucket-Label hinzufügen möchten, klicken Sie auf den Erweiterungspfeil, um den Abschnitt Labels zu maximieren.

      4. Klicken Sie auf Label hinzufügen und geben Sie einen Schlüssel und einen Wert für das Label an.

    2. Gehen Sie im Bereich Speicherort für Daten auswählen so vor:

      1. Standorttyp auswählen.
      2. Wählen Sie im Menü für den Standorttyp einen Speicherort aus, an dem die Objektdaten in Ihrem Bucket dauerhaft gespeichert werden sollen.

      3. Wenn Sie die Bucket-übergreifende Replikation einrichten möchten, maximieren Sie den Bereich Bucket-übergreifende Replikation einrichten.

    3. Wählen Sie im Abschnitt Speicherklasse für Ihre Daten auswählen entweder eine Standardspeicherklasse für den Bucket oder Autoclass für die automatische Verwaltung der Speicherklassen Ihrer Bucket-Daten aus.

    4. Wählen Sie im Abschnitt Zugriff auf Objekte steuern die Option Nein aus, um die Verhinderung des öffentlichen Zugriffs zu erzwingen, und wählen Sie ein Zugriffssteuerungsmodell für die Objekte Ihres Buckets aus.

    5. Gehen Sie im Bereich Auswählen, wie Objektdaten geschützt werden so vor:

      1. Wählen Sie unter Datenschutz die gewünschten Optionen für Ihren Bucket aus.
      2. Um auszuwählen, wie Ihre Objektdaten verschlüsselt werden, klicken Sie auf den Erweiterungspfeil mit dem Label Datenverschlüsselung und wählen Sie eine Methode für die Datenverschlüsselung aus.
  5. Klicken Sie auf Erstellen.

Cloud IDS-Logexport konfigurieren

  1. Melden Sie sich in der Google Cloud Console an.
  2. Rufen Sie Logging > Log Router auf.
  3. Klicken Sie auf Senke erstellen.
  4. Geben Sie die folgenden Konfigurationsparameter an:

    • Name der Senke: Geben Sie einen aussagekräftigen Namen ein, z. B. google-cloud-ids-logs-sink.
    • Sink Destination (Ziel-Sink): Wählen Sie Cloud Storage aus und geben Sie den Google Cloud storage-Bucket-URI an, z. B. gs://gcp-ids-logs.
    • Logfilter:

      logName="projects/<your-project-id>/logs/cloud-ids"
      
  5. Klicken Sie auf Erstellen.

Berechtigungen für Cloud Storage konfigurieren

  1. Klicken Sie auf IAM & Verwaltung>IAM.
  2. Suchen Sie das Cloud Logging-Dienstkonto.
  3. Weisen Sie dem Bucket die Rolle roles/storage.admin zu.

Feeds einrichten

So konfigurieren Sie einen Feed:

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. GCP IDS-Logs.
  5. Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
  6. Wählen Sie GCP IDS als Log type (Protokolltyp) aus.
  7. Klicken Sie neben dem Feld Chronicle-Dienstkonto auf Dienstkonto abrufen.
  8. Klicken Sie auf Weiter.
  9. Geben Sie Werte für die folgenden Eingabeparameter an:
    • Storage-Bucket-URI: Cloud Storage-Bucket-URL, z. B. gs://gcp-ids-logs.
    • Optionen zum Löschen der Quelle: Wählen Sie die gewünschte Löschoption aus. Hinweis: Wenn Sie die Option Delete transferred files oder Delete transferred files and empty directories auswählen, müssen Sie dem Dienstkonto die entsprechenden Berechtigungen erteilen.
    • Maximales Dateialter: Enthält Dateien, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.
  10. Klicken Sie auf Weiter.
  11. Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
insertId metadata.product_log_id Direkte Zuordnung.
jsonPayload.alert_severity security_result.severity Direkte Zuordnung.
jsonPayload.alert_time metadata.event_timestamp Direkte Zuordnung.
jsonPayload.application principal.application Direkte Zuordnung, nur wenn die Richtung Server-zu-Client ist.
jsonPayload.application target.application Direkte Zuordnung nur, wenn die Richtung „Client-zu-Server“ ist oder „logName“ traffic enthält.
jsonPayload.category security_result.category Zuordnung basierend auf dem Wert von „jsonPayload.category“:
 – „dos“: NETWORK_DENIAL_OF_SERVICE
 – „info-leak“: NETWORK_SUSPICIOUS
 – „protocol-anomaly“: NETWORK_MALICIOUS
 – „backdoor“, „spyware“, „trojan“: SOFTWARE_MALICIOUS
jsonPayload.category security_result.category_details Direkte Zuordnung.
jsonPayload.cves extensions.vulns.vulnerabilities.cve_id Direktes Mapping, Iterieren über das Array.
jsonPayload.destination_ip_address target.ip Direkte Zuordnung.
jsonPayload.destination_port target.port Direkte Zuordnung.
jsonPayload.details extensions.vulns.vulnerabilities.description Direkte Zuordnung.
jsonPayload.details security_result.detection_fields.value Wird zugeordnet, wenn „jsonPayload.repeat_count“ vorhanden ist. Der Schlüssel ist auf „repeat_count“ festgelegt.
jsonPayload.direction network.direction Wird basierend auf dem Wert von „jsonPayload.direction“ zugeordnet:
 – „client-to-server“: OUTBOUND
 – „server-to-client“: INBOUND
jsonPayload.elapsed_time network.session_duration.seconds Direkte Zuordnung.
jsonPayload.ip_protocol network.ip_protocol Direkte Zuordnung, Konvertierung in Großbuchstaben und anschließende Zuordnung zur Protokollnummer.
jsonPayload.name security_result.threat_name Direkte Zuordnung.
jsonPayload.network principal.resource.name Direkte Zuordnung, nur wenn die Richtung Server-zu-Client ist.
jsonPayload.network target.resource.name Direkte Zuordnung nur, wenn die Richtung „Client-zu-Server“ ist oder „logName“ traffic enthält.
jsonPayload.repeat_count security_result.detection_fields.value Wird zugeordnet, falls vorhanden. Der Schlüssel ist auf „repeat_count“ festgelegt.
jsonPayload.session_id network.session_id Direkte Zuordnung.
jsonPayload.source_ip_address principal.ip Direkte Zuordnung.
jsonPayload.source_port principal.port Direkte Zuordnung.
jsonPayload.start_time about.labels.value Wird zugeordnet, falls vorhanden. Der Schlüssel ist auf „start_time“ festgelegt.
jsonPayload.start_time additional.fields.value.string_value Wird zugeordnet, falls vorhanden. Der Schlüssel ist auf „start_time“ festgelegt.
jsonPayload.threat_id security_result.threat_id Direkte Zuordnung.
jsonPayload.total_bytes about.labels.value Wird zugeordnet, falls vorhanden. Der Schlüssel ist auf „total_bytes“ festgelegt.
jsonPayload.total_bytes additional.fields.value.string_value Wird zugeordnet, falls vorhanden. Der Schlüssel ist auf „total_bytes“ festgelegt.
jsonPayload.total_packets about.labels.value Wird zugeordnet, falls vorhanden. Der Schlüssel ist auf „total_packets“ festgelegt.
jsonPayload.total_packets additional.fields.value.string_value Wird zugeordnet, falls vorhanden. Der Schlüssel ist auf „total_packets“ festgelegt.
jsonPayload.type security_result.detection_fields.value Wird zugeordnet, falls vorhanden. Der Schlüssel ist auf „type“ festgelegt.
jsonPayload.uri_or_filename target.file.full_path Direkte Zuordnung.
logName security_result.category_details Direkte Zuordnung.
receiveTimestamp metadata.collected_timestamp Direkte Zuordnung.
resource.labels.id observer.resource.product_object_id Direkte Zuordnung.
resource.labels.location observer.location.name Direkte Zuordnung.
resource.labels.resource_container observer.resource.name Direkte Zuordnung.
resource.type observer.resource.resource_subtype Direkte Zuordnung.
metadata.event_type Wird durch eine Reihe von bedingten Regeln auf Grundlage des Vorhandenseins und der Werte anderer Felder bestimmt. Der Standardwert ist „GENERIC_EVENT“.
metadata.vendor_name Statischer Wert: Google Cloud Platform.
metadata.product_name Statischer Wert: GCP_IDS.
metadata.log_type Statischer Wert: GCP_IDS.
extensions.vulns.vulnerabilities.vendor Statischer Wert: GCP_IDS, für jede CVE in „jsonPayload.cves“ hinzugefügt.
principal.resource.resource_type Statischer Wert: VPC_NETWORK, wird hinzugefügt, wenn „jsonPayload.network“ vorhanden ist und die Richtung „Server-zu-Client“ lautet.
target.resource.resource_type Statischer Wert: VPC_NETWORK, wird hinzugefügt, wenn „jsonPayload.network“ vorhanden ist und die Richtung „Client-zu-Server“ lautet oder „logName“ traffic enthält.
observer.resource.resource_type Statischer Wert: CLOUD_PROJECT, wird hinzugefügt, wenn „resource.labels.resource_container“ oder „resource.type“ vorhanden ist.
observer.resource.attribute.cloud.environment Statischer Wert: GOOGLE_CLOUD_PLATFORM, wird hinzugefügt, wenn „resource.labels.resource_container“ oder „resource.type“ vorhanden ist.

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