Recolha registos do Zscaler Internet Access

Compatível com:

Este documento descreve como pode exportar registos do Zscaler Internet Access 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 Internet Access 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 Internet Access: a plataforma a partir da qual recolhe registos.

  • Feed do Google SecOps: o feed do Google SecOps que obtém registos do Zscaler Internet Access e escreve registos no Google SecOps.

  • Google SecOps: 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 de carregamento ZSCALER_INTERNET_ACCESS.

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 Internet Access 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:

  1. Aceda a Definições do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Clique no pacote de feeds Zscaler.
  4. Localize o tipo de registo necessário e clique em Adicionar novo feed.
  5. 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.
  6. 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 o Zscaler Internet Access

  1. Na consola do Zscaler Internet Access, clique em Administração > Serviço de streaming de nanologs > Feeds NSS na nuvem e, de seguida, clique em Adicionar feed NSS na nuvem.
  2. É apresentada a janela Adicionar feed NSS na nuvem. Na janela Adicionar feed NSS da nuvem, introduza os detalhes.
  3. Introduza um nome para o feed no campo Nome do feed.
  4. Selecione NSS para Web em Tipo de NSS.
  5. Selecione o estado na lista Estado para ativar ou desativar o feed NSS.
  6. Mantenha o valor no menu pendente Taxa de SIEM como Ilimitado. Para suprimir o fluxo de saída devido a licenciamento ou outras restrições, altere o valor.
  7. Selecione Outro na lista Tipo de SIEM.
  8. Selecione Desativado na lista Autenticação OAuth 2.0.
  9. Introduza um limite de tamanho para uma carga útil de pedido HTTP individual de acordo com a prática recomendada do SIEM em Tamanho máximo do lote. Por exemplo, 512 KB.
  10. 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 Chronicle está alojada. Por exemplo, US.
    • GOOGLE_PROJECT_NUMBER: número do projeto BYOP. Obtenha-o a partir do C4.
    • LOCATION: região do Chronicle. Por exemplo, US.
    • CUSTOMER_ID: ID de cliente do Chronicle. Obtenha a partir de 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
      
  11. 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.
  12. Selecione Registos de auditoria de administrador na lista Tipos de registos.

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

  14. Defina o caráter 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. Certifique-se de que os nomes das chaves correspondem aos nomes dos campos reais.

  17. Segue-se o formato de saída do feed predefinido:

      \{ "sourcetype" : "zscalernss-audit", "event" :\{"time":"%s{time}","recordid":"%d{recordid}","action":"%s{action}","category":"%s{category}","subcategory":"%s{subcategory}","resource":"%s{resource}","interface":"%s{interface}","adminid":"%s{adminid}","clientip":"%s{clientip}","result":"%s{result}","errorcode":"%s{errorcode}","auditlogtype":"%s{auditlogtype}","preaction":%s{preaction},"postaction":%s{postaction}\}\}
    
  18. 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.

  19. Reveja as definições configuradas.

  20. 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 sobre os feeds do Google Security Operations. 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 das operações de segurança da Google.

Formatos de registos do Zscaler Internet Access suportados

O analisador do Zscaler Internet Access suporta registos no formato JSON.

Registos de exemplo do Zscaler Internet Access suportados

  • JSON

    {
      "sourcetype": "zscalernss-audit",
      "event": {
        "time": "Wed May 29 17:45:03 2024",
        "recordid": "6095",
        "action": "UPDATE",
        "category": "ACCESS_CONTROL_RESOURCE",
        "subcategory": "URL_CATEGORY",
        "resource": "Custom SSL Bypass",
        "interface": "UI",
        "adminid": "abc@xyz.com",
        "clientip": "198.51.100.1",
        "result": "SUCCESS",
        "errorcode": "None",
        "auditlogtype": "ZIA",
        "preaction": "{"id":{"val":130%2c"mask":255%2c"parent":"CUSTOM_SUPERCATEGORY"%2c"deprecated":false%2c"backendName":"custom_03"%2c"name":"CUSTOM_03"%2c"userConfiguredName":""}%2c"configuredName":"Custom%20SSL%20Bypass"%2c"superCategory":"USER_DEFINED"%2c"keywords":[]%2c"keywordsRetainingParentCategory":[]%2c"customUrlsToAdd":[]%2c"customUrlsToDelete":[]%2c"urlsRetainingParentCategoryToAdd":[]%2c"urlsRetainingParentCategoryToDelete":[]%2c"customIpRangesToAdd":[]%2c"customIpRangesToDelete":[]%2c"ipRangesRetainingParentCategoryToAdd":[]%2c"ipRangesRetainingParentCategoryToDelete":[]%2c"customCategory":true%2c"editable":true%2c"description":"https: //help.zscaler.com/zia/url-format-guidelines"%2c"type":"URL_CATEGORY"%2c"customUrlsCount":1%2c"urlsRetainingParentCategoryCount":60%2c"customIpRangesCount":0%2c"ipRangesRetainingParentCategoryCount":0%2c"urlsToAdd":[]%2c"urlsToDelete":[]%2c"dbCategorizedUrlsToAdd":[]%2c"dbCategorizedUrlsToDelete":[]}","postaction":"{"id":{"val":130%2c"mask":255%2c"parent":"CUSTOM_SUPERCATEGORY"%2c"deprecated":false%2c"backendName":"custom_03"%2c"name":"CUSTOM_03"%2c"userConfiguredName":""}%2c"configuredName":"Custom%20SSL%20Bypass"%2c"superCategory":"USER_DEFINED"%2c"customUrlsToAdd":[]%2c"customUrlsToDelete":[]%2c"urlsRetainingParentCategoryToAdd":["webcast.temoinproduction.com"]%2c"urlsRetainingParentCategoryToDelete":[]%2c"customIpRangesToAdd":[]%2c"customIpRangesToDelete":[]%2c"ipRangesRetainingParentCategoryToAdd":[]%2c"ipRangesRetainingParentCategoryToDelete":[]%2c"customCategory":true%2c"editable":true%2c"description":"https://help.zscaler.com/zia/url-format-guidelines"%2c"type":"URL_CATEGORY"%2c"customUrlsCount":1%2c"urlsRetainingParentCategoryCount":61%2c"customIpRangesCount":0%2c"ipRangesRetainingParentCategoryCount":0%2c"urlsToAdd":[]%2c"urlsToDelete":[]%2c"dbCategorizedUrlsToAdd":[]%2c"dbCategorizedUrlsToDelete":[]}"}
    }
    

Referência de mapeamento de campos

A tabela seguinte apresenta os campos de registo do ZSCALER_INTERNET_ACCESS tipo de registo e os respetivos campos UDM.

Log field UDM mapping Logic
metadata.event_type The metadata.event_type UDM field is set to STATUS_UPDATE.
metadata.product_name The metadata.product_name UDM field is set to Admin Audit.
metadata.vendor_name The metadata.vendor_name UDM field is set to Zscaler.
sourcetype additional.fields[sourcetype]
time metadata.event_timestamp
recordid metadata.product_log_id
action security_result.action_details
category target.security_result.category_details
subcategory target.security_result.category_details
resource target.resource.name
interface principal.resource.attribute.labels[interface]
adminid principal.user.userid
clientip principal.ip
security_result.action If the event.result log field value is equal to SUCCESS, then the security_result.action UDM field is set to ALLOW.

Else, if the event.result log field value is equal to FAILURE, then the security_result.action UDM field is set to BLOCK.
errorcode security_result.summary
auditlogtype additional.fields[auditlogtype]
preaction principal.resource.attribute.labels Iterate through preaction object: The preaction object key is mapped to the principal.resource.attribute.labels.key UDM field and preaction object value is mapped to the principal.resource.attribute.labels.value UDM field.
postaction principal.resource.attribute.labels Iterate through postaction object: The postaction object key is mapped to the principal.resource.attribute.labels.key UDM field and postaction object value is mapped to the principal.resource.attribute.labels.value UDM field.

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