Recolha registos do resolvedor de DNS do BlueCat Edge

Compatível com:

Este documento explica como carregar o resolvedor DNS BlueCat Edge para o Google Security Operations através do Bindplane. O analisador tenta primeiro analisar a mensagem de entrada como JSON. Se for bem-sucedido, extrai e estrutura vários campos no esquema do modelo de dados unificado (UDM), focando-se particularmente em informações relacionadas com o DNS. Se a análise JSON falhar, tenta métodos de análise alternativos, como o grok e os pares de chave/valor, para extrair dados relevantes e mapeá-los para o esquema do UDM.

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, as portas da firewall estão abertas
  • Acesso privilegiado ao BlueCat DNS/DHCP

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:

    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
            ingestion_labels:
                log_type: 'BLUECAT_EDGE'
                raw_log_field: body
    
    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 do Bindplane no Windows, pode usar a consola Services ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configure o Syslog no resolvedor de DNS BlueCat Edge

  1. Inicie sessão na IU Web do BDDS.
  2. Aceda a Configuração > separador Servidores.
  3. Selecione o nome de um BDDS para abrir o separador Detalhes do servidor.
  4. Clique no menu do nome do servidor > Configuração do serviço.
  5. Clique em Tipo de serviço > Syslog.
  6. Indique os seguintes detalhes de configuração:
    • Selecione a caixa de verificação Data/hora ISO 8601 para usar o formato de data/hora ISO 8601 para mensagens registadas localmente.
    • Servidor: introduza o endereço IP do agente do Bindplane.
    • Porta: introduza o número da porta do agente do Bindplane.
    • Nível: selecione Informativo.
    • Selecione a caixa de verificação Usar protocolo Syslog RFC5 424 para usar o protocolo syslog RFC5 424 para mensagens syslog.
    • Selecione a caixa de verificação Data/hora ISO 8601 para usar o formato de data/hora ISO 8601 para mensagens syslog redirecionadas para um servidor syslog remoto.
    • Em Tipo de serviço, selecione DNS, DHCP e Todos os outros serviços.
    • Transporte: selecione UDP.
    • Clique em Adicionar.
  7. Clique em Atualizar.

Tabela de mapeamento do UDM

Campo de registo Mapeamento de UDM Lógica
answer.domainName network.dns.answers.name O nome do domínio da secção answer da resposta de DNS. O . final é removido.
answer.recordTypeId network.dns.answers.type O ID do tipo de registo da secção answer da resposta DNS, convertido num número inteiro não assinado.
answer.ttl network.dns.answers.ttl O valor de tempo de vida (TTL) da secção answer da resposta DNS, convertido num número inteiro não assinado.
customerId target.user.userid O ID de cliente do registo, que representa o utilizador que iniciou o pedido DNS.
domain.domainName network.dns.authority.data O nome do domínio das secções authority ou additional da resposta DNS. O . final é removido.
hostname principal.hostname O nome do anfitrião extraído do cabeçalho Host no registo não processado, apenas se o registo não estiver no formato JSON.
método network.http.method O método HTTP extraído do registo não processado, apenas se o registo não estiver no formato JSON.
parentDomain principal.administrative_domain O domínio principal do nome DNS consultado. O . final é removido.
porta principal.port O número da porta extraído do cabeçalho Host no registo não processado, apenas se o registo não estiver no formato JSON, convertido num número inteiro.
question.domainName network.dns.questions.name O nome de domínio da secção question do pedido DNS. O . final é removido.
question.questionTypeId network.dns.questions.type O ID do tipo de pergunta da secção question do pedido DNS, convertido num número inteiro não assinado.
responseData.header.aa network.dns.authoritative Se a resposta de DNS é fiável, extraída da secção responseData.
responseData.header.id network.dns.id O ID da mensagem DNS, extraído da secção responseData, convertido num número inteiro não assinado.
responseData.header.opcode network.dns.opcode O opcode da mensagem DNS, extraído da secção responseData, foi convertido num número inteiro não assinado.
responseData.header.ra network.dns.recursion_available Se a recursão está disponível, extraída da secção responseData.
responseData.header.rcode network.dns.response_code O código de resposta do DNS, extraído da secção responseData, convertido num número inteiro não assinado.
responseData.header.rd network.dns.recursion_desired Se a recursão está selecionada, extraída da secção responseData.
responseData.header.tc network.dns.truncated Se a mensagem DNS está truncada, extraída da secção responseData.
servicePointId additional.fields.value.string_value O ID do ponto de serviço do registo.
siteId additional.fields.value.string_value O ID do site a partir do registo.
socketProtocol network.ip_protocol O protocolo de rede usado para o pedido DNS (TCP ou UDP).
sourceAddress principal.ip O endereço IP do cliente DNS.
sourcePort principal.port O número da porta do cliente DNS, convertido num número inteiro.
threat.indicators security_result.category_details Os indicadores associados a uma ameaça detetada.
threat.type security_result.threat_name O tipo de ameaça detetada.
tempo metadata.event_timestamp.seconds A data/hora do evento DNS, extraída do campo time e convertida de milissegundos para segundos.
Agente do utilizador network.http.user_agent A string do agente do utilizador extraída do registo não processado, apenas se o registo não estiver no formato JSON.
additional.fields.key servicePointId ou siteId ou Content-Type ou Content-Length, consoante o conteúdo do registo não processado.
metadata.event_type O tipo de evento, definido como NETWORK_DNS se estiver presente uma pergunta DNS, caso contrário, definido como GENERIC_EVENT.
metadata.log_type O tipo de registo, sempre definido como BLUECAT_EDGE.
network.application_protocol O protocolo de aplicação, definido como DNS se estiver presente uma pergunta DNS, caso contrário, definido como HTTP se for extraído um método HTTP ou deixado em branco.

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