Recolha registos da Wiz
Este documento explica como carregar registos do Wiz para o Google Security Operations. O analisador transforma os registos formatados JSON não processados do Wiz num modelo de dados unificado (UDM). Primeiro, inicializa os valores predefinidos para os campos da UDM e, em seguida, analisa a mensagem JSON, extrai os campos relevantes, como informações do utilizador, localização, detalhes do dispositivo e resultados de segurança. A Wiz é uma plataforma de segurança na nuvem que oferece visibilidade abrangente sem agente e priorização de riscos em ambientes da AWS, Azure, OCI e Kubernetes. Google Cloud
Antes de começar
Certifique-se de que tem os seguintes pré-requisitos:
- Instância do Google SecOps
- Acesso privilegiado ao Wiz
Obtenha o ID de cliente do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Perfil.
- Copie e guarde o ID do cliente da secção Detalhes da organização.
Obtenha o ficheiro de autenticação de carregamento do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Agentes de recolha.
- Transfira o ficheiro de autenticação de carregamento e guarde-o num local seguro.
Configure a integração no Wiz
- Inicie sessão na IU Web do Wiz.
- Aceda à página Ligue-se ao Wiz.
- Clique em Google Cloud Chronicle.
- Selecione o Âmbito.
- Introduza o seu ID de cliente do Google SecOps.
- Introduza o endereço do ponto final da instância do Google SecOps.
- Canadá: https://northamerica-northeast2-malachiteingestion-pa.googleapis.com
- Dammam: https://me-central2-malachiteingestion-pa.googleapis.com
- Europa (várias regiões): https://europe-malachiteingestion-pa.googleapis.com
- Frankfurt: https://europe-west3-malachiteingestion-pa.googleapis.com
- Londres: https://europe-west2-malachiteingestion-pa.googleapis.com
- Mumbai: https://asia-south1-malachiteingestion-pa.googleapis.com
- Singapura: https://asia-southeast1-malachiteingestion-pa.googleapis.com
- Sydney: https://australia-southeast1-malachiteingestion-pa.googleapis.com
- Tel Aviv: https://me-west1-malachiteingestion-pa.googleapis.com
- Tóquio: https://asia-northeast1-malachiteingestion-pa.googleapis.com
- Região múltipla dos Estados Unidos: https://malachiteingestion-pa.googleapis.com
- Zurique: https://europe-west6-malachiteingestion-pa.googleapis.com
- Carregue o ficheiro de autenticação de carregamento.
- Clique em Guardar.
Tabela de mapeamento do UDM
Campo de registo | Mapeamento do UDM | Lógica |
---|---|---|
ação | metadata.product_event_type | Mapeamento direto quando eventType está vazio. |
ação | principal.application | Mapeamento direto quando a ação é Report e serviceAccount.name não está vazio. |
actionParameters.groups | security_result.detection_fields.value | O analisador itera cada grupo em actionParameters.groups e mapeia-o para uma entrada detection_fields separada com a chave service_account_group . |
actionParameters.input.patch.portalVisitHistory.dateTime | additional.fields.value.string_value | O analisador itera cada item em actionParameters.input.patch.portalVisitHistory e extrai o campo dateTime, mapeando-o para uma entrada additional.fields separada com a chave dateTime {index} . |
actionParameters.input.patch.portalVisitHistory.id | principal.resource.attribute.labels.value | O analisador itera cada item em actionParameters.input.patch.portalVisitHistory e extrai o campo id, mapeando-o para uma entrada principal.resource.attribute.labels separada com a chave id {index} . |
actionParameters.input.patch.portalVisitHistory.name | principal.resource.attribute.labels.value | O analisador itera cada item em actionParameters.input.patch.portalVisitHistory e extrai o campo name, mapeando-o para uma entrada principal.resource.attribute.labels separada com a chave name {index} . |
actionParameters.input.patch.portalVisitHistory.resourceName | principal.resource.attribute.labels.value | O analisador itera cada item em actionParameters.input.patch.portalVisitHistory e extrai o campo resourceName, mapeando-o para uma entrada principal.resource.attribute.labels separada com a chave resourceName {index} . |
actionParameters.input.patch.portalVisitHistory.resourceType | principal.resource.attribute.labels.value | O analisador itera cada item em actionParameters.input.patch.portalVisitHistory e extrai o campo resourceType, mapeando-o para uma entrada principal.resource.attribute.labels separada com a chave resourceType {index} . |
actionParameters.input.patch.portalVisitHistory.ruleType | principal.resource.attribute.labels.value | O analisador itera por cada item em actionParameters.input.patch.portalVisitHistory e extrai o campo ruleType, mapeando-o para uma entrada principal.resource.attribute.labels separada com a chave ruleType {index} . |
actionParameters.input.patch.portalVisitHistory.type | additional.fields.value.string_value | O analisador itera cada item em actionParameters.input.patch.portalVisitHistory e extrai o campo de tipo, mapeando-o para uma entrada additional.fields separada com a chave type {index} . |
actionParameters.name | target.user.user_display_name | Mapeamento direto quando actionParameters.name não está vazio. |
actionParameters.products | security_result.detection_fields.value | O analisador itera cada produto em actionParameters.products (excluindo strings vazias e * ) e mapeia-o para uma entrada detection_fields separada com a chave service_account_product . |
actionParameters.role | target.user.attribute.roles.name | Mapeamento direto quando actionParameters.role não está vazio. |
actionParameters.scopes | security_result.detection_fields.value | O analisador itera cada âmbito em actionParameters.scopes e mapeia-o para uma entrada detection_fields separada com a chave service_account_scope . |
actionParameters.selection | additional.fields.value.list_value.values.string_value | O analisador itera cada item em actionParameters.selection.preferences e mapeia-o para uma entrada string_value separada em additional.fields.value.list_value.values. |
actionParameters.userEmail | target.user.email_addresses | Extraído através de um padrão grok e mapeado quando não está vazio. |
actionParameters.userID | target.user.userid | Mapeamento direto quando actionParameters.userID não está vazio. |
actor.displayName | target.user.user_display_name | Mapeamento direto quando actor.displayName não está vazio e não é unknown . |
actor.id | target.user.userid | Mapeamento direto quando actor.id não está vazio. |
authenticationContext.authenticationProvider | security_result.detection_fields.value | Mapeado para uma entrada detection_fields com a chave authenticationProvider quando não está vazia. |
authenticationContext.credentialProvider | security_result.detection_fields.value | Mapeado para uma entrada detection_fields com a chave credentialProvider quando não está vazia. |
authenticationContext.credentialType | extensions.auth.mechanism | Usado para derivar o valor de extensions.auth.mechanism com base em valores específicos. |
authenticationContext.externalSessionId | network.parent_session_id | Mapeamento direto quando não está vazio e não é unknown . |
client.device | principal.asset.type | Usado para derivar o valor de principal.asset.type com base em valores específicos. |
client.geographicalContext.city | principal.location.city | Mapeamento direto quando não está vazio. |
client.geographicalContext.country | principal.location.country_or_region | Mapeamento direto quando não está vazio. |
client.geographicalContext.geolocation.lat | principal.location.region_latitude | Mapeamento direto quando não está vazio. |
client.geographicalContext.geolocation.lon | principal.location.region_longitude | Mapeamento direto quando não está vazio. |
client.geographicalContext.postalCode | additional.fields.value.string_value | Mapeado para uma entrada additional.fields com a chave Postal code quando não está vazia. |
client.geographicalContext.state | principal.location.state | Mapeamento direto quando não está vazio. |
client.ipAddress | principal.asset.ip | Unido a principal.ip e principal.asset.ip quando não está vazio. |
client.ipAddress | principal.ip | Unido a principal.ip e principal.asset.ip quando não está vazio. |
client.userAgent.browser | target.resource.attribute.labels.value | Mapeado para uma entrada target.resource.attribute.labels com a chave Browser quando não está vazia. |
client.userAgent.os | principal.platform | Usado para obter o valor de principal.platform com base em valores específicos. |
client.userAgent.rawUserAgent | network.http.user_agent | Mapeamento direto quando não está vazio. |
debugContext.debugData.behaviors | security_result.description | Mapeamento direto quando não está vazio. |
debugContext.debugData.deviceFingerprint | target.asset.asset_id | Mapeado para target.asset.asset_id com o prefixo device_finger_print: quando não está vazio. |
debugContext.debugData.dtHash | security_result.detection_fields.value | Mapeado para uma entrada detection_fields com a chave dtHash quando não está vazia. |
debugContext.debugData.factor | security_result.detection_fields.value | Mapeado para uma entrada detection_fields com a chave factor quando não está vazia. |
debugContext.debugData.promptingPolicyTypes | security_result.detection_fields.value | Mapeado para uma entrada detection_fields com a chave promptingPolicyTypes quando não está vazia. |
debugContext.debugData.requestUri | extensions.auth.auth_details | Mapeamento direto quando não está vazio. |
eventType | metadata.event_type | Usado para derivar o valor de metadata.event_type com base em valores específicos. |
eventType | metadata.product_event_type | Mapeamento direto quando não está vazio. |
outcome.reason | security_result.category_details | Mapeamento direto quando não está vazio. |
outcome.result | security_result.action | Mapeado para security_result.action após a normalização com base em valores específicos. |
requestId | metadata.product_log_id | Mapeamento direto quando não está vazio. |
serviceAccount.name | principal.application | Mapeamento direto quando a ação é Report e serviceAccount.name não está vazio. |
sourceIP | principal.asset.ip | Extraído através de um padrão grok e unido a principal.ip e principal.asset.ip quando não está vazio e é válido. |
sourceIP | principal.ip | Extraído através de um padrão grok e unido a principal.ip e principal.asset.ip quando não está vazio e é válido. |
estado | security_result.summary | Mapeamento direto quando não está vazio. |
timestamp | metadata.event_timestamp | Convertido para o formato de data/hora e mapeado quando não está vazio. |
user.id | target.user.userid | Mapeamento direto quando actionParameters.userID está vazio e user.id não está vazio. |
user.name | target.user.user_display_name | Mapeamento direto quando actionParameters.name está vazio e user.name não está vazio. |
userAgent | network.http.user_agent | Mapeamento direto quando client.userAgent.rawUserAgent está vazio e userAgent não está vazio. |
extensions.auth.type | Definido como AUTHTYPE_UNSPECIFIED quando has_user é verdadeiro e a ação é Login . |
|
metadata.product_name | Definido como WIZ_IO . |
|
metadata.vendor_name | Definido como WIZ_IO . |
|
network.http.parsed_user_agent | Derivada de user_agent_value através da conversão para parseduseragent. | |
security_result.severity | Derivado da gravidade com base em valores específicos, com a predefinição de LOW . |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.