Coletar registros de DDI do BlueCat

Compatível com:

Esse analisador processa mensagens syslog formatadas por LEEF e não-LEEF do Bluecat DDI (DNS, DHCP, IPAM). Ele extrai campos de vários tipos de registro (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 campos DNS, DHCP ou relacionados ao usuário.

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 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. Faça o download do arquivo de autenticação de transferência.

Receber o ID de 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 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. Outras opções de instalação podem ser encontradas neste guia de instalação.

Configurar o agente BindPlane para ingerir o 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 configuraçã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 do serviço.
  8. Clique em Tipo de serviço > Syslog. O Gerenciador de endereços 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 Syslog: a porta do servidor Syslog (Bindplane).
    • Transporte de 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.

Definir as configurações do Syslog no BlueCat DDI

  1. Faça login no Gerenciador de endereços do BlueCat.
  2. Acesse Configuração > Configurações do sistema > Registro.
  3. Nas Configurações de geração de registros, localize a seção Servidor Syslog.
  4. Clique em Adicionar servidor Syslog.
  5. Informe 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 a comunicação syslog (padrão: 514 para UDP/TCP, 6514 para TLS).
  6. Configure o nível de registro. 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 uma ação imediata
    • Crítico: condições críticas
    • Erro: eventos de erro
    • Aviso: eventos de aviso
    • Aviso: eventos normais, mas significativos
    • Info: mensagens informativas
    • Depuração: informações detalhadas de depuração
  7. Opcional: adicione uma instalação Syslog personalizada para categorizar logs (por exemplo, local0 ou local1).
  8. Salve a configuração.

Aplicar configurações de 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:
    • Selecione o servidor syslog que você configurou anteriormente.
    • Ative a geração de registros para serviços específicos (por exemplo, consultas DNS ou aluguéis DHCP).
    • Salve as alterações.

Tabela de mapeamento do UDM

Campo de registro Mapeamento de UDM Lógica
client_ip network.dhcp.ciaddr Extraídos da mensagem DHCPREQUEST. Preenchido apenas para mensagens DHCPREQUEST.
client_mac principal.mac Extraídos de mensagens DHCP (DHCPDISCOVER, DHCPREQUEST, DHCPRELEASE).
client_mac target.mac Extraídos de mensagens DHCP (DHCPOFFER, DHCPNAK).
client_mac network.dhcp.chaddr Extraídos de mensagens DHCP (DHCPREQUEST, DHCPOFFER, DHCPACK, DHCPNAK, DHCPRELEASE).
cmd target.process.command_line Extraídos dos registros do CRON. As letras & e os espaços são removidos.
description metadata.description Extraídos de vários tipos de registro, fornecendo mais contexto.
description metadata.description Extraídos dos registros do syslog-ng, fornecendo mais contexto.
file_path target.file.full_path Extraídos de vários tipos de registro, representando o caminho completo de um arquivo.
file_path target.process.file.full_path Extraídos dos 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 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 logs DNS e "DHCP" para logs DHCP.
network.dns.answers Uma matriz que contém registros de resposta. O campo data em answers é preenchido com target_ip, se presente.
network.dns.questions Uma matriz que contém registros de perguntas. O campo name é preenchido com 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ídos dos registros de consulta do DNS e mapeados para um valor inteiro usando o arquivo dns_query_class_mapping.include.
query_type network.dns.questions.type Extraídos dos registros de consulta do DNS e mapeados para um valor inteiro usando o arquivo dhcp_qtype_mapping.include.
relay_ip intermediary.ip Extraídos dos registros de DNS e DHCP, representando o endereço IP de um servidor intermediário ou de retransmissão.
server_host target.hostname Extraídos de vários tipos de registro, representando o nome do host do servidor.
server_host network.dhcp.sname Extraídos dos registros DHCP, representando o nome do host do servidor.
server_host principal.hostname Extraídos do systemd, agetty e alguns registros de auditoria, representando o nome do host do principal.
server_ip target.ip Extraídos de registros formatados em LEEF, que representam o endereço IP do servidor.
src_ip principal.ip Extraídos de vários tipos de registro, 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ídos de vários tipos de registro, representando a porta de origem.
src_user principal.user.userid Extraídos de CRON e registros de auditoria, representando o ID do usuário.
target_host target.hostname Extraídos de vários tipos de registro, representando o nome de host de destino.
target_host network.dns.questions.name Usado em registros DNS para preencher o nome da pergunta.
target_ip target.ip Extraídos de vários tipos de registro, 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 DNS para preencher os dados de resposta.
tgt_port target.port Extraídos dos registros do syslog-ng, representando a porta de destino.

Alterações

2022-11-08

  • O grok foi adicionado para registros recém-ingeridos de log_type: "agetty", "syslog-ng", "systemd".
  • Adição de padrão grok para log_type: "named", "systemd", "CRON", "agetty", "syslog-ng" e os respectivos mapeamentos para os campos no log_type mencionado acima.

2022-09-01

  • A event_type foi modificada de "GENERIC_EVENT" para "USER_UNCATEGORIZED" para reduzir a porcentagem genérica.

2022-08-16

  • Mapeamento de UDM adicionado
  • metadata.vendor_name para "Bluecat Networks"
  • metadata.product_name para "Bluecat DDI"

2022-05-05

  • Foram adicionadas verificações para o campo query_type.