Recolha registos de DDI do BlueCat

Compatível com:

Este analisador processa mensagens syslog formatadas em LEEF e não LEEF do Bluecat DDI (DNS, DHCP, IPAM). Extrai campos de vários tipos de registos (por exemplo, named, dhcpd, audit e CRON) através de padrões grok e lógica condicional, mapeando-os para o UDM com base no tipo de registo e preenchendo os campos relacionados com DNS, DHCP ou utilizadores em conformidade.

Antes de começar

  • Certifique-se de que tem uma instância do Google Security Operations.
  • Certifique-se de que está a usar o Windows 2016 ou posterior, ou um anfitrião Linux com systemd.
  • Se estiver a executar o serviço através de um proxy, certifique-se de que as portas da firewall estão abertas.
  • Certifique-se de que tem acesso privilegiado ao Bluecat.

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.

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

  1. Para a instalação do Windows, execute o seguinte script:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Para a instalação do 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. Pode encontrar opções de instalação adicionais neste guia de instalação.

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

  1. Aceda à máquina onde o Bindplane está instalado.
  2. Edite o ficheiro 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 alterações:

    sudo systemctl restart bindplane
    

Configure o Syslog no Bluecat DDI

  1. Inicie sessão no Bluecat Address Manager (BAM).
  2. No menu de configuração, selecione uma configuração.
  3. Selecione o separador Servidores.
  4. Em Servidores, clique no nome de um BDDS.
  5. O separador Detalhes do servidor deve ser aberto.
  6. Clique no menu Nome do servidor.
  7. Selecione Configuração do serviço.
  8. Clique em Tipo de serviço > Syslog (o Address Manager consulta o servidor e devolve os valores atuais).
  9. Em Geral, defina os seguintes valores:
    • Servidor Syslog: o endereço IP do seu servidor Syslog (Bindplane).
    • Porta Syslog: a porta do seu servidor Syslog (Bindplane).
    • Transporte Syslog: selecione TCP ou UDP (consoante a configuração do Bindplane).
  10. Clique em Adicionar.
    • O servidor Syslog recém-adicionado é apresentado na lista.
  11. Clique em Atualizar.

Configure as definições do Syslog no BlueCat DDI

  1. Inicie sessão no BlueCat Address Manager.
  2. Aceda a Configuração > Definições do sistema > Registo.
  3. Nas Definições de registo, localize a secção Servidores Syslog.
  4. Clique em Adicionar servidor Syslog.
  5. Indique 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 de anfitrião do servidor syslog.
    • Protocolo: selecione TCP, UDP (predefinição) ou TLS (com base na configuração do syslog).
    • Porta: especifique a porta para a comunicação syslog (predefinição: 514 para UDP/TCP, 6514 para TLS).
  6. Configure o Nível de registo. Escolha o nível adequado com base nas suas necessidades. As opções incluem:
    • Emergência: problemas críticos que requerem atenção imediata
    • Alerta: alertas que requerem uma 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 de depuração detalhadas
  7. Opcional: adicione uma funcionalidade Syslog personalizada para categorizar registos (por exemplo, local0 ou local1).
  8. Guarde a configuração.

Aplique as definições do Syslog aos dispositivos DDI

  1. Navegue para Servidores > Gerir servidores.
  2. Selecione os servidores DNS/DHCP onde o syslog deve ser ativado.
  3. Clique em Editar servidor.
  4. Na secção Registo:
    • Selecione o servidor Syslog que configurou anteriormente.
    • Ativar o registo para serviços específicos (por exemplo, consultas DNS ou concessões DHCP).
    • Guarde as alterações.

Tabela de mapeamento da UDM

Campo de registo Mapeamento do 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 e DHCPRELEASE).
cmd target.process.command_line Extraído dos registos CRON. Os sinais & e os espaços são removidos.
description metadata.description Extraídos de vários tipos de registos, fornecendo contexto adicional.
description metadata.description Extraído dos registos do syslog-ng, o que fornece contexto adicional.
file_path target.file.full_path Extraído de vários tipos de registos, representando o caminho completo para um ficheiro.
file_path target.process.file.full_path Extraído dos registos agetty, que representa o caminho completo para um ficheiro relacionado com um processo.
inner_message metadata.description Usado como a descrição para GENERIC_EVENTs quando o tipo de operação não está definido e para registos MEM-MON.
metadata.event_type Determinado pelo analisador com base no tipo de registo e no conteúdo. Os valores possíveis incluem: NETWORK_DNS, NETWORK_DHCP, USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, GENERIC_EVENT, STATUS_UPDATE e NETWORK_CONNECTION. Sempre "BLUECAT_DDI".
metadata.vendor_name Sempre "Bluecat Networks".
metadata.product_name Sempre "Bluecat DDI".
metadata.event_timestamp Copiado da data/hora analisada da entrada do registo.
network.protocol Definido como "DNS" para registos de DNS e "DHCP" para registos de DHCP.
network.dns.answers Uma matriz que contém registos de respostas. O campo data em answers é preenchido com target_ip, se estiver presente.
network.dns.questions Uma matriz que contém registos de perguntas. O campo name é preenchido com o campo target_host, o campo type é derivado dos campos query_type ou question_type, e o campo class é derivado do campo qclass.
network.dns.recursive Definido como "true" se o rec_flag for "+".
qclass network.dns.questions.class Extraído dos registos de consultas de DNS e mapeado para um valor inteiro através do ficheiro dns_query_class_mapping.include.
query_type network.dns.questions.type Extraído dos registos de consultas de DNS e mapeado para um valor inteiro através do ficheiro dhcp_qtype_mapping.include.
relay_ip intermediary.ip Extraído dos registos 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 registos, que representam o nome de anfitrião do servidor.
server_host network.dhcp.sname Extraído dos registos DHCP, representando o nome do anfitrião do servidor.
server_host principal.hostname Extraído do systemd, agetty e alguns registos de auditoria, que representam o nome do anfitrião do principal.
server_ip target.ip Extraído de registos formatados LEEF, que representam o endereço IP do servidor.
src_ip principal.ip Extraído de vários tipos de registos, 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 registos, representando a porta de origem.
src_user principal.user.userid Extraído dos registos CRON e de auditoria, que representam o ID do utilizador.
target_host target.hostname Extraído de vários tipos de registos, representando o nome do anfitrião de destino.
target_host network.dns.questions.name Usado nos registos DNS para preencher o nome da pergunta.
target_ip target.ip Extraído de vários tipos de registos, 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 nos registos de DNS para preencher os dados de resposta.
tgt_port target.port Extraído dos registos syslog-ng, que representam a porta de destino.

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