Coletar registros DNS do F5

Compatível com:

Este documento explica como ingerir registros de DNS do F5 no Google Security Operations usando o Bindplane. O analisador extrai campos de mensagens syslog DNS do F5 usando padrões grok com base no campo do aplicativo e os mapeia para o modelo de dados unificado (UDM). Ele processa vários aplicativos F5, como gtmd, mcpd, big3d e outros, analisando campos específicos e definindo o tipo de evento, a gravidade e as descrições adequadas da UDM com base no nível de registro e no aplicativo.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Uma instância do Google SecOps
  • Um host Windows 2016 ou mais recente ou Linux com systemd
  • Se estiver executando por trás de um proxy, as portas do firewall estarão abertas.
  • Acesso privilegiado ao F5 BIG-IP

Receber o arquivo de autenticação de ingestão do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.

Receber o ID do cliente do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instale o agente do Bindplane no sistema operacional Windows ou Linux de acordo com as instruções a seguir.

Instalação do Windows

  1. Abra o Prompt de Comando ou o PowerShell como administrador.
  2. Execute este 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 root ou sudo.
  2. Execute este comando:

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

Outros recursos de instalação

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

Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps

  1. Acesse o arquivo de configuração:
    • Localize o arquivo config.yaml. Normalmente, ele fica no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    • Abra o arquivo usando um editor de texto (por exemplo, nano, vi ou Bloco de Notas).
  2. Edite o arquivo 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
            log_type: 'F5_DNS'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
    • Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
    • Substitua <customer_id> pelo ID do cliente real.
    • Atualize /path/to/ingestion-authentication-file.json para o caminho em que o arquivo de autenticação foi salvo na seção Receber arquivo de autenticação de ingestão do Google SecOps.

Reinicie o agente do Bindplane para aplicar as mudanças

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

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar o agente do Bindplane em Windows, use o console Serviços ou insira o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar um pool de servidores de geração de registros remotos

  1. Faça login na UI da Web do F5 BIG-IP.
  2. Na guia Principal, acesse DNS > Exibição > Balanceamento de carga > Pools ou Tráfego local > Pools.
  3. Clique em Criar.
  4. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome exclusivo para o pool.
    • Usando a configuração Novos membros:
      • Digite o endereço IP do agente do Bindplane no campo Endereço.
      • Insira o número da porta do agente Bindplane no campo Porta do serviço.
  5. Clique em Adicionar > Concluído.

Configurar o destino do registro remoto

  1. Na guia Principal, acesse Sistema > Registros > Configuração > Destinos de registro.
  2. Clique em Criar.
  3. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome exclusivo para esse destino.
    • Tipo: selecione Registro remoto de alta velocidade.
    • Nome do pool: selecione o pool de servidores de registro remotos para onde você quer que o sistema BIG-IP envie mensagens de registro.
    • Protocolo: selecione o protocolo usado.
  4. Clique em Concluído.

Como criar um destino de registro remoto formatado

  1. Na guia Principal, acesse Sistema > Registros > Configuração > Destinos de registro.
  2. Clique em Criar.
  3. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome exclusivo para esse destino.
    • Tipo: selecione Syslog remoto.
    • Formato: selecione o formato do registro.
    • Encaminhar para: selecione Destino de registro em alta velocidade > o destino que aponta para o pool de servidores Syslog remotos.
  4. Clique em Concluído.

Configurar o editor de registros

  1. Na guia Principal, acesse Sistema > Registros > Configuração > Editores de registros.
  2. Clique em Criar.
  3. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome exclusivo para o editor.
    • Destinos: selecione o destino recém-criado para Syslog remoto na lista Disponível e clique em keyboard_double_arrow_left Mover para mover o destino para a lista Selecionado.
  4. Clique em Concluído.

Configurar um perfil de geração de registros DNS personalizado

  1. Na guia Principal, acesse DNS > Entrega > Perfis > Outros > Registro de DNS ou Tráfego local > Perfis > Outros > Registro de DNS.
  2. Clique em Criar.
  3. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome exclusivo para o perfil.
    • Editor de registros: selecione o destino recém-criado para onde o sistema envia entradas de registro de DNS.
    • Consultas de registros: marque a caixa de seleção Ativado.
    • Registrar respostas: marque a caixa de seleção Ativado.
    • Incluir ID da consulta: marque a caixa de seleção Ativado.
  4. Clique em Concluído.

Adicionar o perfil de DNS ao listener de DNS

  1. Na guia Principal, acesse DNS > Entrega > Listeners > selecione listener de DNS.
  2. No perfil de DNS na seção Serviço, selecione o perfil de DNS que você configurou anteriormente.
  3. Clique em Atualizar.

Tabela de mapeamento da UDM

Campo de registro Mapeamento do UDM Lógica
application principal.application Mapeado diretamente do campo application.
cipher_name network.tls.cipher Mapeado diretamente do campo cipher_name.
command_line principal.process.command_line Mapeado diretamente do campo command_line.
desc security_result.description Mapeado diretamente do campo desc.
desc_icrd security_result.description Mapeado diretamente do campo desc_icrd.
dest_ip target.ip Mapeado diretamente do campo dest_ip.
dest_port target.port Mapeado diretamente do campo dest_port.
file_path principal.process.file.full_path Mapeado diretamente do campo file_path. Definido como true se level for "alert". Caso contrário, não estará presente. Definido como true se level for "alert". Caso contrário, não estará presente.
msg3 security_result.description Mapeado diretamente do campo msg3 quando application é "run-parts".
metadata.event_type Definido como GENERIC_EVENT se event_type estiver vazio. Caso contrário, mapeado de event_type. Codificado como "DNS". Codificado como "F5".
principal_hostname principal.hostname Mapeado diretamente do campo principal_hostname.
proc_id principal.process.pid Mapeado diretamente do campo proc_id.
received_bytes network.received_bytes Mapeado diretamente do campo received_bytes.
resource_id target.resource.id Mapeado diretamente do campo resource_id.
resource_parent principal.resource.parent Mapeado diretamente do campo resource_parent.
response_code network.http.response_code Mapeado diretamente do campo response_code. Determinado com base no campo level.
src_ip principal.ip Mapeado diretamente do campo src_ip.
src_port principal.port Mapeado diretamente do campo src_port.
tls_version network.tls.version Mapeado diretamente do campo tls_version.
userName principal.user.userid Mapeado diretamente do campo userName.
when event.timestamp Calculado com base em datetime1 e timezone ou datetime e timezone.

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