Logs zu Cloud Security Command Center-Posture-Verstößen erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Logs zu Sicherheitsverstößen aus Security Command Center mithilfe von Cloud Storage in Google Security Operations exportieren und aufnehmen. Der Parser wandelt Roh-JSON-Daten aus den Ergebnissen in ein einheitliches Datenmodell (Unified Data Model, UDM) um. Dabei werden relevante Felder extrahiert, die Daten neu strukturiert, den UDM-Feldern zugeordnet und verschiedene Validierungen und Anreicherungen durchgeführt, um die Datenqualität und Konsistenz zu gewährleisten.

Hinweise

  • Google Cloud Security Command Center muss in Ihrer Umgebung aktiviert sein. Google Cloud
  • Sie benötigen eine Google SecOps-Instanz.
  • Sie benötigen Berechtigungen für Security Command Center und Cloud Logging.

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-scc-posture-violation-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 Bereich 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ü „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 nicht 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 Optionen aus, die Sie für den Bucket festlegen möchten.
      2. Um auszuwählen, wie Ihre Objektdaten verschlüsselt werden, klicken Sie auf den Erweiterungspfeil mit Label Datenverschlüsselung und wählen Sie eine Methode für die Datenverschlüsselung aus.
  5. Klicken Sie auf Erstellen.

Security Command Center-Logging konfigurieren

  1. Melden Sie sich in der Google Cloud Console an.
  2. Rufen Sie die Seite Security Command Center auf.

    Zum Security Command Center

  3. Wählen Sie Ihre Organisation aus.

  4. Klicken Sie auf Einstellungen.

  5. Klicken Sie auf den Tab Kontinuierliche Exporte.

  6. Klicken Sie unter Exportname auf Logging-Export.

  7. Aktivieren Sie unter Senken die Option Ergebnisse in Logging in Logs speichern.

  8. Geben Sie unter Logging-Projekt das Projekt ein, in dem Sie die Ergebnisse protokollieren möchten, oder suchen Sie nach dem Projekt.

  9. Klicken Sie auf Speichern.

Google Cloud Export von Security Command Center-Logs zu Sicherheitsverstößen konfigurieren

  1. Melden Sie sich in der Google Cloud Console an.
  2. Gehen Sie zu Logging > Logrouter.
  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. scc-posture-violation-logs-sink.
    • Sink-Ziel: Wählen Sie Cloud Storage aus und geben Sie den URI für Ihren Bucket ein, z. B. gs://gcp-scc-posture-violation-logs.
    • Log-Filter:

      logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Fposture_violations"
      resource.type="cloud_security_center_posture_violation"
      
    • Exportoptionen festlegen: Alle Logeinträge einschließen.

  5. Klicken Sie auf Erstellen.

Berechtigungen für Cloud Storage konfigurieren

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

Einen Feed in Google SecOps konfigurieren, um Google Cloud Security Command Center-Logs zu Posture-Verstößen aufzunehmen

  1. Gehen Sie zu SIEM-Einstellungen > Feeds.
  2. Klicken Sie auf Neu hinzufügen.
  3. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Google Cloud Security Command Center-Protokolle zu Posture-Verstößen.
  4. Wählen Sie Google Cloud Storage als Quelltyp aus.
  5. Wählen Sie Security Command Center-Posture-Verstoß als Logtyp aus.
  6. Klicken Sie neben dem Feld Chronicle-Dienstkonto auf Dienstkonto abrufen.
  7. Klicken Sie auf Weiter.
  8. Geben Sie Werte für die folgenden Eingabeparameter an:

    • Storage Bucket-URI: Cloud Storage-Bucket-URL, z. B. gs://gcp-scc-posture-violation-logs.
    • URI ist: Wählen Sie Verzeichnis mit Unterverzeichnissen aus.
    • Optionen zum Löschen der Quelle: Wählen Sie die gewünschte Option aus.

    • Asset-Namespace: der Asset-Namespace.

    • Labels für Datenaufnahme: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.

  9. Klicken Sie auf Weiter.

  10. Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Kategorie read_only_udm.metadata.product_event_type Direkte Zuordnung.
changed_policy read_only_udm.security_result.rule_name Direkte Zuordnung.
cloudProvider read_only_udm.target.resource.attribute.cloud.environment Direkte Zuordnung.
createTime read_only_udm.security_result.detection_fields[createTime] Direkte Zuordnung.
finding.risks.riskCategory read_only_udm.security_result.detection_fields[risk_category] Direkte Zuordnung.
mute read_only_udm.security_result.detection_fields[mute] Direkte Zuordnung.
Name read_only_udm.metadata.product_log_id Direkte Zuordnung.
originalProviderId read_only_udm.target.resource.attribute.labels[original_provider_id] Direkte Zuordnung.
Übergeordnetes Element read_only_udm.target.resource_ancestors[0].name Direkte Zuordnung.
parentDisplayName read_only_udm.metadata.description Direkte Zuordnung.
propertyDataTypes.changed_policy.primitiveDataType read_only_udm.security_result.rule_labels[changed_policy_primitive_data_type] Direkte Zuordnung.
propertyDataTypes.policy_drift_details.listValues.propertyDataTypes[0].structValue.fields.drift_details.structValue.fields.detected_configuration.primitiveDataType read_only_udm.security_result.rule_labels[detected_configuration_primitive_data_type] Direkte Zuordnung.
propertyDataTypes.policy_drift_details.listValues.propertyDataTypes[0].structValue.fields.drift_details.structValue.fields.expected_configuration.primitiveDataType read_only_udm.security_result.rule_labels[expected_configuration_primitive_data_type] Direkte Zuordnung.
propertyDataTypes.policy_drift_details.listValues.propertyDataTypes[0].structValue.fields.field_name.primitiveDataType read_only_udm.security_result.rule_labels[field_name_primitive_data_type] Direkte Zuordnung.
propertyDataTypes.posture_deployment_name.primitiveDataType read_only_udm.security_result.detection_fields[posture_deployment_name_primitiveDataType] Direkte Zuordnung.
propertyDataTypes.posture_deployment_resource.primitiveDataType read_only_udm.security_result.detection_fields[posture_deployment_resource_primitiveDataType] Direkte Zuordnung.
propertyDataTypes.posture_name.primitiveDataType read_only_udm.security_result.detection_fields[posture_name_primitiveDataType] Direkte Zuordnung.
propertyDataTypes.posture_revision_id.primitiveDataType read_only_udm.security_result.detection_fields[posture_revision_id_primitiveDataType] Direkte Zuordnung.
resource.cloudProvider read_only_udm.target.resource.attribute.cloud.environment Direkte Zuordnung.
resource.displayName read_only_udm.target.resource.attribute.labels[resource_displayName] Direkte Zuordnung.
resource.gcpMetadata.organization read_only_udm.target.resource.attribute.labels[resource_organization] Direkte Zuordnung.
resource.gcpMetadata.parent read_only_udm.target.resource.attribute.labels[resource_parent] Direkte Zuordnung.
resource.gcpMetadata.parentDisplayName read_only_udm.target.resource.attribute.labels[resource_parentDisplayName] Direkte Zuordnung.
resource.gcpMetadata.project read_only_udm.target.resource.attribute.labels[resource_project] Direkte Zuordnung.
resource.gcpMetadata.projectDisplayName read_only_udm.target.resource.attribute.labels[resource_projectDisplayName] Direkte Zuordnung.
resource.organization read_only_udm.target.resource.attribute.labels[resource_organization] Direkte Zuordnung.
resource.resourcePath.nodes.displayName read_only_udm.target.resource_ancestors.name Direkte Zuordnung.
resource.resourcePath.nodes.id read_only_udm.target.resource_ancestors.product_object_id Direkte Zuordnung.
resource.resourcePath.nodes.nodeType read_only_udm.target.resource_ancestors.resource_subtype Direkte Zuordnung.
resource.resourcePathString read_only_udm.target.resource.attribute.labels[resource_path_string] Direkte Zuordnung.
resource.service read_only_udm.target.resource_ancestors[10].name Direkte Zuordnung.
resource.type read_only_udm.target.resource.attribute.labels[resource_type] Direkte Zuordnung.
resourceName read_only_udm.target.resource.name Direkte Zuordnung.
securityPosture.changedPolicy read_only_udm.security_result.rule_labels[changed_policy] Direkte Zuordnung.
securityPosture.name read_only_udm.security_result.detection_fields[security_posture_name] Direkte Zuordnung.
securityPosture.policyDriftDetails[0].detectedValue read_only_udm.security_result.rule_labels[policy_drift_details_detected_value] Direkte Zuordnung.
securityPosture.policyDriftDetails[0].expectedValue read_only_udm.security_result.rule_labels[policy_drift_details_expected_value] Direkte Zuordnung.
securityPosture.policyDriftDetails[0].field read_only_udm.security_result.rule_labels[policy_drift_details_field] Direkte Zuordnung.
securityPosture.policySet read_only_udm.security_result.rule_set Direkte Zuordnung.
securityPosture.postureDeployment read_only_udm.security_result.detection_fields[posture_deployment] Direkte Zuordnung.
securityPosture.postureDeploymentResource read_only_udm.security_result.detection_fields[posture_deployment_resource] Direkte Zuordnung.
securityPosture.revisionId read_only_udm.security_result.detection_fields[security_posture_revision_id] Direkte Zuordnung.
die Ausprägung read_only_udm.security_result.severity Direkte Zuordnung.
sourceProperties.categories[0] read_only_udm.security_result.detection_fields[source_properties_categories] Direkte Zuordnung.
sourceProperties.changed_policy read_only_udm.security_result.rule_name Direkte Zuordnung.
sourceProperties.name read_only_udm.target.application Direkte Zuordnung.
sourceProperties.policy_drift_details[0].drift_details.detected_configuration read_only_udm.security_result.rule_labels[policy_drift_details_detected_configuration] Direkte Zuordnung.
sourceProperties.policy_drift_details[0].drift_details.expected_configuration read_only_udm.security_result.rule_labels[policy_drift_details_expected_configuration] Direkte Zuordnung.
sourceProperties.policy_drift_details[0].field_name read_only_udm.security_result.rule_labels[policy_drift_details_field_name] Direkte Zuordnung.
sourceProperties.posture_deployment read_only_udm.security_result.detection_fields[source_properties_posture_deployment_name] Direkte Zuordnung.
sourceProperties.posture_deployment_name read_only_udm.security_result.detection_fields[source_properties_posture_deployment_name] Direkte Zuordnung.
sourceProperties.posture_deployment_resource read_only_udm.security_result.detection_fields[source_properties_posture_deployment_resource] Direkte Zuordnung.
sourceProperties.posture_name read_only_udm.target.application Direkte Zuordnung.
sourceProperties.posture_revision_id read_only_udm.security_result.detection_fields[source_properties_posture_revision_id] Direkte Zuordnung.
sourceProperties.revision_id read_only_udm.security_result.detection_fields[source_properties_posture_revision_id] Direkte Zuordnung.
Status read_only_udm.security_result.detection_fields[state] Direkte Zuordnung.
read_only_udm.metadata.vendor_name Der Parser ordnet den statischen Wert Google zu.
read_only_udm.metadata.product_name Der Parser ordnet den statischen Wert Security Command Center zu.
read_only_udm.target.resource.resource_type Der Parser ordnet den statischen Wert CLUSTER zu.
read_only_udm.security_result.about.investigation.status Der Parser ordnet den statischen Wert NEW zu.
read_only_udm.security_result.alert_state Der Parser ordnet den statischen Wert ALERTING zu.
read_only_udm.is_alert Der Parser ordnet den statischen Wert true zu.
read_only_udm.is_significant Der Parser ordnet den statischen Wert true zu.
read_only_udm.metadata.event_type Der Parser ordnet GENERIC_EVENT als Standardwert zu. Wenn das Feld „category“ dem Wert „SECURITY_POSTURE_DRIFT“ entspricht und „client_device_present“ und „token_target.application“ nicht leer sind, wird „SERVICE_MODIFICATION“ zugeordnet. Wenn das Feld „category“ den Wert „SECURITY_POSTURE_POLICY_DRIFT“, „SECURITY_POSTURE_POLICY_DELETE“, „SECURITY_POSTURE_DETECTOR_DRIFT“ oder „SECURITY_POSTURE_DETECTOR_DELETE“ hat und „network_edr_not_present“ auf „false“ und „client_device_present“ auf „true“ festgelegt ist, wird „SCAN_UNCATEGORIZED“ zugewiesen. Wenn das Feld „token_metadata.event_type“ dem Wert „GENERIC_EVENT“ entspricht, „network_edr_not_present“ auf „false“ und „client_device_present“ auf „true“ gesetzt ist, wird „STATUS_UPDATE“ zugeordnet.
read_only_udm.target.resource_ancestors[1].resource_type Der Parser ordnet den statischen Wert CLOUD_PROJECT zu.
read_only_udm.target.resource.product_object_id Der Parser extrahiert den Wert aus dem Feld „parent“, zwischen dem zweiten und dritten „/“-Zeichen.
read_only_udm.target.resource_ancestors[1].name Der Parser extrahiert den Wert aus dem Feld „resourceName“ zwischen dem vierten und fünften „/“-Zeichen.
read_only_udm.security_result.url_back_to_product Der Parser erstellt die URL dynamisch anhand der aus dem Protokoll extrahierten IDs für Organisation, Quelle und Ergebnisse.
securityMarks.name read_only_udm.security_result.detection_fields[securityMarks_name] Direkte Zuordnung.

Änderungen

2025-02-07

  • Die Zuordnung für das UDM-Feld security_result.url_back_to_product wurde aktualisiert. Der Wert der Projekt-ID aus dem Wert des Rohlogs resource.projectDisplayName wurde an das Ende der URL angehängt, die dem UDM-Feld security_result.url_back_to_product mit dem Präfix ;?project= zugeordnet ist.

2024-11-21

  • Die Unterstützung für die Version 2 der SCC API wurde hinzugefügt. Im Rahmen des Updates wurden die folgenden Felder hinzugefügt:
  • resource.gcpMetadata.project
  • resource.gcpMetadata.projectDisplayName
  • resource.gcpMetadata.parent
  • resource.gcpMetadata.parentDisplayName
  • resource.gcpMetadata.folders.resourceFolder
  • resource.gcpMetadata.folders.resourceFolderDisplayName
  • resource.gcpMetadata.organization

2024-03-20

  • Neu erstellter Parser.

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