Recolha registos da DLP do Zscaler
Este documento explica como exportar registos de DLP do Zscaler configurando um feed do Google Security Operations e como os campos de registo são mapeados para os campos do modelo de dados unificado (UDM) do Google SecOps.
Para mais informações, consulte o artigo Vista geral da ingestão de dados no Google SecOps.
Uma implementação típica consiste no Zscaler DLP e no feed de webhook do Google SecOps configurado para enviar registos para o Google SecOps. Cada implementação do cliente pode ser diferente e mais complexa.
A implementação contém os seguintes componentes:
Zscaler DLP: a plataforma a partir da qual recolhe registos.
Feed do Google SecOps: o feed do Google SecOps que obtém registos do Zscaler DLP e escreve registos no Google SecOps.
Google Security Operations: retém e analisa os registos.
Uma etiqueta de carregamento identifica o analisador que normaliza os dados de registo não processados para o formato UDM estruturado. As informações neste documento aplicam-se ao analisador com a etiqueta ZSCALER_DLP
.
Antes de começar
Certifique-se de que cumpre os seguintes pré-requisitos:
- Acesso à consola do Zscaler Internet Access. Para mais informações, consulte o artigo Acesso seguro à Internet e ao SaaS: ajuda do ZIA.
- Zscaler DLP 2024 ou posterior
- Todos os sistemas na arquitetura de implementação estão configurados com o fuso horário UTC.
- A chave da API necessária para concluir a configuração do feed no Google Security Operations. Para mais informações, consulte o artigo Configurar chaves de API.
Configure feeds
Para configurar este tipo de registo, siga estes passos:
- Aceda a Definições do SIEM > Feeds.
- Clique em Adicionar novo feed.
- Clique no pacote de feeds Zscaler.
- Localize o tipo de registo necessário e clique em Adicionar novo feed.
Introduza valores para os seguintes parâmetros de entrada:
- Tipo de origem: webhook (recomendado)
- Delimitador de divisão: o caráter usado para separar linhas de registos. Deixe em branco se não for usado nenhum delimitador.
Opções avançadas
- Nome do feed: um valor pré-preenchido que identifica o feed.
- Espaço de nomes do recurso: espaço de nomes associado ao feed.
- Etiquetas de carregamento: etiquetas aplicadas a todos os eventos deste feed.
Clique em Criar feed.
Para mais informações sobre a configuração de vários feeds para diferentes tipos de registos nesta família de produtos, consulte o artigo Configure feeds por produto.
Configure a DLP do Zscaler
- Na consola do Zscaler Internet Access, aceda a Administração > Serviço de streaming de nanologs > Feeds de NSS na nuvem.
- Clique em Adicionar feed NSS da nuvem.
- Introduza um nome para o feed no campo Nome do feed.
- Selecione NSS para Web em Tipo de NSS.
- Selecione o estado na lista Estado para ativar ou desativar o feed NSS.
- Mantenha o valor no menu Taxa de SIEM como Ilimitado. Para suprimir o fluxo de saída devido a licenciamento ou outras restrições, altere o valor.
- Selecione Outro na lista Tipo de SIEM.
- Selecione Desativado na lista Autenticação OAuth 2.0.
- Introduza um limite de tamanho para uma carga útil de pedido HTTP individual para a prática recomendada do SIEM em Tamanho máximo do lote (por exemplo, 512 KB).
Introduza o URL HTTPS do ponto final 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 onde a sua instância do Google SecOps está alojada (por exemplo, US).GOOGLE_PROJECT_NUMBER
: número do projeto BYOP (obtenha-o no C4).LOCATION
: região do Google SecOps (por exemplo, US).CUSTOMER_ID
: ID de cliente do Google SecOps (obtenha-o no C4).FEED_ID
: ID do feed apresentado na IU 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
Clique em Adicionar cabeçalho HTTP e, de seguida, adicione cabeçalhos HTTP no seguinte formato:
Header 1
: Key1:X-goog-api-key
e Value1: chave da API gerada nas credenciais da API do Google Cloud BYOP.Header 2
: Key2:X-Webhook-Access-Key
e Value2: chave secreta da API gerada na "CHAVE SECRETA" do webhook.
Selecione DLP de ponto final na lista Tipos de registos.
Selecione JSON na lista Tipo de saída do feed.
Defina o caráter de escape do feed como
, \ "
.Para adicionar um novo campo ao formato de saída do feed,selecione Personalizado na lista Tipo de saída do feed.
Copie e cole o Formato de saída do feed e adicione novos campos. Certifique-se de que os nomes das chaves correspondem aos nomes dos campos reais.
Segue-se o formato de saída do feed predefinido:
\{ "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}"\}\}
Selecione o fuso horário para o campo Hora no ficheiro de saída na lista Fuso horário. Por predefinição, o fuso horário é definido como o fuso horário da sua organização.
Reveja as definições configuradas.
Clique em Guardar para testar a conetividade. Se a ligação for bem-sucedida, é apresentada uma marca de verificação verde acompanhada da mensagem Test Connectivity Successful: OK (200).
Para mais informações sobre os feeds do Google SecOps, consulte a documentação dos feeds do Google SecOps. Para obter informações sobre os requisitos de cada tipo de feed, consulte o artigo Configuração do feed por tipo.
Se tiver problemas ao criar feeds, contacte o apoio técnico da Google SecOps.
Formatos de registos DLP do Zscaler suportados
O analisador DLP do Zscaler suporta registos no formato JSON.
Registos de exemplo da DLP do Zscaler suportados
JSON:
{ "sourcetype": "zscalernss-edlp", "event": { "time": "Thu Jun 20 21:14:56 2024", "recordid": "7382697059455533057", "login": "dummy@domain.com", "dept": "General Group", "filetypename": "xlsx", "filemd5": "9a2d0d62c22994a98f65939ddcd3eb8f", "dlpdictnames": "Social Security Number (US): Detect leakage of United States Social Security Numbers|Credit Cards: Detect leakage of credit card information|Aadhaar Card Number (India): Detect Leakage of Indian Aadhaar Card Numbers", "dlpdictcount": "1428|141|81", "dlpenginenames": "Dummy Engine|cc|PCI|GLBA|HIPAA", "channel": "Removable Storage", "actiontaken": "Confirm Allow", "severity": "High Severity", "rulename": "Endpoint_DLP_", "itemdstname": "Removable Storage" } }
Tabela de mapeamento da UDM
A tabela seguinte apresenta os campos de registo do ZSCALER_DLP
tipo de registo e os respetivos campos 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 .
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 da Google SecOps.