Google Cloud Compute-Kontextprotokolle erfassen
In diesem Dokument wird beschrieben, wie Sie Google Cloud Compute-Kontextlogs mithilfe von Cloud Storage exportieren und in Google Security Operations aufnehmen. Der Parser extrahiert Informationen aus den Logs im JSON-Format. Anschließend werden die extrahierten Daten normalisiert und in das Google SecOps UDM-Format strukturiert. Dabei wird der Fokus auf Details zu virtuellen Maschinen gelegt, z. B. Hardwarespezifikationen, Netzwerkkonfiguration, Sicherheitseinstellungen und Beziehungen zu anderen Einheiten.
Hinweise
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Google SecOps-Instanz.
- Compute ist in Ihrer Google Cloud Umgebung eingerichtet und aktiv.
- Privilegierter Zugriff auf Google Cloud und entsprechende Berechtigungen.
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. compute-context-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.
„Compute-Logs exportieren“ konfigurieren Google Cloud
- 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.
Compute-Context-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://compute-context-logs
. Log Filter (Log-Filter):
logName="*compute*" resource.type="gce_instance"
- 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
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 Feedname einen Namen für den Feed ein, z. B. Google Cloud Compute Context Logs.
- Wählen Sie Google Cloud Storage als Quelltyp aus.
- Wählen Sie GCP Compute Context als Log type (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://compute-context-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.
Asset-Namespace: der Asset-Namespace.
- 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://compute-context-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 |
---|---|---|
Vorgänger | event.idm.entity.entity.asset.attribute.labels.value | Jeder übergeordnete Wert im Array „ancestors“ wird einem separaten Label mit dem Schlüssel ancestors zugeordnet. |
assetType | event.idm.entity.entity.asset.category | Direkt aus dem Feld „assetType“ zugeordnet. |
asset_type | event.idm.entity.entity.asset.category | Direkt aus dem Feld „asset_type“ zugeordnet. |
Name | event.idm.entity.entity.resource.name | Direkt aus dem Feld „Name“ zugeordnet. |
resource.data.cpuPlatform | event.idm.entity.entity.asset.hardware.cpu_platform | Direkt aus dem Feld „resource.data.cpuPlatform“ zugeordnet. |
resource.data.creationTimestamp | event.idm.entity.entity.asset.attribute.creation_time | Wird aus dem Feld „resource.data.creationTimestamp“ in ein Zeitstempelformat geparst. |
resource.data.id | event.idm.entity.entity.asset.product_object_id | Direkt aus dem Feld „resource.data.id“ zugeordnet. |
resource.data.labels.business_function | event.idm.entity.entity.asset.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.business_function“ zugeordnet, wobei der Schlüssel auf business_function festgelegt ist. |
resource.data.labels.environment | event.idm.entity.entity.asset.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.environment“ zugeordnet, wobei der Schlüssel auf environment gesetzt ist. |
resource.data.labels.infra_location | event.idm.entity.entity.asset.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.infra_location“ zugeordnet, wobei der Schlüssel auf infra_location festgelegt ist. |
resource.data.labels.instance_group | event.idm.entity.user.group_identifiers | Direkt aus dem Feld „resource.data.labels.instance_group“ zugeordnet. |
resource.data.labels.os | event.idm.entity.entity.asset.platform_software.platform_version | Direkt aus dem Feld „resource.data.labels.os“ zugeordnet. |
resource.data.labels.primary_application | event.idm.entity.entity.asset.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.primary_application“ zugeordnet, wobei der Schlüssel auf primary_application festgelegt ist. |
resource.data.labels.project_code | event.idm.entity.entity.asset.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.project_code“ zugeordnet, wobei der Schlüssel auf project_code festgelegt ist. |
resource.data.lastStartTimestamp | event.idm.entity.entity.asset.last_boot_time | Wird aus dem Feld „resource.data.lastStartTimestamp“ in ein Zeitstempelformat geparst. |
resource.data.machineType | event.idm.entity.entity.asset.hardware.model | Der Maschinentyp wird aus dem Feld „resource.data.machineType“ mithilfe eines regulären Ausdrucks extrahiert. |
resource.data.name | event.idm.entity.entity.asset.hostname | Direkt aus dem Feld „resource.data.name“ zugeordnet. |
resource.data.networkInterfaces.0.accessConfigs.0.natIP | event.idm.entity.entity.asset.nat_ip | Die erste NAT-IP-Adresse der ersten Netzwerkschnittstelle wird zugeordnet. |
resource.data.networkInterfaces.0.network | event.idm.entity.entity.asset.attribute.cloud.vpc.name | Die Netzwerk-ID wird aus dem Feld „resource.data.networkInterfaces.0.network“ mit einem regulären Ausdruck extrahiert. |
resource.data.networkInterfaces.0.networkIP | event.idm.entity.entity.asset.ip | Die IP-Adresse der ersten Netzwerkschnittstelle wird zugeordnet. |
resource.data.networkInterfaces.1.networkIP | event.idm.entity.entity.asset.ip | Die IP-Adresse der zweiten Netzwerkschnittstelle wird zugeordnet. |
resource.data.selfLink | event.idm.entity.entity.url | Direkt aus dem Feld „resource.data.selfLink“ zugeordnet. |
resource.data.serviceAccounts.0.email | event.idm.entity.relations.entity.user.email_addresses | Die E-Mail-Adresse des ersten Dienstkontos wird zugeordnet. |
resource.data.status | event.idm.entity.entity.asset.deployment_status | Wird ACTIVE zugeordnet, wenn der Status einer der folgenden ist: RUNNING , PROVISIONING , STAGING , STOPPING , SUSPENDING , SUSPENDED , REPAIRING , TERMINATED . Andernfalls wird DEPLOYMENT_STATUS_UNSPECIFIED zugeordnet. |
event.idm.entity.entity.asset.attribute.cloud.availability_zone | Die Verfügbarkeitszone wird durch Kombinieren der Felder „region“ und „zone_suffix“ erstellt. | |
event.idm.entity.entity.asset.attribute.cloud.environment | Legen Sie GOOGLE_CLOUD_PLATFORM fest. |
|
event.idm.entity.entity.asset.attribute.cloud.project.name | Die Projekt-ID wird aus dem Feld „Name“ mithilfe eines regulären Ausdrucks extrahiert. | |
event.idm.entity.entity.asset.attribute.cloud.project.resource_type | Legen Sie CLOUD_PROJECT fest. |
|
event.idm.entity.entity.asset.attribute.cloud.vpc.resource_type | Legen Sie VPC_NETWORK fest. |
|
event.idm.entity.entity.resource.resource_type | Legen Sie den Wert auf VIRTUAL_MACHINE fest, wenn „asset_type“ oder „assetType“ Instance enthält. |
|
event.idm.entity.entity.resource.type | Legen Sie den Wert auf VIRTUAL_MACHINE fest, wenn „asset_type“ oder „assetType“ Instance enthält. |
|
event.idm.entity.metadata.collected_timestamp | Auf den Logstash-Ereigniszeitstempel festgelegt. | |
event.idm.entity.metadata.entity_type | Legen Sie ASSET fest. |
|
event.idm.entity.metadata.product_name | Legen Sie GCP Compute Context fest. |
|
event.idm.entity.metadata.vendor_name | Legen Sie Google Cloud Platform fest. |
|
event.idm.entity.relations.entity.user.attribute.cloud.environment | Legen Sie GOOGLE_CLOUD_PLATFORM fest. |
|
event.idm.entity.relations.entity_type | Legen Sie USER fest. |
|
event.idm.entity.relations.relationship | Legen Sie ADMINISTERS fest. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten