Collecter les journaux Wiz

Compatible avec :

Ce document explique comment ingérer des journaux Wiz dans Google Security Operations. L'analyseur transforme les journaux bruts au format JSON de Wiz en Unified Data Model (UDM). Il commence par initialiser les valeurs par défaut des champs UDM, puis analyse le message JSON, extrait les champs pertinents tels que les informations utilisateur, la localisation, les détails de l'appareil et les résultats de sécurité. Wiz est une plate-forme de sécurité cloud qui offre une visibilité de bout en bout sans agent et une priorisation des risques dans les environnements Google Cloud, AWS, Azure, OCI et Kubernetes.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Instance Google SecOps
  • Accès privilégié à Wiz

Obtenir l'ID client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM> Profil.
  3. Copiez et enregistrez le numéro client de la section Informations sur l'organisation.

Obtenir le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Agents de collecte.
  3. Téléchargez le fichier d'authentification de l'ingestion et enregistrez-le dans un emplacement sécurisé.

Configurer l'intégration dans Wiz

  1. Connectez-vous à l'interface utilisateur Web Wiz.
  2. Accédez à la page Se connecter à Wiz.
  3. Cliquez sur Google Cloud Chronicle.
  4. Sélectionnez le champ d'application.
  5. Saisissez votre numéro client Google SecOps.
  6. Saisissez l'adresse du point de terminaison de votre instance Google SecOps.
  7. Importez le fichier d'authentification d'ingestion.
  8. Cliquez sur Enregistrer.

Table de mappage UDM

Champ du journal Mappage UDM Logique
action metadata.product_event_type Mappage direct lorsque eventType est vide.
action principal.application Mappage direct lorsque l'action est Report et que serviceAccount.name n'est pas vide.
actionParameters.groups security_result.detection_fields.value Le parseur parcourt chaque groupe dans actionParameters.groups et le mappe à une entrée detection_fields distincte avec la clé service_account_group.
actionParameters.input.patch.portalVisitHistory.dateTime additional.fields.value.string_value L'analyseur itère sur chaque élément de actionParameters.input.patch.portalVisitHistory et extrait le champ dateTime, en le mappant à une entrée additional.fields distincte avec la clé dateTime {index}.
actionParameters.input.patch.portalVisitHistory.id principal.resource.attribute.labels.value Le parseur parcourt chaque élément de actionParameters.input.patch.portalVisitHistory et extrait le champ "id", en le mappant à une entrée principal.resource.attribute.labels distincte avec la clé id {index}.
actionParameters.input.patch.portalVisitHistory.name principal.resource.attribute.labels.value L'analyseur itère sur chaque élément de actionParameters.input.patch.portalVisitHistory et extrait le champ "name", en le mappant à une entrée principal.resource.attribute.labels distincte avec la clé name {index}.
actionParameters.input.patch.portalVisitHistory.resourceName principal.resource.attribute.labels.value Le parseur parcourt chaque élément de actionParameters.input.patch.portalVisitHistory et extrait le champ resourceName, en le mappant à une entrée principal.resource.attribute.labels distincte avec la clé resourceName {index}.
actionParameters.input.patch.portalVisitHistory.resourceType principal.resource.attribute.labels.value Le parseur parcourt chaque élément de actionParameters.input.patch.portalVisitHistory et extrait le champ resourceType, en le mappant à une entrée principal.resource.attribute.labels distincte avec la clé resourceType {index}.
actionParameters.input.patch.portalVisitHistory.ruleType principal.resource.attribute.labels.value Le parseur parcourt chaque élément de actionParameters.input.patch.portalVisitHistory et extrait le champ ruleType, en le mappant à une entrée principal.resource.attribute.labels distincte avec la clé ruleType {index}.
actionParameters.input.patch.portalVisitHistory.type additional.fields.value.string_value L'analyseur itère sur chaque élément de actionParameters.input.patch.portalVisitHistory et extrait le champ "type", en le mappant à une entrée additional.fields distincte avec la clé type {index}.
actionParameters.name target.user.user_display_name Mappage direct lorsque actionParameters.name n'est pas vide.
actionParameters.products security_result.detection_fields.value Le parseur parcourt chaque produit dans actionParameters.products (à l'exception des chaînes vides et de *) et le mappe à une entrée detection_fields distincte avec la clé service_account_product.
actionParameters.role target.user.attribute.roles.name Mappage direct lorsque actionParameters.role n'est pas vide.
actionParameters.scopes security_result.detection_fields.value Le parseur parcourt chaque portée dans actionParameters.scopes et la mappe à une entrée detection_fields distincte avec la clé service_account_scope.
actionParameters.selection additional.fields.value.list_value.values.string_value L'analyseur itère sur chaque élément de actionParameters.selection.preferences et le mappe à une entrée string_value distincte dans additional.fields.value.list_value.values.
actionParameters.userEmail target.user.email_addresses Extrait à l'aide d'un modèle Grok et mappé lorsqu'il n'est pas vide.
actionParameters.userID target.user.userid Mappage direct lorsque actionParameters.userID n'est pas vide.
actor.displayName target.user.user_display_name Mappage direct lorsque actor.displayName n'est pas vide et n'est pas unknown.
actor.id target.user.userid Mappage direct lorsque actor.id n'est pas vide.
authenticationContext.authenticationProvider security_result.detection_fields.value Mappé à une entrée detection_fields avec la clé authenticationProvider lorsqu'il n'est pas vide.
authenticationContext.credentialProvider security_result.detection_fields.value Mappé à une entrée detection_fields avec la clé credentialProvider lorsqu'il n'est pas vide.
authenticationContext.credentialType extensions.auth.mechanism Utilisé pour dériver la valeur de extensions.auth.mechanism en fonction de valeurs spécifiques.
authenticationContext.externalSessionId network.parent_session_id Mappage direct lorsque la valeur n'est pas vide et n'est pas unknown.
client.device principal.asset.type Utilisé pour dériver la valeur de principal.asset.type en fonction de valeurs spécifiques.
client.geographicalContext.city principal.location.city Mappage direct lorsqu'il n'est pas vide.
client.geographicalContext.country principal.location.country_or_region Mappage direct lorsqu'il n'est pas vide.
client.geographicalContext.geolocation.lat principal.location.region_latitude Mappage direct lorsqu'il n'est pas vide.
client.geographicalContext.geolocation.lon principal.location.region_longitude Mappage direct lorsqu'il n'est pas vide.
client.geographicalContext.postalCode additional.fields.value.string_value Mappé à une entrée "additional.fields" avec la clé Postal code lorsqu'il n'est pas vide.
client.geographicalContext.state principal.location.state Mappage direct lorsqu'il n'est pas vide.
client.ipAddress principal.asset.ip Fusionné avec principal.ip et principal.asset.ip lorsqu'il n'est pas vide.
client.ipAddress principal.ip Fusionné avec principal.ip et principal.asset.ip lorsqu'il n'est pas vide.
client.userAgent.browser target.resource.attribute.labels.value Mappé à une entrée target.resource.attribute.labels avec la clé Browser lorsqu'il n'est pas vide.
client.userAgent.os principal.platform Permet de dériver la valeur de principal.platform en fonction de valeurs spécifiques.
client.userAgent.rawUserAgent network.http.user_agent Mappage direct lorsqu'il n'est pas vide.
debugContext.debugData.behaviors security_result.description Mappage direct lorsqu'il n'est pas vide.
debugContext.debugData.deviceFingerprint target.asset.asset_id Mappé à target.asset.asset_id avec le préfixe device_finger_print: lorsqu'il n'est pas vide.
debugContext.debugData.dtHash security_result.detection_fields.value Mappé à une entrée detection_fields avec la clé dtHash lorsqu'il n'est pas vide.
debugContext.debugData.factor security_result.detection_fields.value Mappé à une entrée detection_fields avec la clé factor lorsqu'il n'est pas vide.
debugContext.debugData.promptingPolicyTypes security_result.detection_fields.value Mappé à une entrée detection_fields avec la clé promptingPolicyTypes lorsqu'il n'est pas vide.
debugContext.debugData.requestUri extensions.auth.auth_details Mappage direct lorsqu'il n'est pas vide.
eventType metadata.event_type Utilisé pour dériver la valeur de metadata.event_type en fonction de valeurs spécifiques.
eventType metadata.product_event_type Mappage direct lorsqu'il n'est pas vide.
outcome.reason security_result.category_details Mappage direct lorsqu'il n'est pas vide.
outcome.result security_result.action Mappé sur security_result.action après normalisation basée sur des valeurs spécifiques.
requestId metadata.product_log_id Mappage direct lorsqu'il n'est pas vide.
serviceAccount.name principal.application Mappage direct lorsque l'action est Report et que serviceAccount.name n'est pas vide.
sourceIP principal.asset.ip Extrait à l'aide d'un modèle Grok et fusionné avec principal.ip et principal.asset.ip lorsqu'il n'est pas vide et qu'il est valide.
sourceIP principal.ip Extrait à l'aide d'un modèle Grok et fusionné avec principal.ip et principal.asset.ip lorsqu'il n'est pas vide et qu'il est valide.
état security_result.summary Mappage direct lorsqu'il n'est pas vide.
timestamp metadata.event_timestamp Converti au format d'horodatage et mappé lorsqu'il n'est pas vide.
user.id target.user.userid Mappage direct lorsque actionParameters.userID est vide et que user.id ne l'est pas.
nom.utilisateur target.user.user_display_name Mappage direct lorsque actionParameters.name est vide et que user.name ne l'est pas.
userAgent network.http.user_agent Mappage direct lorsque client.userAgent.rawUserAgent est vide et que userAgent ne l'est pas.
extensions.auth.type Défini sur AUTHTYPE_UNSPECIFIED lorsque has_user est défini sur "true" et que l'action est Login.
metadata.product_name Variable définie sur WIZ_IO.
metadata.vendor_name Variable définie sur WIZ_IO.
network.http.parsed_user_agent Dérivé de user_agent_value en le convertissant en parseduseragent.
security_result.severity Dérivé de la gravité en fonction de valeurs spécifiques, avec LOW comme valeur par défaut.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.