Coletar registros do DLP do Zscaler

Compatível com:

Este documento explica como exportar registros de DLP do Zscaler configurando um feed de operações de segurança do Google e como os campos de registro são mapeados para os campos de modelo de dados unificado (UDM, na sigla em inglês) do Google SecOps.

Para mais informações, consulte Visão geral da ingestão de dados no Google SecOps.

Uma implantação típica consiste no DLP do Zscaler e no feed do webhook do Google SecOps configurado para enviar registros ao Google SecOps. Cada implantação do cliente pode ser diferente e mais complexa.

A implantação contém os seguintes componentes:

  • Zscaler DLP: a plataforma de onde você coleta registros.

  • Feed do Google SecOps: o feed do Google SecOps que busca registros do DLP do Zscaler e grava registros no Google SecOps.

  • Google Security Operations: retém e analisa os registros.

Um rótulo de transferência identifica o analisador que normaliza os dados de registro brutos para o formato estruturado do UDM. As informações neste documento se aplicam ao analisador com o rótulo ZSCALER_DLP.

Antes de começar

  • Confira se você tem acesso ao console do Zscaler Internet Access. Para mais informações, consulte Ajuda do ZIA para acesso seguro à Internet e ao SaaS.
  • Verifique se você está usando o Zscaler DLP 2024 ou uma versão mais recente.
  • Verifique se todos os sistemas na arquitetura de implantação estão configurados com o fuso horário UTC.
  • Verifique se você tem a chave de API necessária para concluir a configuração do feed no Google Security Operations. Para mais informações, consulte Como configurar chaves de API.

Configurar um feed de ingestão no Google SecOps para processar os registros do Zscaler DLP

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo.
  3. No campo Nome do feed, insira um nome para o feed (por exemplo, Zscaler DLP Logs).
  4. Selecione Webhook como o Tipo de origem.
  5. Selecione Zscaler DLP como o Tipo de registro.
  6. Clique em Próxima.
  7. Opcional: especifique valores para os seguintes parâmetros de entrada:
    1. Delimitador de divisão: o delimitador usado para separar as linhas de registro. Deixe em branco se nenhum delimitador for usado.
    2. Namespace do recurso: o namespace do recurso.
    3. Rótulos de ingestão: o rótulo a ser aplicado aos eventos desse feed.
  8. Clique em Próxima.
  9. Revise a configuração do novo feed na tela Finalizar e clique em Enviar.
  10. Clique em Generate Secret Key para gerar uma chave secreta para autenticar esse feed.

Configurar a DLP do Zscaler

  1. No console do Zscaler Internet Access, acesse Administration > Nanolog Streaming Service > Cloud NSS Feeds.
  2. Clique em Adicionar feed de NSS da nuvem.
  3. Digite um nome para o feed no campo Nome do feed.
  4. Selecione NSS para Web em Tipo de NSS.
  5. Selecione o status na lista Status para ativar ou desativar o feed do NSS.
  6. Mantenha o valor no menu SIEM Rate como Unlimited. Para suprimir o fluxo de saída devido a licenciamento ou outras restrições, mude o valor.
  7. Selecione Outro na lista Tipo de SIEM.
  8. Selecione Desativada na lista Autenticação OAuth 2.0.
  9. Insira um limite de tamanho para um payload de solicitação HTTP individual para a prática recomendada do SIEM em Tamanho máximo do lote (por exemplo, 512 KB).
  10. Insira o URL HTTPS do endpoint da API Chronicle no URL da API no seguinte formato:

    https://<CHRONICLE_REGION>-chronicle.googleapis.com/v1alpha/projects/<GOOGLE_PROJECT_NUMBER>/locations/<LOCATION>/instances/<CUSTOMER_ID>/feeds/<FEED_ID>:importPushLogs
    
    • CHRONICLE_REGION: região em que a instância do Google SecOps está hospedada (por exemplo, US).
    • GOOGLE_PROJECT_NUMBER: número do projeto BYOP (encontrado em C4).
    • LOCATION: região do Google SecOps (por exemplo, US).
    • CUSTOMER_ID: ID de cliente do Google SecOps (obtido no C4).
    • FEED_ID: o ID do feed mostrado na interface do feed no novo webhook criado.

    URL da API de exemplo:

    https://us-chronicle.googleapis.com/v1alpha/projects/12345678910/locations/US/instances/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/feeds/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy:importPushLogs
    
  11. Clique em Adicionar cabeçalho HTTP para adicionar mais cabeçalhos HTTP com chaves e valores.

    Exemplo:

    • Chave: X-goog-api-key
    • Valor:chave de API gerada nas credenciais de API do Google Cloud BYOP

  12. Selecione DLP de endpoint na lista Tipos de registro.

  13. Selecione JSON na lista Tipo de saída do feed.

  14. Defina Caracter de escape do feed como , \ ".

  15. Para adicionar um novo campo ao Formato de saída do feed,selecione Personalizado na lista Tipo de saída do feed.

  16. Copie e cole o Formato de saída do feed e adicione novos campos. Confira se os nomes das chaves correspondem aos nomes dos campos.

    Confira abaixo o formato de saída de feed padrão:

    \{ "sourcetype" : "zscalernss-edlp", "event" :\{"time":"%s{time}","recordid":"%d{recordid}","login":"%s{user}","dept":"%s{department}","filetypename":"%s{filetypename}","filemd5":"%s{filemd5}","dlpdictnames":"%s{dlpdictnames}","dlpdictcount":"%s{dlpcounts}","dlpenginenames":"%s{dlpengnames}","channel":"%s{channel}","actiontaken":"%s{actiontaken}","severity":"%s{severity}","rulename":"%s{triggeredrulelabel}","itemdstname":"%s{itemdstname}"\}\}
    
  17. Selecione o fuso horário para o campo Time no arquivo de saída na lista Timezone. Por padrão, o fuso horário é definido como o da sua organização.

  18. Revise as configurações definidas.

  19. Clique em Salvar para testar a conectividade. Se a conexão for bem-sucedida, uma marca de seleção verde acompanhada da mensagem Test Connectivity Successful: OK (200) vai aparecer.

Para mais informações sobre os feeds do Google SecOps, consulte a documentação sobre feeds do Google SecOps. Para informações sobre os requisitos de cada tipo de feed, consulte Configuração de feed por tipo.

Se você tiver problemas ao criar feeds, entre em contato com o suporte do Google SecOps.

Tabela de mapeamento do UDM

A tabela a seguir lista os campos de registro do tipo ZSCALER_DLP e os campos correspondentes do UDM.

Log field UDM mapping Logic
mon additional.fields[mon]
day additional.fields[day]
scantime additional.fields[scantime]
numdlpengids additional.fields[numdlpengids]
numdlpdictids additional.fields[numdlpdictids]
recordid metadata.product_log_id
scanned_bytes additional.fields[scanned_bytes]
dlpidentifier security_result.detection_fields[dlpidentifier]
login principal.user.user_display_name
b64user principal.user.user_display_name
euser principal.user.user_display_name
ouser security_result.detection_fields[ouser]
dept principal.user.department
b64department principal.user.department
edepartment principal.user.department
odepartment security_result.detection_fields[odepartment]
odevicename security_result.detection_fields[odevicename]
devicetype principal.asset.attribute.labels[devicetype]
principal.asset.platform_software.platform If the deviceostype log field value matches the regular expression pattern (?i)Windows, then the principal.asset.platform_software.platform UDM field is set to WINDOWS.
principal.asset.asset_id If the devicename log field value is not empty, then the asset_id:devicename log field is mapped to the principal.asset.asset_id UDM field.

If the b64devicename log field value is not empty, then the asset_id:b64devicename log field is mapped to the principal.asset.asset_id UDM field.

If the edevicename log field value is not empty, then the asset_id:edevicename log field is mapped to the principal.asset.asset_id UDM field.
deviceplatform principal.asset.attribute.labels[deviceplatform]
deviceosversion principal.asset.platform_software.platform_version
devicemodel principal.asset.hardware.model
deviceappversion additional.fields[deviceappversion]
deviceowner principal.user.userid
b64deviceowner principal.user.userid
edeviceowner principal.user.userid
odeviceowner security_result.detection_fields[odeviceowner]
devicehostname principal.hostname
b64devicehostname principal.hostname
edevicehostname principal.hostname
odevicehostname security_result.detection_fields[odevicehostname]
datacenter target.location.name
datacentercity target.location.city
datacentercountry target.location.country_or_region
dsttype target.resource.resource_subtype
filedoctype additional.fields[filedoctype]
filedstpath target.file.full_path
b64filedstpath target.file.full_path
efiledstpath target.file.full_path
filemd5 target.file.md5 If the filemd5 log field value matches the regular expression pattern ^[0-9a-f]+$, then the filemd5 log field is mapped to the target.file.md5 UDM field.
filesha target.file.sha256 If the filesha log field value matches the regular expression pattern ^[0-9a-f]+$, then the filesha log field is mapped to the target.file.sha256 UDM field.
filesrcpath src.file.full_path
b64filesrcpath src.file.full_path
efilesrcpath src.file.full_path
filetypecategory additional.fields[filetypecategory]
filetypename target.file.mime_type
itemdstname target.resource.name
b64itemdstname target.resource.name
eitemdstname target.resource.name
itemname target.resource.attribute.labels[itemname]
b64itemname target.resource.attribute.labels[itemname]
eitemname target.resource.attribute.labels[itemname]
itemsrcname src.resource.name
b64itemsrcname src.resource.name
eitemsrcname src.resource.name
itemtype target.resource.attribute.labels[itemtype]
ofiledstpath security_result.detection_fields[ofiledstpath]
ofilesrcpath security_result.detection_fields[ofilesrcpath]
oitemdstname security_result.detection_fields[oitemdstname]
oitemname security_result.detection_fields[oitemname]
odlpengnames security_result.detection_fields[odlpengnames]
oitemsrcname security_result.detection_fields[oitemsrcname]
srctype src.resource.resource_subtype
actiontaken security_result.action_details
security_result.action If the actiontaken log field value matches the regular expression pattern (?i)allow, then the security_result.action UDM field is set to ALLOW.

Else, if the actiontaken log field value matches the regular expression pattern (?i)block, then the security_result.action UDM field is set to BLOCK.
activitytype metadata.product_event_type
addinfo additional.fields[addinfo]
channel security_result.detection_fields[channel]
confirmaction security_result.detection_fields[confirmaction]
confirmjust security_result.description
dlpdictcount security_result.detection_fields[dlpdictcount]
dlpdictnames security_result.detection_fields[dlpdictnames]
b64dlpdictnames security_result.detection_fields[dlpdictnames]
edlpdictnames security_result.detection_fields[dlpdictnames]
dlpenginenames security_result.detection_fields[dlpenginenames]
b64dlpengnames security_result.detection_fields[dlpenginenames]
edlpengnames security_result.detection_fields[dlpenginenames]
expectedaction security_result.detection_fields[expectedaction]
logtype security_result.category_details
odlpdictnames security_result.detection_fields[odlpdictnames]
ootherrulelabels security_result.detection_fields[ootherrulelabels]
otherrulelabels security_result.rule_labels[otherrulelabels]
b64otherrulelabels security_result.rule_labels[otherrulelabels]
eotherrulelabels security_result.rule_labels[otherrulelabels]
otriggeredrulelabel security_result.rule_labels[otriggeredrulelabel]
severity security_result.severity_details
security_result.severity If the severity log field value matches the regular expression pattern (?i)High, then the security_result.severity UDM field is set to HIGH.

Else, if the severity log field value matches the regular expression pattern (?i)Medium, then the security_result.severity UDM field is set to MEDIUM.

Else, if the severity log field value matches the regular expression pattern (?i)Low, then the security_result.severity UDM field is set to LOW.

Else, if the severity log field value matches the regular expression pattern (?i)Info, then the security_result.severity UDM field is set to INFORMATIONAL.
rulename security_result.rule_name
b64triggeredrulelabel security_result.rule_name
etriggeredrulelabel security_result.rule_name
zdpmode security_result.detection_fields[zdpmode]
tz additional.fields[tz]
ss additional.fields[ss]
mm additional.fields[mm]
hh additional.fields[hh]
dd additional.fields[dd]
mth additional.fields[mth]
yyyy additional.fields[yyyy]
sourcetype additional.fields[sourcetype]
eventtime metadata.event_timestamp
time metadata.collected_timestamp
rtime additional.fields[rtime]
metadata.vendor_name The metadata.vendor_name UDM field is set to Zscaler.
metadata.product_name The metadata.product_name UDM field is set to DLP.
metadata.event_type If the activitytype log field value contain one of the following values, then the metadata.event_type UDM field is set to FILE_UNCATEGORIZED.
  • Upload
  • Download
Else, if the activitytype log field value is equal to File Copy, then the metadata.event_type UDM field is set to FILE_COPY.

Else, if the activitytype log field value is equal to File Read, then the metadata.event_type UDM field is set to FILE_READ.

Else, if the activitytype log field value is equal to File Write, then the metadata.event_type UDM field is set to FILE_MODIFICATION.

Else, if the activitytype log field value is equal to Email Sent, then the metadata.event_type UDM field is set to EMAIL_UNCATEGORIZED.

Else, if the activitytype log field value is equal to Print, then the metadata.event_type UDM field is set to STATUS_UPDATE.

Else, the metadata.event_type UDM field is set to GENERIC_EVENT.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.