Wiz-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Wiz-Logs in Google Security Operations aufnehmen. Der Parser wandelt Rohlogs im JSON-Format von Wiz in ein einheitliches Datenmodell (Unified Data Model, UDM) um. Zuerst werden Standardwerte für UDM-Felder initialisiert, dann wird die JSON-Nachricht geparst und relevante Felder wie Nutzerinformationen, Standort, Gerätedetails und Sicherheitsergebnisse werden extrahiert. Wiz ist eine Cloud-Sicherheitsplattform, die agentenlose End-to-End-Transparenz und Risikopriorisierung in Google Cloud-, AWS-, Azure-, OCI- und Kubernetes-Umgebungen bietet.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Privilegierter Zugriff auf Wiz
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Collection Agents auf.
- Laden Sie die Datei zur Authentifizierung der Aufnahme herunter und speichern Sie sie an einem sicheren Ort.
Integration in Wiz konfigurieren
- Melden Sie sich in der Wiz-Web-UI an.
- Rufen Sie die Seite Mit Wiz verbinden auf.
- Klicken Sie auf Google Cloud Chronicle.
- Wählen Sie den Bereich aus.
- Geben Sie Ihre Google SecOps-Kundennummer ein.
- Geben Sie die Endpunktadresse Ihrer Google SecOps-Instanz ein.
- Kanada: https://northamerica-northeast2-malachiteingestion-pa.googleapis.com
- Dammam: https://me-central2-malachiteingestion-pa.googleapis.com
- Europa, mehrere Regionen: https://europe-malachiteingestion-pa.googleapis.com
- Frankfurt: https://europe-west3-malachiteingestion-pa.googleapis.com
- London: https://europe-west2-malachiteingestion-pa.googleapis.com
- Mumbai: https://asia-south1-malachiteingestion-pa.googleapis.com
- Singapur: https://asia-southeast1-malachiteingestion-pa.googleapis.com
- Sydney: https://australia-southeast1-malachiteingestion-pa.googleapis.com
- Tel Aviv: https://me-west1-malachiteingestion-pa.googleapis.com
- Tokio: https://asia-northeast1-malachiteingestion-pa.googleapis.com
- USA (mehrere Regionen): https://malachiteingestion-pa.googleapis.com
- Zürich: https://europe-west6-malachiteingestion-pa.googleapis.com
- Laden Sie die Authentifizierungsdatei für die Aufnahme hoch.
- Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
Aktion | metadata.product_event_type | Direkte Zuordnung, wenn „eventType“ leer ist. |
Aktion | principal.application | Direkte Zuordnung, wenn „action“ Report ist und „serviceAccount.name“ nicht leer ist. |
actionParameters.groups | security_result.detection_fields.value | Der Parser durchläuft jede Gruppe in „actionParameters.groups“ und ordnet sie einem separaten „detection_fields“-Eintrag mit dem Schlüssel service_account_group zu. |
actionParameters.input.patch.portalVisitHistory.dateTime | additional.fields.value.string_value | Der Parser durchläuft jedes Element in „actionParameters.input.patch.portalVisitHistory“, extrahiert das Feld „dateTime“ und ordnet es einem separaten „additional.fields“-Eintrag mit dem Schlüssel dateTime {index} zu. |
actionParameters.input.patch.portalVisitHistory.id | principal.resource.attribute.labels.value | Der Parser durchläuft jedes Element in „actionParameters.input.patch.portalVisitHistory“, extrahiert das Feld „id“ und ordnet es einem separaten Eintrag „principal.resource.attribute.labels“ mit dem Schlüssel id {index} zu. |
actionParameters.input.patch.portalVisitHistory.name | principal.resource.attribute.labels.value | Der Parser durchläuft jedes Element in „actionParameters.input.patch.portalVisitHistory“ und extrahiert das Feld „name“. Es wird einem separaten Eintrag „principal.resource.attribute.labels“ mit dem Schlüssel name {index} zugeordnet. |
actionParameters.input.patch.portalVisitHistory.resourceName | principal.resource.attribute.labels.value | Der Parser durchläuft jedes Element in „actionParameters.input.patch.portalVisitHistory“, extrahiert das Feld „resourceName“ und ordnet es einem separaten Eintrag „principal.resource.attribute.labels“ mit dem Schlüssel resourceName {index} zu. |
actionParameters.input.patch.portalVisitHistory.resourceType | principal.resource.attribute.labels.value | Der Parser durchläuft jedes Element in „actionParameters.input.patch.portalVisitHistory“, extrahiert das Feld „resourceType“ und ordnet es einem separaten Eintrag „principal.resource.attribute.labels“ mit dem Schlüssel resourceType {index} zu. |
actionParameters.input.patch.portalVisitHistory.ruleType | principal.resource.attribute.labels.value | Der Parser durchläuft jedes Element in „actionParameters.input.patch.portalVisitHistory“, extrahiert das Feld „ruleType“ und ordnet es einem separaten Eintrag „principal.resource.attribute.labels“ mit dem Schlüssel ruleType {index} zu. |
actionParameters.input.patch.portalVisitHistory.type | additional.fields.value.string_value | Der Parser durchläuft jedes Element in „actionParameters.input.patch.portalVisitHistory“ und extrahiert das Feld „type“. Es wird einem separaten „additional.fields“-Eintrag mit dem Schlüssel type {index} zugeordnet. |
actionParameters.name | target.user.user_display_name | Direkte Zuordnung, wenn „actionParameters.name“ nicht leer ist. |
actionParameters.products | security_result.detection_fields.value | Der Parser durchläuft jedes Produkt in „actionParameters.products“ (mit Ausnahme von leeren Strings und * ) und ordnet es einem separaten „detection_fields“-Eintrag mit dem Schlüssel service_account_product zu. |
actionParameters.role | target.user.attribute.roles.name | Direkte Zuordnung, wenn „actionParameters.role“ nicht leer ist. |
actionParameters.scopes | security_result.detection_fields.value | Der Parser durchläuft jeden Bereich in „actionParameters.scopes“ und ordnet ihn einem separaten „detection_fields“-Eintrag mit dem Schlüssel service_account_scope zu. |
actionParameters.selection | additional.fields.value.list_value.values.string_value | Der Parser durchläuft jedes Element in „actionParameters.selection.preferences“ und ordnet es einem separaten „string_value“-Eintrag in „additional.fields.value.list_value.values“ zu. |
actionParameters.userEmail | target.user.email_addresses | Wird mit einem Grok-Muster extrahiert und zugeordnet, wenn es nicht leer ist. |
actionParameters.userID | target.user.userid | Direkte Zuordnung, wenn „actionParameters.userID“ nicht leer ist. |
actor.displayName | target.user.user_display_name | Direkte Zuordnung, wenn „actor.displayName“ nicht leer und nicht unknown ist. |
actor.id | target.user.userid | Direkte Zuordnung, wenn „actor.id“ nicht leer ist. |
authenticationContext.authenticationProvider | security_result.detection_fields.value | Wird einem „detection_fields“-Eintrag mit dem Schlüssel authenticationProvider zugeordnet, wenn er nicht leer ist. |
authenticationContext.credentialProvider | security_result.detection_fields.value | Wird einem „detection_fields“-Eintrag mit dem Schlüssel credentialProvider zugeordnet, wenn er nicht leer ist. |
authenticationContext.credentialType | extensions.auth.mechanism | Wird verwendet, um den Wert für „extensions.auth.mechanism“ auf Grundlage bestimmter Werte abzuleiten. |
authenticationContext.externalSessionId | network.parent_session_id | Direkte Zuordnung, wenn nicht leer und nicht unknown . |
client.device | principal.asset.type | Wird verwendet, um den Wert für „principal.asset.type“ basierend auf bestimmten Werten abzuleiten. |
client.geographicalContext.city | principal.location.city | Direkte Zuordnung, wenn nicht leer. |
client.geographicalContext.country | principal.location.country_or_region | Direkte Zuordnung, wenn nicht leer. |
client.geographicalContext.geolocation.lat | principal.location.region_latitude | Direkte Zuordnung, wenn nicht leer. |
client.geographicalContext.geolocation.lon | principal.location.region_longitude | Direkte Zuordnung, wenn nicht leer. |
client.geographicalContext.postalCode | additional.fields.value.string_value | Wird einem „additional.fields“-Eintrag mit dem Schlüssel Postal code zugeordnet, wenn er nicht leer ist. |
client.geographicalContext.state | principal.location.state | Direkte Zuordnung, wenn nicht leer. |
client.ipAddress | principal.asset.ip | Wird mit „principal.ip“ und „principal.asset.ip“ zusammengeführt, wenn diese nicht leer sind. |
client.ipAddress | principal.ip | Wird mit „principal.ip“ und „principal.asset.ip“ zusammengeführt, wenn diese nicht leer sind. |
client.userAgent.browser | target.resource.attribute.labels.value | Wird einem „target.resource.attribute.labels“-Eintrag mit dem Schlüssel Browser zugeordnet, wenn er nicht leer ist. |
client.userAgent.os | principal.platform | Wird verwendet, um den Wert für „principal.platform“ auf Grundlage bestimmter Werte abzuleiten. |
client.userAgent.rawUserAgent | network.http.user_agent | Direkte Zuordnung, wenn nicht leer. |
debugContext.debugData.behaviors | security_result.description | Direkte Zuordnung, wenn nicht leer. |
debugContext.debugData.deviceFingerprint | target.asset.asset_id | Wird target.asset.asset_id mit dem Präfix device_finger_print: zugeordnet, wenn es nicht leer ist. |
debugContext.debugData.dtHash | security_result.detection_fields.value | Wird einem „detection_fields“-Eintrag mit dem Schlüssel dtHash zugeordnet, wenn er nicht leer ist. |
debugContext.debugData.factor | security_result.detection_fields.value | Wird einem „detection_fields“-Eintrag mit dem Schlüssel factor zugeordnet, wenn er nicht leer ist. |
debugContext.debugData.promptingPolicyTypes | security_result.detection_fields.value | Wird einem „detection_fields“-Eintrag mit dem Schlüssel promptingPolicyTypes zugeordnet, wenn er nicht leer ist. |
debugContext.debugData.requestUri | extensions.auth.auth_details | Direkte Zuordnung, wenn nicht leer. |
eventType | metadata.event_type | Wird verwendet, um den Wert für „metadata.event_type“ auf Grundlage bestimmter Werte abzuleiten. |
eventType | metadata.product_event_type | Direkte Zuordnung, wenn nicht leer. |
outcome.reason | security_result.category_details | Direkte Zuordnung, wenn nicht leer. |
outcome.result | security_result.action | Wird nach der Normalisierung basierend auf bestimmten Werten security_result.action zugeordnet. |
requestId | metadata.product_log_id | Direkte Zuordnung, wenn nicht leer. |
serviceAccount.name | principal.application | Direkte Zuordnung, wenn „action“ Report ist und „serviceAccount.name“ nicht leer ist. |
sourceIP | principal.asset.ip | Wird mit einem Grok-Muster extrahiert und mit „principal.ip“ und „principal.asset.ip“ zusammengeführt, wenn diese nicht leer und gültig sind. |
sourceIP | principal.ip | Wird mit einem Grok-Muster extrahiert und mit „principal.ip“ und „principal.asset.ip“ zusammengeführt, wenn diese nicht leer und gültig sind. |
Status | security_result.summary | Direkte Zuordnung, wenn nicht leer. |
timestamp | metadata.event_timestamp | In das Zeitstempelformat konvertiert und zugeordnet, wenn nicht leer. |
user.id | target.user.userid | Direkte Zuordnung, wenn „actionParameters.userID“ leer und „user.id“ nicht leer ist. |
nutzer.name | target.user.user_display_name | Direkte Zuordnung, wenn „actionParameters.name“ leer und „user.name“ nicht leer ist. |
userAgent | network.http.user_agent | Direkte Zuordnung, wenn „client.userAgent.rawUserAgent“ leer und „userAgent“ nicht leer ist. |
extensions.auth.type | Auf AUTHTYPE_UNSPECIFIED festgelegt, wenn „has_user“ „true“ ist und „action“ Login ist. |
|
metadata.product_name | Legen Sie WIZ_IO fest. |
|
metadata.vendor_name | Legen Sie WIZ_IO fest. |
|
network.http.parsed_user_agent | Abgeleitet von „user_agent_value“ durch Konvertierung in „parseduseragent“. | |
security_result.severity | Abgeleitet vom Schweregrad basierend auf bestimmten Werten, standardmäßig LOW . |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten