Raccogliere i log di Wiz
Questo documento spiega come importare i log di Wiz in Google Security Operations. Il parser trasforma i log non elaborati in formato JSON di Wiz in un modello Unified Data Model (UDM). Inizialmente inizializza i valori predefiniti per i campi UDM, poi analizza il messaggio JSON, estrae i campi pertinenti come informazioni utente, posizione, dettagli del dispositivo e risultati di sicurezza. Wiz è una piattaforma di sicurezza cloud che offre visibilità end-to-end senza agente e definizione delle priorità dei rischi in Google Cloud, ambienti AWS, Azure, OCI e Kubernetes.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Istanza Google SecOps
- Accesso privilegiato a Wiz
Recuperare l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
- Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.
Recuperare il file di autenticazione importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione dell'importazione e salvalo in una posizione sicura.
Configurare l'integrazione in Wiz
- Accedi all'UI web di Wiz.
- Vai alla pagina Connetti a Wiz.
- Fai clic su Google Cloud Chronicle.
- Seleziona l'ambito.
- Inserisci il tuo ID cliente Google SecOps.
- Inserisci l'indirizzo dell'endpoint dell'istanza Google SecOps.
- Canada: https://northamerica-northeast2-malachiteingestion-pa.googleapis.com
- Dammam: https://me-central2-malachiteingestion-pa.googleapis.com
- Europa multiregionale: https://europe-malachiteingestion-pa.googleapis.com
- Francoforte: https://europe-west3-malachiteingestion-pa.googleapis.com
- Londra: https://europe-west2-malachiteingestion-pa.googleapis.com
- Mumbai: https://asia-south1-malachiteingestion-pa.googleapis.com
- Singapore: https://asia-southeast1-malachiteingestion-pa.googleapis.com
- Sydney: https://australia-southeast1-malachiteingestion-pa.googleapis.com
- Tel Aviv: https://me-west1-malachiteingestion-pa.googleapis.com
- Tokyo: https://asia-northeast1-malachiteingestion-pa.googleapis.com
- Multi-Region Stati Uniti: https://malachiteingestion-pa.googleapis.com
- Zurigo: https://europe-west6-malachiteingestion-pa.googleapis.com
- Carica il file di autenticazione importazione.
- Fai clic su Salva.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logic |
|---|---|---|
| azione | metadata.product_event_type | Mappatura diretta quando eventType è vuoto. |
| azione | principal.application | Mappatura diretta quando l'azione è Report e serviceAccount.name non è vuoto. |
| actionParameters.groups | security_result.detection_fields.value | Il parser scorre ogni gruppo in actionParameters.groups e lo mappa a una voce detection_fields separata con la chiave service_account_group. |
| actionParameters.input.patch.portalVisitHistory.dateTime | additional.fields.value.string_value | Il parser scorre ogni elemento in actionParameters.input.patch.portalVisitHistory ed estrae il campo dateTime, mappandolo a una voce additional.fields separata con la chiave dateTime {index}. |
| actionParameters.input.patch.portalVisitHistory.id | principal.resource.attribute.labels.value | Il parser scorre ogni elemento in actionParameters.input.patch.portalVisitHistory ed estrae il campo id, mappandolo a una voce principal.resource.attribute.labels separata con la chiave id {index}. |
| actionParameters.input.patch.portalVisitHistory.name | principal.resource.attribute.labels.value | Il parser scorre ogni elemento in actionParameters.input.patch.portalVisitHistory ed estrae il campo name, mappandolo a una voce principal.resource.attribute.labels separata con la chiave name {index}. |
| actionParameters.input.patch.portalVisitHistory.resourceName | principal.resource.attribute.labels.value | Il parser scorre ogni elemento in actionParameters.input.patch.portalVisitHistory ed estrae il campo resourceName, mappandolo a una voce principal.resource.attribute.labels separata con la chiave resourceName {index}. |
| actionParameters.input.patch.portalVisitHistory.resourceType | principal.resource.attribute.labels.value | Il parser scorre ogni elemento in actionParameters.input.patch.portalVisitHistory ed estrae il campo resourceType, mappandolo a una voce principal.resource.attribute.labels separata con la chiave resourceType {index}. |
| actionParameters.input.patch.portalVisitHistory.ruleType | principal.resource.attribute.labels.value | Il parser scorre ogni elemento in actionParameters.input.patch.portalVisitHistory ed estrae il campo ruleType, mappandolo a una voce principal.resource.attribute.labels separata con la chiave ruleType {index}. |
| actionParameters.input.patch.portalVisitHistory.type | additional.fields.value.string_value | Il parser scorre ogni elemento in actionParameters.input.patch.portalVisitHistory ed estrae il campo type, mappandolo a una voce additional.fields separata con la chiave type {index}. |
| actionParameters.name | target.user.user_display_name | Mappatura diretta quando actionParameters.name non è vuoto. |
| actionParameters.products | security_result.detection_fields.value | Il parser scorre ogni prodotto in actionParameters.products (escluse le stringhe vuote e *) e lo mappa a una voce detection_fields separata con la chiave service_account_product. |
| actionParameters.role | target.user.attribute.roles.name | Mappatura diretta quando actionParameters.role non è vuoto. |
| actionParameters.scopes | security_result.detection_fields.value | Il parser scorre ogni ambito in actionParameters.scopes e lo mappa a una voce detection_fields separata con la chiave service_account_scope. |
| actionParameters.selection | additional.fields.value.list_value.values.string_value | Il parser scorre ogni elemento in actionParameters.selection.preferences e lo mappa a una voce string_value separata all'interno di additional.fields.value.list_value.values. |
| actionParameters.userEmail | target.user.email_addresses | Estratto utilizzando un pattern grok e mappato quando non è vuoto. |
| actionParameters.userID | target.user.userid | Mappatura diretta quando actionParameters.userID non è vuoto. |
| actor.displayName | target.user.user_display_name | Mappatura diretta quando actor.displayName non è vuoto e non è unknown. |
| actor.id | target.user.userid | Mappatura diretta quando actor.id non è vuoto. |
| authenticationContext.authenticationProvider | security_result.detection_fields.value | Mappato a una voce detection_fields con chiave authenticationProvider quando non è vuoto. |
| authenticationContext.credentialProvider | security_result.detection_fields.value | Mappato a una voce detection_fields con chiave credentialProvider quando non è vuoto. |
| authenticationContext.credentialType | extensions.auth.mechanism | Utilizzato per derivare il valore di extensions.auth.mechanism in base a valori specifici. |
| authenticationContext.externalSessionId | network.parent_session_id | Mappatura diretta quando non è vuoto e non è unknown. |
| client.device | principal.asset.type | Utilizzato per derivare il valore di principal.asset.type in base a valori specifici. |
| client.geographicalContext.city | principal.location.city | Mappatura diretta quando non è vuoto. |
| client.geographicalContext.country | principal.location.country_or_region | Mappatura diretta quando non è vuoto. |
| client.geographicalContext.geolocation.lat | principal.location.region_latitude | Mappatura diretta quando non è vuoto. |
| client.geographicalContext.geolocation.lon | principal.location.region_longitude | Mappatura diretta quando non è vuoto. |
| client.geographicalContext.postalCode | additional.fields.value.string_value | Mappato a una voce additional.fields con la chiave Postal code se non è vuoto. |
| client.geographicalContext.state | principal.location.state | Mappatura diretta quando non è vuoto. |
| client.ipAddress | principal.asset.ip | Unito a principal.ip e principal.asset.ip quando non è vuoto. |
| client.ipAddress | principal.ip | Unito a principal.ip e principal.asset.ip quando non è vuoto. |
| client.userAgent.browser | target.resource.attribute.labels.value | Mappato a una voce target.resource.attribute.labels con chiave Browser quando non è vuota. |
| client.userAgent.os | principal.platform | Utilizzato per derivare il valore di principal.platform in base a valori specifici. |
| client.userAgent.rawUserAgent | network.http.user_agent | Mappatura diretta quando non è vuoto. |
| debugContext.debugData.behaviors | security_result.description | Mappatura diretta quando non è vuoto. |
| debugContext.debugData.deviceFingerprint | target.asset.asset_id | Mappato a target.asset.asset_id con il prefisso device_finger_print: se non è vuoto. |
| debugContext.debugData.dtHash | security_result.detection_fields.value | Mappato a una voce detection_fields con chiave dtHash quando non è vuoto. |
| debugContext.debugData.factor | security_result.detection_fields.value | Mappato a una voce detection_fields con chiave factor quando non è vuoto. |
| debugContext.debugData.promptingPolicyTypes | security_result.detection_fields.value | Mappato a una voce detection_fields con chiave promptingPolicyTypes quando non è vuoto. |
| debugContext.debugData.requestUri | extensions.auth.auth_details | Mappatura diretta quando non è vuoto. |
| eventType | metadata.event_type | Utilizzato per derivare il valore di metadata.event_type in base a valori specifici. |
| eventType | metadata.product_event_type | Mappatura diretta quando non è vuoto. |
| outcome.reason | security_result.category_details | Mappatura diretta quando non è vuoto. |
| outcome.result | security_result.action | Mappato su security_result.action dopo la normalizzazione in base a valori specifici. |
| requestId | metadata.product_log_id | Mappatura diretta quando non è vuoto. |
| serviceAccount.name | principal.application | Mappatura diretta quando l'azione è Report e serviceAccount.name non è vuoto. |
| sourceIP | principal.asset.ip | Estratto utilizzando un pattern grok e unito a principal.ip e principal.asset.ip quando non è vuoto e valido. |
| sourceIP | principal.ip | Estratto utilizzando un pattern grok e unito a principal.ip e principal.asset.ip quando non è vuoto e valido. |
| stato | security_result.summary | Mappatura diretta quando non è vuoto. |
| timestamp | metadata.event_timestamp | Convertito nel formato timestamp e mappato se non è vuoto. |
| user.id | target.user.userid | Mappatura diretta quando actionParameters.userID è vuoto e user.id non è vuoto. |
| nome.utente | target.user.user_display_name | Mappatura diretta quando actionParameters.name è vuoto e user.name non è vuoto. |
| userAgent | network.http.user_agent | Mappatura diretta quando client.userAgent.rawUserAgent è vuoto e userAgent non è vuoto. |
| extensions.auth.type | Impostato su AUTHTYPE_UNSPECIFIED quando has_user è true e action è Login. |
|
| metadata.product_name | Imposta su WIZ_IO. |
|
| metadata.vendor_name | Imposta su WIZ_IO. |
|
| network.http.parsed_user_agent | Derivato da user_agent_value mediante la conversione in parseduseragent. | |
| security_result.severity | Derivato dalla gravità in base a valori specifici, con valore predefinito LOW. |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.