Coletar registros do Infoblox
Este documento descreve como coletar registros do Infoblox usando um encaminhador de operações de segurança do Google.
Para mais informações, consulte Ingestão de dados para as operações de segurança do Google.
Um rótulo de transferência identifica o analisador que normaliza os dados de registro brutos para o formato estruturado da UDM. As informações neste documento se aplicam ao analisador com o
rótulo de transferência INFOBLOX_DNS
.
Configurar o Infoblox
- Faça login na UI da Web do Infoblox.
- Na UI da Web do Infoblox, selecione System > System properties editor > Monitoring.
- Marque a caixa de seleção Registrar em servidores syslog externos.
- Na seção Servidors syslog externos, clique no sinal de adição (+) para adicionar um novo servidor syslog para o forwarder de operações de segurança do Google.
- No campo Endereço, insira o endereço IP do servidor de encaminhamento das operações de segurança do Google.
- Na lista Transporte, selecione TCP ou UDP.
- No campo Porta, digite o número da porta.
- Na lista ID do nó, selecione LAN para incluir o IP do Infoblox no cabeçalho do syslog.
- Na lista Disponível, selecione os seguintes itens e mova-os para a lista Selecionado:
- Consultas de DNS
- Respostas de DNS
- Processo DHCP
O servidor Infoblox encaminha os registros de consulta e resposta usando syslog para o encaminhador de operações de segurança do Google.
Configurar o encaminhador de operações de segurança do Google e o syslog para processar registros do Infoblox
- Selecione Configurações do SIEM > Encaminhadores.
- Clique em Adicionar novo encaminhador.
- Insira um nome exclusivo no campo Nome do encaminhador.
- Clique em Enviar e em Confirmar. O encaminhador é adicionado, e a janela Add collector configuration aparece.
- No campo Nome do coletor, insira um nome exclusivo.
- Selecione Infoblox como o Tipo de registro.
- Selecione Syslog como o Tipo de coletor.
- Configure os seguintes parâmetros de entrada:
- Protocolo: especifique o protocolo de conexão que o coletor vai usar para detectar dados do syslog.
- Endereço: especifique o endereço IP ou o nome do host de destino em que o coletor reside e detecta dados do syslog.
- Porta: especifique a porta de destino em que o coletor reside e detecta dados do syslog.
- Clique em Enviar.
Para mais informações sobre os encaminhadores do Google Security Operations, consulte a documentação sobre encaminhadores do Google Security Operations. Para informações sobre os requisitos de cada tipo de encaminhador, consulte Configuração do encaminhador por tipo.
Se você tiver problemas ao criar encaminhadores, entre em contato com o suporte da Google Security Operations.
Referência do mapeamento de campo
Esse analisador extrai os registros DNS do Infoblox nos formatos SYSLOG ou CEF, normalizando-os no UDM. Ele processa vários formatos de registro usando padrões grok, extrai campos-chave, como IP de origem ou destino, detalhes da consulta DNS e informações de segurança, e os mapeia para os campos UDM apropriados.
Tabela de mapeamento da UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
agent.hostname |
principal.hostname |
Para registros formatados em CEF, se agent.hostname existir, ele será mapeado para principal.hostname . |
client_ip |
principal.ip |
Para registros formatados em CEF, se client_ip existir, ele será mapeado para principal.ip . |
client_port |
principal.port |
Para registros formatados em CEF, se client_port existir, ele será mapeado para principal.port . |
data |
answers.data |
Extraídos do campo data da seção answers no registro bruto. Várias ocorrências são mapeadas como objetos answers separados. |
description |
metadata.description |
Mapeado diretamente do campo description do registro bruto ou extraído usando padrões grok de outros campos, como message e msg2 . |
dest_ip1 |
target.ip |
Extraídos do registro bruto e mapeados para target.ip . |
destinationDnsDomain |
dns_question.name |
Para registros formatados em CEF, se destinationDnsDomain existir, ele será mapeado para dns_question.name . |
dns_class |
dns_question.class |
Mapeado usando a tabela de pesquisa dns_query_class_mapping.include . |
dns_domain |
dns_question.name |
Extraídos do campo message do registro bruto usando padrões grok e mapeados para dns_question.name . |
dns_name |
dns_question.name |
Extraídos do campo dns_domain usando padrões grok e mapeados para dns_question.name . |
dns_records |
answers.data |
Para registros formatados em CEF, se dns_records existir, ele será mapeado para answers.data . Várias ocorrências são mapeadas como objetos answers separados. |
dst_ip |
target.ip ou target.hostname |
Extraídos do campo message do registro bruto usando padrões grok. Se for um endereço IP válido, ele será mapeado para target.ip . Caso contrário, ele será mapeado para target.hostname . |
dst_ip1 |
target.ip ou target.hostname |
Extraídos do campo message ou msg2 do registro bruto usando padrões grok. Se for um endereço IP válido, ele será mapeado para target.ip . Caso contrário, ele será mapeado para target.hostname . Só mapeado se for diferente de dst_ip . |
evt_type |
metadata.product_event_type |
Mapeado diretamente do campo evt_type do registro bruto, que é extraído do campo message usando padrões grok. |
InfobloxB1OPHIPAddress |
principal.ip |
Para registros formatados em CEF, se InfobloxB1OPHIPAddress existir, ele será mapeado para principal.ip . |
InfobloxB1Region |
principal.location.country_or_region |
Para registros formatados em CEF, se InfobloxB1Region existir, ele será mapeado para principal.location.country_or_region . |
InfobloxDNSQType |
dns_question.type |
Para registros formatados em CEF, se InfobloxDNSQType existir, ele será mapeado para dns_question.type . |
intermediary |
intermediary.ip ou intermediary.hostname |
Extraído do campo message do registro bruto usando padrões grok. Se for um endereço IP válido, ele será mapeado para intermediary.ip . Caso contrário, será mapeado para intermediary.hostname . |
msg2 |
metadata.description , dns.response_code , dns_question.name , target.ip , target.hostname , answers.name , answers.ttl , answers.data , answers.class , answers.type , security_result.severity |
Extraídos do campo message do registro bruto usando padrões grok. Usado para extrair vários campos, mas não mapeado diretamente para a UDM. |
name1 |
answers.name |
Extraídos do campo msg2 do registro bruto usando padrões grok e mapeados para answers.name . |
name2 |
answers.name |
Extraídos do campo msg2 do registro bruto usando padrões grok e mapeados para answers.name . |
protocol |
network.ip_protocol |
Mapeado diretamente do campo protocol do registro bruto, se ele corresponder a protocolos conhecidos. |
qclass |
dns_question.class |
Campo intermediário usado para mapear dns_class para a UDM. |
qclass1 |
answers.class |
Campo intermediário usado para mapear dns_class1 para a UDM. |
qclass2 |
answers.class |
Campo intermediário usado para mapear dns_class2 para a UDM. |
query_type |
dns_question.type |
Mapeado usando a tabela de pesquisa dns_record_type.include . |
query_type1 |
answers.type |
Mapeado usando a tabela de pesquisa dns_record_type.include . |
query_type2 |
answers.type |
Mapeado usando a tabela de pesquisa dns_record_type.include . |
recursion_flag |
network.dns.recursion_desired |
Se o recursion_flag contiver um "+", ele será mapeado para network.dns.recursion_desired como verdadeiro. |
record_type |
dns_question.type |
Campo intermediário usado para mapear query_type para a UDM. |
record_type1 |
answers.type |
Campo intermediário usado para mapear query_type1 para a UDM. |
record_type2 |
answers.type |
Campo intermediário usado para mapear query_type2 para a UDM. |
res_code |
network.dns.response_code |
Mapeado usando a tabela de pesquisa dns_response_code.include . |
response_code |
network.dns.response_code |
Para registros formatados em CEF, se response_code existir, ele será mapeado para network.dns.response_code usando a tabela de pesquisa dns_response_code.include . |
security_action |
security_result.action |
Derivado do campo status . Se status for "negado", security_action será definido como "BLOQUEAR". Caso contrário, ele será definido como "PERMITIR". |
severity |
security_result.severity |
Para registros formatados em CEF, se severity existir e for "informativo", ele será mapeado para security_result.severity como "INFORMATIONAL". |
src_host |
principal.hostname |
Extraídos do campo description ou message do registro bruto usando padrões grok e mapeados para principal.hostname . |
src_ip |
principal.ip ou principal.hostname |
Extraídos do campo message do registro bruto usando padrões grok. Se for um endereço IP válido, ele será mapeado para principal.ip . Caso contrário, será mapeado para principal.hostname . |
src_port |
principal.port |
Extraídos do campo message do registro bruto usando padrões grok e mapeados para principal.port . |
ttl1 |
answers.ttl |
Extraídos do campo msg2 do registro bruto usando padrões grok e mapeados para answers.ttl . |
ttl2 |
answers.ttl |
Extraídos do campo msg2 do registro bruto usando padrões grok e mapeados para answers.ttl . |
metadata.event_type |
metadata.event_type |
Derivado de vários campos e lógica de analisador. O padrão será GENERIC_EVENT se nenhum outro tipo de evento for identificado. Os valores possíveis incluem NETWORK_DNS , NETWORK_CONNECTION e STATUS_UPDATE . |
metadata.log_type |
metadata.log_type |
Foi definido como "INFOBLOX_DNS" pelo analisador. |
metadata.product_name |
metadata.product_name |
Definido como "Infoblox DNS" pelo analisador. |
metadata.vendor_name |
metadata.vendor_name |
Definido como "INFOBLOX" pelo analisador. |
metadata.product_version |
metadata.product_version |
Extraídos de mensagens do CEF. |
metadata.event_timestamp |
metadata.event_timestamp |
Copiado do campo timestamp . |
network.application_protocol |
network.application_protocol |
Defina como "DNS" se o event_type não for "GENERIC_EVENT" ou "STATUS_UPDATE". |
Alterações
2023-10-17
- Adicionamos um padrão Grok para processar registros não analisados.
2023-06-19
- Escreveu um padrão Grok para extrair "hostname","ip" e "port" e mudou "event_type" de acordo.
2022-02-09
- Escreveu um Grok para extrair "hostname" e mudou "event_type" de acordo.
- O "src_host" foi mapeado para "principal.hostname".
- Mapeou o "event_type" apropriado.
2023-01-19
- O padrão Grok foi adicionado para oferecer suporte ao novo Syslog.
- Mapeamento adicionado para o seguinte:
- Se o registro contiver qualquer protocolo IP, como TCP ou UDP, o valor será mapeado para "network.ip_protocol".
- Se o registro tiver um endereço IP ou nome de host intermediário, o valor será mapeado para "intermediary.ip/intermediary.hostname".
2022-09-09
- O campo "syslog_timestamp" foi modificado e mapeado corretamente para "metadata.event_timestamp".
2022-08-25
- O campo "syslog_timestamp" foi mapeado para "metadata.event_timestamp".
- Foram adicionadas verificações grok e condicionais para o campo "smac" mapeado para "principal.mac".
- Foram adicionadas verificações condicionais para o campo "dns_domain" mapeado para "network.dns.questions".
- Foram adicionadas verificações condicionais para o campo "name1" mapeado para "network.dns.answers.name".
- Foram adicionadas verificações condicionais para o campo "ttl1" mapeado para "network.dns.answers.ttl".
2022-07-15
- Correção de bug: o último caractere foi removido se for um ponto de network.dns.questions.name, network.dns.answers.name, network.dns.answers.data
2022-06-02
- Correção de bug: o IP não foi extraído corretamente do registro do syslog, então o grok foi modificado para extrair o IP corretamente.
- Melhoria: suporte a registros no formato CEF.
- Mapeamos os seguintes novos campos:
- InfobloxB1OPHIPAddress para principal.ip
- InfobloxDNSQType para dns.questions.type
- destinationDnsDomain para dns.questions.name
- InfobloxB1Region para principal.location.country_or_region
2022-04-28
- A palavra extra "query:" foi removida do campo "network.dns.questions.name".