Recolha registos de DNS do F5

Compatível com:

Este documento explica como carregar registos DNS da F5 para o Google Security Operations através do Bindplane. O analisador extrai campos de mensagens syslog de DNS F5 através de padrões grok com base no campo da aplicação e, em seguida, mapeia-os para o modelo de dados unificado (UDM). Processa várias aplicações F5, como gtmd, mcpd, big3d e outras, analisando campos específicos e definindo o tipo de evento UDM, a gravidade e as descrições adequados com base no nível de registo e na aplicação.

Antes de começar

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

  • Uma instância do Google SecOps
  • Um anfitrião 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 F5 BIG-IP

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
            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
    

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 um conjunto de servidores de registo remoto

  1. Inicie sessão na IU Web do F5 BIG-IP.
  2. No separador Principal, aceda a DNS > Fornecimento > Equilíbrio de carga > Pools ou tráfego local > Pools.
  3. Clique em Criar.
  4. Indique os seguintes detalhes de configuração:
    • Nome: introduza um nome exclusivo para o conjunto.
    • Usando a definição Novos membros:
      • Introduza o endereço IP do agente do Bindplane no campo Endereço.
      • Introduza o número da porta do agente do Bindplane no campo Porta de serviço.
  5. Clique em Adicionar > Concluído.

Configure o destino do registo remoto

  1. No separador Principal, aceda a Sistema > Registos > Configuração > Destinos de registos.
  2. Clique em Criar.
  3. Indique os seguintes detalhes de configuração:
    • Nome: introduza um nome exclusivo para este destino.
    • Tipo: selecione Registo de alta velocidade remoto.
    • Nome do conjunto: selecione o conjunto de servidores de registo remotos para os quais quer que o sistema BIG-IP envie mensagens de registo.
    • Protocolo: selecione o protocolo usado.
  4. Clique em Concluído.

Criar um destino de registo remoto formatado

  1. No separador Principal, aceda a Sistema > Registos > Configuração > Destinos de registos.
  2. Clique em Criar.
  3. Indique os seguintes detalhes de configuração:
    • Nome: introduza um nome exclusivo para este destino.
    • Tipo: selecione Syslog remoto.
    • Formato: selecione o formato do registo.
    • Encaminhar para: selecione Destino do registo de alta velocidade > o destino que aponta para o conjunto de servidores Syslog remotos.
  4. Clique em Concluído.

Configure o publicador de registos

  1. No separador Principal, aceda a Sistema > Registos > Configuração > Publicadores de registos.
  2. Clique em Criar.
  3. Indique os seguintes detalhes de configuração:
    • Nome: introduza um nome exclusivo para este publicador.
    • Destinos: selecione o destino criado recentemente para Syslog remoto na lista Disponível e, de seguida, clique em keyboard_double_arrow_left Mover para mover o destino para a lista Selecionado.
  4. Clique em Concluído.

Configure um perfil de registo de DNS personalizado

  1. No separador Principal, aceda a DNS > Entrega > Perfis > Outro > Registo de DNS ou tráfego local > Perfis > Outro > Registo de DNS.
  2. Clique em Criar.
  3. Indique os seguintes detalhes de configuração:
    • Nome: introduza um nome exclusivo para este perfil.
    • Publicador de registos: selecione o destino recém-criado para o qual o sistema envia entradas de registo de DNS.
    • Consultas de registo: selecione a caixa de verificação Ativado.
    • Registar respostas: selecione a caixa de verificação Ativado.
    • Incluir ID da consulta: selecione a caixa de verificação Ativado.
  4. Clique em Concluído.

Adicione o perfil de DNS ao ouvinte de DNS

  1. No separador Principal, aceda a DNS > Fornecimento > Ouvintes > selecione ouvinte de DNS.
  2. No Perfil de DNS na secção Serviço, selecione o Perfil de DNS que configurou anteriormente.
  3. Clique em Atualizar.

Tabela de mapeamento do UDM

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

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