Security Command Center-Beobachtungsprotokolle erfassen
In diesem Dokument wird beschrieben, wie Sie Security Command Center-Beobachtungslogs mithilfe von Cloud Storage exportieren und in Google Security Operations aufnehmen. Der Parser wandelt Roh-JSON-Daten in ein einheitliches Datenmodell (Unified Data Model, UDM) um. Die Datenstruktur wird normalisiert, wobei potenzielle Abweichungen in der Eingabe berücksichtigt werden. Anschließend werden relevante Felder extrahiert und dem UDM-Schema zugeordnet. Die Daten werden mit zusätzlichem Kontext und Flags für die nachgelagerte Analyse angereichert.
Hinweise
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Security Command Center ist in Ihrer Google Cloud Umgebung aktiviert und konfiguriert.
- Google SecOps-Instanz.
- Privilegierter Zugriff auf Security Command Center und Cloud Logging.
Cloud Storage-Bucket erstellen
- Melden Sie sich in der Google Cloud -Konsole an.
Rufen Sie die Seite Cloud Storage-Buckets auf.
Klicken Sie auf Erstellen.
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:
Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:
- Geben Sie einen eindeutigen Namen ein, der den Anforderungen für Bucket-Namen entspricht, z. B. gcp-scc-observation-logs.
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.
Wenn Sie ein Bucket-Label hinzufügen möchten, klicken Sie auf den Erweiterungspfeil, um den Abschnitt Labels zu maximieren.
Klicken Sie auf Label hinzufügen und geben Sie einen Schlüssel und einen Wert für das Label an.
Gehen Sie im Bereich Speicherort für Daten auswählen so vor:
- Standorttyp auswählen.
Wählen Sie im Menü für den Standorttyp einen Speicherort aus, an dem die Objektdaten in Ihrem Bucket dauerhaft gespeichert werden sollen.
Wenn Sie die Bucket-übergreifende Replikation einrichten möchten, maximieren Sie den Bereich Bucket-übergreifende Replikation einrichten.
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.
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.
Gehen Sie im Bereich Auswählen, wie Objektdaten geschützt werden so vor:
- Wählen Sie unter Datenschutz die gewünschten Optionen für Ihren Bucket aus.
- Um auszuwählen, wie Ihre Objektdaten verschlüsselt werden, klicken Sie auf den Erweiterungspfeil mit dem Label Datenverschlüsselung und wählen Sie eine Datenverschlüsselungsmethode aus.
Klicken Sie auf Erstellen.
Security Command Center-Logging konfigurieren
- Melden Sie sich in der Google Cloud -Konsole an.
Rufen Sie die Seite Security Command Center auf.
Wählen Sie Ihre Organisation aus.
Klicken Sie auf Einstellungen.
Klicken Sie auf den Tab Kontinuierliche Exporte.
Klicken Sie unter Exportname auf Logging-Export.
Aktivieren Sie unter Senken die Option Ergebnisse in Logging in Logs speichern.
Geben Sie unter Logging-Projekt das Projekt ein, in dem Sie die Ergebnisse protokollieren möchten, oder suchen Sie nach dem Projekt.
Klicken Sie auf Speichern.
Export von Security Command Center-Beobachtungslogs konfigurieren
- Melden Sie sich in der Google Cloud -Konsole an.
- Rufen Sie Logging > Log Router auf.
- Klicken Sie auf Senke erstellen.
Geben Sie die folgenden Konfigurationsparameter an:
- Name der Senke: Geben Sie einen aussagekräftigen Namen ein, z. B.
scc-observation-logs-sink
. - Sink Destination (Ziel für Senke): Wählen Sie Cloud Storage Storage (Cloud Storage) aus und geben Sie den URI für Ihren Bucket ein, z. B.
gs://gcp-scc-observation-logs
. Log Filter (Log-Filter):
logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Fobservations" resource.type="security_command_center_observation" logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Ffindings" resource.type="security_center_findings"
Exportoptionen festlegen: Alle Log-Einträge einschließen.
- Name der Senke: Geben Sie einen aussagekräftigen Namen ein, z. B.
Klicken Sie auf Erstellen.
Berechtigungen für Cloud Storage konfigurieren
- Rufen Sie IAM & Verwaltung > IAM auf.
- Suchen Sie das Cloud Logging-Dienstkonto.
- Weisen Sie dem Bucket die Rolle roles/storage.admin zu.
Feeds einrichten
Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:
- SIEM-Einstellungen > Feeds
- Content Hub> Content-Pakete
Feeds über „SIEM-Einstellungen“ > „Feeds“ einrichten
So konfigurieren Sie einen Feed:
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
- Geben Sie im Feld Feed name (Feedname) einen Namen für den Feed ein, z. B. Security Command Center Observation logs (Security Command Center-Beobachtungslogs).
- Wählen Sie Google Cloud Storage als Quelltyp aus.
- Wählen Sie Security Command Center Observation als Logtyp aus.
- Klicken Sie neben dem Feld Chronicle-Dienstkonto auf Dienstkonto abrufen.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
- Storage-Bucket-URI: Cloud Storage-Bucket-URL, z. B.
gs://gcp-scc-observation-logs
. - URI Is A (URI ist ein): Wählen Sie Directory which includes subdirectories (Verzeichnis mit Unterverzeichnissen) aus.
Optionen zum Löschen der Quelle: Wählen Sie die gewünschte Option aus.
- Storage-Bucket-URI: Cloud Storage-Bucket-URL, z. B.
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
Feeds über den Content Hub einrichten
Geben Sie Werte für die folgenden Felder an:
- Storage-Bucket-URI: Cloud Storage-Bucket-URL, z. B.
gs://gcp-scc-observation-logs
. - URI Is A (URI ist ein): Wählen Sie Directory which includes subdirectories (Verzeichnis mit Unterverzeichnissen) aus.
- Optionen zum Löschen der Quelle: Wählen Sie die gewünschte Option aus.
Erweiterte Optionen
- Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
- Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
- Asset-Namespace: Der Namespace, der dem Feed zugeordnet ist.
- Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
access.callerIp | read_only_udm.principal.ip | Direkte Zuordnung |
access.callerIpGeo.regionCode | read_only_udm.principal.location.country_or_region | Direkte Zuordnung |
access.methodName | read_only_udm.additional.fields.value.string_value | Direkte Zuordnung Wird auch read_only_udm.target.labels.value zugeordnet. |
access.principalEmail | read_only_udm.principal.user.email_addresses | Direkte Zuordnung |
access.principalSubject | read_only_udm.principal.user.attribute.labels.value | Direkte Zuordnung |
assetDisplayName | read_only_udm.target.resource.attribute.labels.value | Direkte Zuordnung |
assetId | read_only_udm.target.asset.asset_id | Der Wert nach assets/ wird aus dem Feld „assetId“ extrahiert und als AssetID:<extracted_value> zugeordnet. |
Kategorie | read_only_udm.metadata.product_event_type | Direkte Zuordnung |
contacts.security.contacts.email | read_only_udm.security_result.about.user.email_addresses | Direkte Zuordnung Das Objekt about kann je nach Anzahl der Kontakte mehrmals wiederholt werden. Das Feld roles.name ist für dieses Feld auf Security gesetzt. |
contacts.technical.contacts.email | read_only_udm.security_result.about.user.email_addresses | Direkte Zuordnung Das Objekt about kann je nach Anzahl der Kontakte mehrmals wiederholt werden. Das Feld roles.name ist für dieses Feld auf Technical gesetzt. |
createTime | read_only_udm.security_result.detection_fields.value | Direkte Zuordnung Das Objekt detection_fields kann je nach den verfügbaren Feldern mehrmals wiederholt werden. Das Feld key ist für dieses Feld auf createTime gesetzt. |
eventTime | read_only_udm.metadata.event_timestamp | In Zeitstempelformat konvertiert. |
externalUri | read_only_udm.about.url | Direkte Zuordnung |
findingClass | read_only_udm.security_result.category_details | Direkte Zuordnung |
findingProviderId | read_only_udm.target.resource.attribute.labels.value | Direkte Zuordnung |
mitreAttack.primaryTactic | read_only_udm.security_result.detection_fields.value | Direkte Zuordnung Das Objekt detection_fields kann je nach den verfügbaren Feldern mehrmals wiederholt werden. Das Feld key ist für dieses Feld auf primary_tactic gesetzt. |
mitreAttack.primaryTechniques | read_only_udm.security_result.detection_fields.value | Direkte Zuordnung Das detection_fields -Objekt kann je nach Anzahl der Techniken mehrmals wiederholt werden. Das Feld key ist für dieses Feld auf primary_technique gesetzt. |
mute | read_only_udm.security_result.detection_fields.value | Direkte Zuordnung Das Objekt detection_fields kann je nach den verfügbaren Feldern mehrmals wiederholt werden. Das Feld key ist für dieses Feld auf mute gesetzt. |
Name | read_only_udm.metadata.product_log_id | Direkte Zuordnung |
parentDisplayName | read_only_udm.metadata.description | Direkte Zuordnung |
resource.display_name | read_only_udm.target.resource.attribute.labels.value | Direkte Zuordnung |
resource.name | read_only_udm.target.resource.name, read_only_udm.principal.resource.name | Direkte Zuordnung Wenn dieses Feld zum Ausfüllen des Felds principal.resource.name verwendet wird, prüft der Parser, ob resource.project_name leer ist. Wenn sie nicht leer ist, wird stattdessen resource.project_name verwendet. |
resource.parent_display_name | read_only_udm.target.resource.attribute.labels.value | Direkte Zuordnung |
resource.parent_name | read_only_udm.target.resource.attribute.labels.value | Direkte Zuordnung |
resource.project_display_name | read_only_udm.target.resource.attribute.labels.value | Direkte Zuordnung |
resource.project_name | read_only_udm.target.resource.attribute.labels.value | Direkte Zuordnung |
resource.type | read_only_udm.target.resource.attribute.labels.value | Direkte Zuordnung |
resourceName | read_only_udm.target.resource.name | Direkte Zuordnung |
securityMarks.name | read_only_udm.security_result.detection_fields.value | Direkte Zuordnung Das Objekt detection_fields kann je nach den verfügbaren Feldern mehrmals wiederholt werden. Das Feld key ist für dieses Feld auf securityMarks_name gesetzt. |
die Ausprägung | read_only_udm.security_result.severity, read_only_udm.security_result.priority_details | Direkte Zuordnung |
sourceDisplayName | read_only_udm.target.resource.attribute.labels.value | Direkte Zuordnung |
sourceProperties.contextUris.mitreUri.displayName | read_only_udm.security_result.detection_fields.key | Direkte Zuordnung Das Objekt detection_fields kann je nach den verfügbaren Feldern mehrmals wiederholt werden. |
sourceProperties.contextUris.mitreUri.url | read_only_udm.security_result.detection_fields.value | Direkte Zuordnung Das Objekt detection_fields kann je nach den verfügbaren Feldern mehrmals wiederholt werden. |
sourceProperties.detectionCategory.ruleName | read_only_udm.security_result.rule_name | Direkte Zuordnung |
sourceProperties.detectionCategory.subRuleName | read_only_udm.security_result.detection_fields.value | Direkte Zuordnung Das Objekt detection_fields kann je nach den verfügbaren Feldern mehrmals wiederholt werden. Das Feld key ist für dieses Feld auf sourceProperties_detectionCategory_subRuleName gesetzt. |
sourceProperties.detectionPriority | read_only_udm.security_result.priority_details | Direkte Zuordnung |
sourceProperties.findingId | read_only_udm.target.resource.attribute.labels.value | Direkte Zuordnung |
state | read_only_udm.security_result.detection_fields.value | Direkte Zuordnung Das Objekt detection_fields kann je nach den verfügbaren Feldern mehrmals wiederholt werden. Das Feld key ist für dieses Feld auf state gesetzt. |
– | read_only_udm.metadata.log_type | Hartcodiert auf GCP_SECURITYCENTER_OBSERVATION . |
– | read_only_udm.metadata.product_name | Hartcodiert auf Security Command Center . |
– | read_only_udm.metadata.vendor_name | Hartcodiert auf Google . |
– | read_only_udm.principal.user.account_type | Wird auf CLOUD_ACCOUNT_TYPE festgelegt, wenn die E-Mail-Adresse des Principals vorhanden ist. |
– | read_only_udm.security_result.alert_state | Hartcodiert auf ALERTING . |
– | read_only_udm.security_result.priority | Wird auf LOW_PRIORITY gesetzt, wenn der Schweregrad LOW ist. |
– | read_only_udm.target.application | Aus dem Feld „resourceName“ extrahiert. |
– | read_only_udm.target.resource.product_object_id | Aus übergeordnetem Feld extrahiert. |
– | read_only_udm.target.resource.resource_type | Standardmäßig auf CLUSTER festgelegt. Wird auf VIRTUAL_MACHINE gesetzt, wenn die Kategorie Impact: GPU Instance Created oder Impact: Many Instances Created ist. Wird auf SETTING gesetzt, wenn die Kategorie Persistence: Add Sensitive Role ist. |
– | read_only_udm.target.resource_ancestors.name | Aus den Feldern „parent“ und „resourceName“ extrahiert. |
– | read_only_udm.target.resource_ancestors.product_object_id | Aus den Feldern „parent“, „resource.project_name“ und „resourceName“ extrahiert. |
– | read_only_udm.target.resource_ancestors.resource_type | Wird auf CLOUD_PROJECT festgelegt, wenn resource.type google.compute.Project ist. |
– | read_only_udm.target.labels.key | Der Wert wird auf access_methodName gesetzt, wenn access.methodName vorhanden ist. |
– | read_only_udm.target.labels.value | Der Wert wird aus access.methodName festgelegt. |
– | read_only_udm.target.resource.attribute.labels.key | Der Schlüssel wird basierend auf dem verfügbaren Feld auf einen der folgenden Werte festgelegt: resource_parentDisplayName , resource_type , resource_parentName , resource_projectDisplayName , resource_displayName , finding_id , source_id , FindingProviderId , sourceDisplayName , asset_display_name . |
– | read_only_udm.target.resource.attribute.labels.value | Der Wert wird basierend auf dem verfügbaren Feld aus einem der folgenden Felder festgelegt: parentDisplayName, resource.type, resource.parent_name, resource.project_display_name, resource.display_name, sourceProperties.findingId, sourceProperties.sourceId, findingProviderId, sourceDisplayName, assetDisplayName. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten