Coletar registros de DDI do BlueCat

Compatível com:

Esse analisador processa mensagens syslog formatadas em LEEF e não LEEF do Bluecat DDI (DNS, DHCP, IPAM). Ele extrai campos de vários tipos de registros (por exemplo, named, dhcpd, audit e CRON) usando padrões grok e lógica condicional, mapeando-os para a UDM com base no tipo de registro e preenchendo os campos relacionados a DNS, DHCP ou usuário de acordo.

Antes de começar

  • Verifique se você tem uma instância do Google Security Operations.
  • Verifique se você está usando o Windows 2016 ou uma versão mais recente ou um host Linux com systemd.
  • Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
  • Verifique se você tem acesso privilegiado ao Bluecat.

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.

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

  1. Para instalação no Windows, execute o seguinte script:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Para instalação no Linux, execute o seguinte script:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. Outras opções de instalação estão disponíveis neste guia de instalação.

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

  1. Acesse a máquina em que o Bindplane está instalado.
  2. Edite o arquivo config.yaml da seguinte forma:

    receivers:
        tcplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: bluceat_ddi
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Reinicie o agente do Bindplane para aplicar as mudanças:

    sudo systemctl restart bindplane
    

Configurar o Syslog no Bluecat DDI

  1. Faça login no Bluecat Address Manager (BAM).
  2. No menu configuração, selecione uma opção.
  3. Selecione a guia Servidores.
  4. Em Servidores, clique no nome de um BDDS.
  5. A guia Detalhes do servidor será aberta.
  6. Clique no menu nome do servidor.
  7. Selecione Configuração de serviço.
  8. Clique em Tipo de serviço > Syslog. O Address Manager consulta o servidor e retorna os valores atuais.
  9. Em Geral, defina os seguintes valores:
    • Servidor Syslog: o endereço IP do servidor Syslog (Bindplane).
    • Porta do Syslog: a porta do seu servidor Syslog (Bindplane).
    • Transporte do Syslog: selecione TCP ou UDP, dependendo da configuração do Bindplane.
  10. Clique em Adicionar.
    • O servidor syslog recém-adicionado vai aparecer na lista.
  11. Clique em Atualizar.

Configurar as configurações do Syslog no BlueCat DDI

  1. Faça login no BlueCat Address Manager.
  2. Acesse Configuração > Configurações do sistema > Registro.
  3. Em Configurações de geração de registros, localize a seção Servidores Syslog.
  4. Clique em Adicionar servidor Syslog.
  5. Forneça os valores necessários:
    • Nome do servidor: um nome exclusivo para o servidor syslog (por exemplo, BindplaneServer).
    • Endereço IP: o endereço IP ou o nome do host do servidor syslog.
    • Protocolo: selecione TCP, UDP (padrão) ou TLS (com base na configuração do syslog).
    • Porta: especifique a porta para comunicação syslog. O padrão é 514 para UDP/TCP e 6514 para TLS.
  6. Configure o nível de geração de registros. Escolha o nível adequado com base nas suas necessidades. As opções incluem:
    • Emergência: problemas críticos que exigem atenção imediata
    • Alerta: alertas que exigem ação imediata
    • Crítico: condições críticas
    • Erro: eventos de erro
    • Aviso: eventos de aviso
    • Aviso: eventos normais, mas significativos
    • Informações: mensagens informativas
    • Depuração: informações detalhadas de depuração
  7. Opcional: adicione uma facilidade Syslog personalizada para categorizar registros (por exemplo, local0 ou local1).
  8. Salve a configuração.

Aplicar configurações do Syslog a dispositivos DDI

  1. Acesse Servidores > Gerenciar servidores.
  2. Selecione os servidores DNS/DHCP em que o syslog precisa ser ativado.
  3. Clique em Editar servidor.
  4. Na seção Registro em log:
    • Selecione o servidor syslog que você configurou antes.
    • Ative a geração de registros para serviços específicos (por exemplo, consultas DNS ou concessões de DHCP).
    • Salve as alterações.

Tabela de mapeamento do UDM

Campo de registro Mapeamento da UDM Lógica
client_ip network.dhcp.ciaddr Extraído da mensagem DHCPREQUEST. Preenchido apenas para mensagens DHCPREQUEST.
client_mac principal.mac Extraído de mensagens DHCP (DHCPDISCOVER, DHCPREQUEST, DHCPRELEASE).
client_mac target.mac Extraído de mensagens DHCP (DHCPOFFER, DHCPNAK).
client_mac network.dhcp.chaddr Extraído de mensagens DHCP (DHCPREQUEST, DHCPOFFER, DHCPACK, DHCPNAK, DHCPRELEASE).
cmd target.process.command_line Extraído dos registros do CRON. Os e comercial e os espaços são removidos.
description metadata.description Extraídas de vários tipos de registros, fornecendo contexto adicional.
description metadata.description Extraído dos registros do syslog-ng, fornecendo contexto adicional.
file_path target.file.full_path Extraído de vários tipos de registros, representando o caminho completo para um arquivo.
file_path target.process.file.full_path Extraído de registros do agetty, representando o caminho completo para um arquivo relacionado a um processo.
inner_message metadata.description Usado como a descrição de GENERIC_EVENTs quando o tipo de operação não está definido e para registros de MEM-MON.
metadata.event_type Determinado pelo analisador com base no tipo e no conteúdo do registro. Os valores possíveis incluem: NETWORK_DNS, NETWORK_DHCP, USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, GENERIC_EVENT, STATUS_UPDATE, NETWORK_CONNECTION. Sempre "BLUECAT_DDI".
metadata.vendor_name Sempre "Bluecat Networks".
metadata.product_name Sempre "Bluecat DDI".
metadata.event_timestamp Copiado do carimbo de data/hora analisado da entrada de registro.
network.protocol Defina como "DNS" para registros de DNS e "DHCP" para registros de DHCP.
network.dns.answers Uma matriz que contém registros de respostas. O campo data em answers é preenchido com o target_ip, se estiver presente.
network.dns.questions Uma matriz que contém registros de perguntas. O campo name é preenchido com o target_host, o campo type é derivado dos campos query_type ou question_type, e o campo class é derivado do campo qclass.
network.dns.recursive Defina como "true" se o rec_flag for "+".
qclass network.dns.questions.class Extraído dos registros de consultas de DNS e mapeado para um valor inteiro usando o arquivo dns_query_class_mapping.include.
query_type network.dns.questions.type Extraído dos registros de consultas de DNS e mapeado para um valor inteiro usando o arquivo dhcp_qtype_mapping.include.
relay_ip intermediary.ip Extraído de registros de DNS e DHCP, representando o endereço IP de um servidor de retransmissão ou intermediário.
server_host target.hostname Extraído de vários tipos de registros, representando o nome do host do servidor.
server_host network.dhcp.sname Extraído dos registros do DHCP, representando o nome do host do servidor.
server_host principal.hostname Extraído do systemd, agetty e alguns registros de auditoria, representando o nome do host do principal.
server_ip target.ip Extraído de registros formatados em LEEF, representando o endereço IP do servidor.
src_ip principal.ip Extraído de vários tipos de registros, representando o endereço IP de origem.
src_ip network.dhcp.yiaddr Usado em mensagens DHCPINFORM para preencher o campo yiaddr.
src_port principal.port Extraído de vários tipos de registros, representando a porta de origem.
src_user principal.user.userid Extraído de CRON e registros de auditoria, representando o ID do usuário.
target_host target.hostname Extraído de vários tipos de registros, representando o nome do host de destino.
target_host network.dns.questions.name Usado em registros DNS para preencher o nome da pergunta.
target_ip target.ip Extraído de vários tipos de registros, representando o endereço IP de destino.
target_ip network.dhcp.ciaddr Usado em mensagens BOOTREQUEST para preencher o campo ciaddr.
target_ip network.dns.answers.data Usado em registros de DNS para preencher os dados de resposta.
tgt_port target.port Extraído dos registros do syslog-ng, representando a porta de destino.

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