Coletar registros do túnel do Zscaler

Compatível com:

Este documento explica como exportar registros do Zscaler Tunnel configurando um feed do Google Security Operations e como os campos de registro são mapeados para os campos do Modelo Unificado de Dados (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 Zscaler Tunnel e no feed de webhook do Google SecOps configurado para enviar registros ao Google SecOps. Cada implantação de cliente pode ser diferente e mais complexa.

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

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

  • Feed do Google SecOps: busca registros do Zscaler Tunnel e grava registros no Google SecOps.

  • Google SecOps: retém e analisa os registros.

Um rótulo de ingestão identifica o analisador que normaliza dados de registro brutos para o formato UDM estruturado. As informações neste documento se aplicam ao analisador com o rótulo ZSCALER_TUNNEL.

Antes de começar

Verifique se você atende aos seguintes pré-requisitos:

  • Acesso ao console do Zscaler Internet Access. Para mais informações, consulte Ajuda do ZIA sobre acesso seguro à Internet e ao SaaS.
  • Zscaler Tunnel versão 1.0 ou 2.0
  • Todos os sistemas na arquitetura de implantação são configurados com o fuso horário UTC.
  • 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 feeds

Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:

  • Configurações do SIEM > Feeds
  • Central de conteúdo > Pacotes de conteúdo

Configure feeds em Configurações do SIEM > Feeds

Para configurar vários feeds para diferentes tipos de registros nessa família de produtos, consulte Configurar feeds por produto.

Para configurar um único feed, siga estas etapas:

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na próxima página, clique em Configurar um único feed.
  4. No campo Nome do feed, insira um nome para o feed, por exemplo, Registros de túnel da Zscaler.
  5. Selecione Webhook como o Tipo de origem.
  6. Selecione Zscaler Tunnel como o Tipo de registro.
  7. Clique em Próxima.
  8. Opcional: especifique valores para os seguintes parâmetros de entrada:
    1. Delimitador de divisão: o delimitador usado para separar as linhas de registros (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 deste feed.
  9. Clique em Próxima.
  10. Revise a nova configuração do feed na tela Finalizar e clique em Enviar.
  11. Clique em Gerar chave secreta para autenticar este feed.

Configurar feeds na Central de conteúdo

Especifique valores para os seguintes campos:

  • Delimitador de divisão: o delimitador usado para separar linhas de registro, como \n.

Opções avançadas

  • Nome do feed: um valor pré-preenchido que identifica o feed.
  • Tipo de origem: método usado para coletar registros no Google SecOps.
  • Namespace do recurso: o namespace do recurso.
  • Rótulos de ingestão: o rótulo aplicado aos eventos deste feed.
  • Clique em Próxima.
  • Revise a configuração do feed na tela Finalizar e clique em Enviar.
  • Clique em Gerar chave secreta para autenticar o feed.

Configurar o túnel do Zscaler

  1. No console do Zscaler Internet Access, acesse Administração > Serviço de streaming Nanolog > Feeds do NSS na nuvem.
  2. Clique em Adicionar feed do NSS do Cloud.
  3. Digite um nome para o feed no campo Nome do feed.
  4. Selecione NSS para túnel 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 suspenso Taxa de SIEM como Ilimitada. Para suprimir o fluxo de saída devido a restrições de licenciamento ou outras, mude o valor.
  7. Selecione Outro na lista Tipo de SIEM.
  8. Selecione Desativado na lista Autenticação do OAuth 2.0.
  9. Insira um limite de tamanho para um payload de solicitação HTTP individual na prática recomendada do SIEM em Tamanho máximo do lote (por exemplo, 512 KB).
  10. Insira o URL HTTPS do endpoint de API do 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 sua instância do Google SecOps está hospedada (por exemplo, US).
    • GOOGLE_PROJECT_NUMBER: número do projeto BYOP (obtido no C4).
    • LOCATION: região do Google SecOps (por exemplo, US).
    • CUSTOMER_ID: ID do cliente do Google SecOps (obtido no C4).
    • FEED_ID: ID do feed mostrado na interface do feed no novo webhook criado.

    Exemplo de URL da API:

    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 adicione cabeçalhos HTTP no seguinte formato:

    • Header 1: Key1:X-goog-api-key e Value1:chave de API gerada nas credenciais de API do BYOP Google Cloud .
    • Header 2: Key2:X-Webhook-Access-Key e Value2:chave secreta da API gerada em "SECRET KEY" do webhook.
  12. Selecione Tunnel na lista Log Types.

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

  14. Defina Caractere 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. Verifique se os nomes das chaves correspondem aos nomes dos campos.

    Estes são os formatos de saída de feed padrão:

    • Para a fase 1 do IKE:

      \{ "sourcetype" : "zscalernss-tunnel", "event" : \{"datetime":"%s{datetime}","Recordtype":"%s{tunnelactionname}","tunneltype":"IPSEC IKEV %d{ikeversion}","user":"%s{vpncredentialname}","location":"%s{elocationname}","sourceip":"%s{sourceip}","destinationip":"%s{destvip}","sourceport":"%d{srcport}","destinationport":"%d{dstport}","lifetime":"%d{lifetime}","ikeversion":"%d{ikeversion}","spi_in":"%lu{spi_in}","spi_out":"%lu{spi_out}","algo":"%s{algo}","authentication":"%s{authentication}","authtype":"%s{authtype}","recordid":"%d{recordid}"\}\}
      
    • Para a fase 2 do IKE:

      \{ "sourcetype" : "zscalernss-tunnel", "event" : \{"datetime":"%s{datetime}","Recordtype":"%s{tunnelactionname}","tunneltype":"IPSEC IKEV %d{ikeversion}","user":"%s{vpncredentialname}","location":"%s{elocationname}","sourceip":"%s{sourceip}","destinationip":"%s{destvip}","sourceport":"%d{srcport}","sourceportstart":"%d{srcportstart}","destinationportstart":"%d{destportstart}","srcipstart":"%s{srcipstart}","srcipend":"%s{srcipend}","destinationipstart":"%s{destipstart}","destinationipend":"%s{destipend}","lifetime":"%d{lifetime}","ikeversion":"%d{ikeversion}","lifebytes":"%d{lifebytes}","spi":"%d{spi}","algo":"%s{algo}","authentication":"%s{authentication}","authtype":"%s{authtype}","protocol":"%s{protocol}","tunnelprotocol":"%s{tunnelprotocol}","policydirection":"%s{policydirection}","recordid":"%d{recordid}"\}\}
      
    • Para o evento de túnel:

      \{ "sourcetype" : "zscalernss-tunnel", "event" : \{"datetime":"%s{datetime}","Recordtype":"%s{tunnelactionname}","tunneltype":"%s{tunneltype}","user":"%s{vpncredentialname}","location":"%s{elocationname}","sourceip":"%s{sourceip}","destinationip":"%s{destvip}","sourceport":"%d{srcport}","event":"%s{event}","eventreason":"%s{eventreason}","recordid":"%d{recordid}"\}\}
      
    • Por exemplo:

      \{ "sourcetype" : "zscalernss-tunnel", "event" : \{"datetime":"%s{datetime}","Recordtype":"%s{tunnelactionname}","tunneltype":"%s{tunneltype}","user":"%s{vpncredentialname}","location":"%s{elocationname}","sourceip":"%s{sourceip}","destinationip":"%s{destvip}","sourceport":"%d{srcport}","txbytes":"%lu{txbytes}","rxbytes":"%lu{rxbytes}","dpdrec":"%d{dpdrec}","recordid":"%d{recordid}"\}\}
      
  17. Selecione o fuso horário do campo Hora no arquivo de saída na lista Fuso horário. 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 Teste de conectividade bem-sucedido: OK (200) vai aparecer.

Para mais informações sobre 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.

Formatos de registros do túnel do Zscaler compatíveis

O analisador do Zscaler Tunnel é compatível com registros no formato JSON.

Registros de amostra do túnel Zscaler compatíveis

  • JSON

    {
      "sourcetype": "zscalernss-tunnel",
      "event": {
        "datetime": "Sun Jan 21 06:17:00 2024",
        "Recordtype": "Tunnel Samples",
        "tunneltype": "IPSec IKEv2",
        "user": "dummy-user@dummydomain.net",
        "location": "PLWSE06",
        "sourceip": "198.51.100.0",
        "destinationip": "198.51.100.1",
        "sourceport": "0",
        "txbytes": "12560",
        "rxbytes": "0",
        "dpdrec": "0",
        "recordid": "7326416289073594372"
      }
    }
    

Tabela de mapeamento do UDM

Referência de mapeamento de campo: ZSCALER_TUNNEL

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

Log field UDM mapping Logic
algo additional.fields[algo]
authtype additional.fields[authtype]
authentication additional.fields[authentication]
dd additional.fields[dd]
day additional.fields[day]
destinationportstart additional.fields[destinationportstart]
dpdrec additional.fields[dpdrec]
eventreason additional.fields[eventreason]
hh additional.fields[hh]
ikeversion additional.fields[ikeversion]
lifebytes additional.fields[lifebytes]
mm additional.fields[mm]
mon additional.fields[mon]
mth additional.fields[mth]
olocationname additional.fields[olocationname]
ovpncredentialname additional.fields[ovpncredentialname]
ss additional.fields[ss]
sourcetype additional.fields[sourcetype]
spi_in additional.fields[spi_in]
spi_out additional.fields[spi_out]
sourceportstart additional.fields[sourceportstart]
tz additional.fields[tz]
tunnelprotocol additional.fields[tunnelprotocol]
tunneltype additional.fields[tunneltype]
vendorname additional.fields[vendorname]
yyyy additional.fields[yyyy]
spi additional.fields[spi]
event metadata.description
datetime metadata.event_timestamp
metadata.event_type If (the srcipstart log field value is not empty or the srcipend log field value is not empty or the sourceip log field value is not empty) and (the destinationipstart log field value is not empty or the destinationip log field value is not empty or the destinationipend log field value is not empty), then the metadata.event_type UDM field is set to NETWORK_CONNECTION.

Else, if the srcipstart log field value is not empty or the srcipend log field value is not empty or the sourceip log field value is not empty, then the metadata.event_type UDM field is set to STATUS_UPDATE.

Else, the metadata.event_type UDM field is set to GENERIC_EVENT.
Recordtype metadata.product_event_type
recordid metadata.product_log_id
metadata.product_name The metadata.product_name UDM field is set to ZSCALER_TUNNEL.
metadata.vendor_name The metadata.vendor_name UDM field is set to ZSCALER.
network.direction If the policydirection log field value matches the regular expression pattern (?i)Inbound, then the network.direction UDM field is set to INBOUND.

Else, if the policydirection log field value matches the regular expression pattern (?i)Outbound, then the network.direction UDM field is set to OUTBOUND.
protocol network.ip_protocol If the protocol log field value contain one of the following values, then the protocol log field is mapped to the network.ip_protocol UDM field.
  • TCP
  • EIGRP
  • ESP
  • ETHERIP
  • GRE
  • ICMP
  • IGMP
  • IP6IN4
  • PIM
  • UDP
  • VRRP
rxbytes network.received_bytes
rxpackets network.received_packets
txbytes network.sent_bytes
txpackets network.sent_packets
lifetime network.session_duration.seconds
srcipstart principal.ip
sourceip principal.ip
srcipend principal.ip
location principal.location.name
sourceport principal.port
user principal.user.userid
destinationipstart target.ip
destinationip target.ip
destinationipend' target.ip
destinationport target.port

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