Recolha registos de DNS do ExtraHop

Compatível com:

Este documento explica como carregar registos DNS do ExtraHop para o Google Security Operations através do Bindplane. O analisador extrai registos formatados em JSON de uma string de mensagem não processada, processando dados não JSON ao ignorar o evento. Em seguida, mapeia campos específicos do JSON extraído para os campos correspondentes no esquema do modelo de dados unificado (UDM), convertendo tipos de dados e processando diferentes estruturas de respostas de DNS para garantir uma representação consistente.

Antes de começar

Certifique-se de que tem os seguintes pré-requisitos:

  • Instância do Google SecOps
  • Windows 2016 ou posterior, ou um anfitrião Linux com systemd
  • Se estiver a ser executado através de um proxy, certifique-se de que as portas da firewall estão abertas
  • Acesso privilegiado ao DNS da ExtraHop

Obtenha o ficheiro de autenticação de carregamento do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Agentes de recolha.
  3. Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o Bindplane vai ser instalado.

Obtenha o ID de cliente do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Perfil.
  3. Copie e guarde o ID do cliente da secção Detalhes da organização.

Instale o agente do Bindplane

Instale o agente do Bindplane no seu sistema operativo Windows ou Linux de acordo com as seguintes instruções.

Instalação do Windows

  1. Abra a Linha de comandos ou o PowerShell como administrador.
  2. Execute o seguinte comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalação do Linux

  1. Abra um terminal com privilégios de raiz ou sudo.
  2. Execute o seguinte comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Recursos de instalação adicionais

Para ver opções de instalação adicionais, consulte o guia de instalação.

Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps

  1. Aceda ao ficheiro de configuração:
    • Localize o ficheiro config.yaml. Normalmente, encontra-se no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    • Abra o ficheiro com um editor de texto (por exemplo, nano, vi ou Bloco de notas).
  2. Edite o ficheiro config.yaml da seguinte forma: yaml receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'EXTRAHOP_DNS' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels

Reinicie o agente do Bindplane para aplicar as alterações

  • Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar o agente Bindplane no Windows, pode usar a consola Serviços ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configure o Syslog para a stream de dados aberta do ExtraHop (DNS)

  1. Inicie sessão na administração do ExtraHop através do https://<extrahop-hostname-or-IP-address>/admin.
  1. Aceda a Configuração do sistema > Abrir streams de dados.
  2. Clique em Adicionar alvo.
  3. No menu pendente Tipo de destino, selecione Syslog.
  4. Indique os seguintes detalhes de configuração:
    • Nome: introduza um nome exclusivo para identificar o alvo.
    • Anfitrião: introduza o endereço IP do agente do Bindplane.
    • Porta: introduza o número da porta do agente do Bindplane.
    • Protocolo: selecione UDP ou TCP, consoante a configuração do Bindplane.
    • (Opcional) Selecione Hora local para enviar informações de syslog com datas/horas no fuso horário local.
    • Clique em Testar.
  5. Clique em Guardar.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
ans.data network.dns.answers.data Extraído do campo data na matriz answers no registo não processado.
ans.name network.dns.answers.name Extraído do campo name na matriz answers no registo não processado.
ans.ttl network.dns.answers.ttl Extraído do campo ttl na matriz answers no registo não processado. Convertida em uinteger.
ans.typeNum network.dns.answers.type Extraído do campo typeNum na matriz answers no registo não processado. Convertida em uinteger.
ans_data network.dns.answers.data Extraído do campo ans_data no registo não processado quando a matriz answers não está presente.
ans_name network.dns.answers.name Extraído do campo ans_name no registo não processado quando a matriz answers não está presente.
ans_ttl network.dns.answers.ttl Extraído do campo ans_ttl no registo não processado quando a matriz answers não está presente. Convertida em uinteger.
client_ip principal.ip Extraído do campo client_ip no registo não processado.
dns_type network.dns.response Se o valor for "response", então é "true". Caso contrário, não é mapeado. Convertida em boolean.
dst_ip target.ip Extraído do campo dst_ip no registo não processado.
ip_or_host intermediary.hostname Se ip_or_host não for um endereço IP válido, é mapeado para intermediary.hostname.
ip_or_host intermediary.ip Se ip_or_host for um endereço IP válido, é mapeado para intermediary.ip.
opcode network.dns.opcode Extraído do campo opcode no registo não processado. Mapeado para valores numéricos com base na string de código de operação (por exemplo, "QUERY" -> 0). Convertida em uinteger.
qname network.dns.questions.name Extraído do campo qname no registo não processado.
qtype network.dns.questions.type Extraído do campo qtype no registo não processado. Mapeado para valores numéricos com base na string do tipo de registo (por exemplo, "A" -> 1). Convertida em uinteger.
metadata.event_type Definido como NETWORK_DNS.
metadata.log_type Definido como EXTRAHOP_DNS.
network.application_protocol Definido como DNS.

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