Cloud Security Command Center-Fehlerprotokolle erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Security Command Center-Fehlerprotokolle mithilfe von Cloud Storage in Google Security Operations exportieren und aufnehmen. Der Parser wandelt Rohlogs im JSON-Format in ein einheitliches Datenmodell (UDM) um. Es werden relevante Felder aus dem Rohprotokoll extrahiert, Daten werden bereinigt und normalisiert und die Ausgabe wird gemäß dem UDM-Schema für eine einheitliche Sicherheitsanalyse strukturiert.

Hinweise

  • Google Cloud Security Command Center muss in Ihrer Umgebung aktiviert und konfiguriert 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-error-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-Fehlerprotokollen 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-error-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-error-logs.
    • Log-Filter:

      logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Ferror_logs"
       resource.type="security_command_center_error"
      
    • 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.

Konfigurieren Sie einen Feed in Google SecOps, um Google Cloud Security Command Center-Fehlerprotokolle 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-Fehlerprotokolle.
  4. Wählen Sie Google Cloud Storage als Quelltyp aus.
  5. Wählen Sie Security Command Center-Fehler 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-error-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
access.principalEmail about.user.email_addresses Wert aus dem Feld access.principalEmail.
Kategorie metadata.product_event_type Wert, der je nach Protokollformat aus dem Feld category oder findings.category übernommen wird.
contacts.security.contacts.email security_result.about.user.email_addresses Wert aus dem Feld contacts.security.contacts.email. Die Rolle ist auf Security festgelegt.
contacts.technical.contacts.email security_result.about.user.email_addresses Wert aus dem Feld contacts.technical.contacts.email. Die Rolle ist auf Technical festgelegt.
createTime security_result.detection_fields.value Wert, der je nach Protokollformat aus dem Feld createTime oder findings.createTime übernommen wird. Der Schlüssel ist auf createTime festgelegt.
description security_result.description Wert, der je nach Protokollformat aus dem Feld description oder findings.description übernommen wird.
eventTime metadata.event_timestamp Wert, der je nach Protokollformat aus dem Feld eventTime oder findings.eventTime übernommen und in einen Zeitstempel umgewandelt wird.
externalUri about.url Wert, der je nach Protokollformat aus dem Feld externalUri oder findings.externalUri übernommen wird.
findingClass security_result.category_details Wert, der je nach Protokollformat aus dem Feld findingClass oder findings.findingClass übernommen wird.
findingProviderId target.resource.attribute.labels.value Wert, der je nach Protokollformat aus dem Feld findingProviderId oder findings.findingProviderId übernommen wird. Der Schlüssel ist auf finding_provider_id festgelegt.
mute security_result.detection_fields.value Wert, der je nach Protokollformat aus dem Feld mute oder findings.mute übernommen wird. Der Schlüssel ist auf mute festgelegt.
nextSteps security_result.outcomes.value Wert, der je nach Protokollformat aus dem Feld nextSteps oder findings.nextSteps übernommen wird. Der Schlüssel ist auf nextSteps festgelegt.
resourceName target.resource.name Wert aus dem Feld resourceName, findings.resourceName, resource_name oder findings.resource_name, je nach Protokollformat.
securityMarks.name security_result.detection_fields.value Wert, der je nach Protokollformat aus dem Feld securityMarks.name oder findings.securityMarks.name übernommen wird. Der Schlüssel ist auf securityMarks_name festgelegt.
die Ausprägung security_result.severity Wert, der je nach Logformat aus dem Feld severity oder findings.severity übernommen und der entsprechenden UDM-Schweregradstufe zugeordnet wird.
sourceDisplayName target.resource.attribute.labels.value Wert, der je nach Protokollformat aus dem Feld sourceDisplayName oder findings.sourceDisplayName übernommen wird. Der Schlüssel ist auf source_display_name festgelegt.
sourceProperties.ReactivationCount target.resource.attribute.labels.value Wert, der je nach Protokollformat aus dem Feld sourceProperties.ReactivationCount oder findings.sourceProperties.ReactivationCount übernommen wird. Der Schlüssel ist auf sourceProperties_ReactivationCount festgelegt.
Status security_result.detection_fields.value Wert, der je nach Protokollformat aus dem Feld state oder findings.state übernommen wird. Der Schlüssel ist auf state festgelegt.
is_alert Legen Sie true fest, wenn die Parserlogik feststellt, dass das Ereignis eine aktive Benachrichtigung darstellt.
is_significant Legen Sie true fest, wenn die Parserlogik feststellt, dass das Ereignis wichtig ist.
metadata.event_type Legen Sie als Standardwert GENERIC_EVENT fest.
metadata.log_type Hartcodierter Wert GCP_SECURITYCENTER_ERROR.
metadata.description Hartcodierter Wert Security Command Center.
metadata.product_name Hartcodierter Wert Security Command Center.
metadata.vendor_name Hartcodierter Wert Google.
target.resource.attribute.labels.key Hartcodierter Wert finding_id.
target.resource.attribute.labels.value Wird aus dem Feld name oder findings.name extrahiert und umfasst den letzten Teil nach dem letzten /-Zeichen.
target.resource.product_object_id Wird aus dem Feld parent oder findings.parent extrahiert und erfasst den Wert nach dem letzten /-Zeichen.
target.resource.ancestors.name Wert, der je nach Protokollformat aus dem Feld parent oder findings.parent übernommen wird.
target.resource_ancestors.name Wird aus dem Feld resourceName oder findings.resourceName extrahiert und erfasst den Wert nach dem Präfix //cloudresourcemanager.googleapis.com/projects/.
target.resource_ancestors.resource_type Hartcodierter Wert CLOUD_PROJECT.
target.resource.attribute.labels.key Hartcodierter Wert source_id.
target.resource.attribute.labels.value Wird aus dem Feld parent oder findings.parent extrahiert und erfasst den Wert nach dem zweiten /-Zeichen.
security_result.alert_state Zuordnung anhand des Felds state oder findings.state. Wenn der Status ACTIVE lautet, wird „alert_state“ auf ALERTING gesetzt, andernfalls auf NOT_ALERTING.
about.user.email_addresses Wert aus dem Feld iamBindings.member.
about.user.attribute.roles.name Hartcodierter Wert Security.

Änderungen

2023-11-29

  • Eine Inkonsistenz bei der Verarbeitung von principal/target.hostname und principal/target.asset.hostname wurde behoben.

2023-05-02

  • Das Feld security_result.url_back_to_product enthält jetzt eine korrekt formatierte Webadresse.

2023-04-12

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