Coletar registros da Infoblox
Neste documento, descrevemos como coletar registros do Infoblox usando um encaminhador do Google Security Operations.
Para mais informações, consulte Ingestão de dados no Google Security Operations.
Um rótulo de ingestão identifica o analisador que normaliza dados de registro brutos para o formato UDM estruturado. As informações neste documento se aplicam ao analisador com o rótulo de ingestão 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 Servidores syslog externos, clique no sinal de adição (+) para adicionar um novo servidor syslog para o encaminhador do Google Security Operations.
- No campo Endereço, insira o endereço IP do servidor de encaminhamento do Google Security Operations.
- 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 e o syslog do Google Security Operations para ingerir 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 Adicionar configuração do coletor aparece.
- No campo Nome do coletor, insira um nome exclusivo para ele.
- 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 ouvir dados do syslog.
- Endereço: especifique o endereço IP ou o nome do host de destino em que o coletor reside e aguarda 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 encaminhadores do Google Security Operations, consulte a documentação sobre encaminhadores do Google Security Operations. Para informações sobre 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 do Google Security Operations.
Referência de mapeamento de campos
Esse analisador extrai registros de DNS da Infoblox no formato SYSLOG ou CEF, normalizando-os para UDM. Ele processa vários formatos de registros usando padrões grok, extrai campos principais, 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ído 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ído do registro bruto e mapeado 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ído do campo message do registro bruto usando padrões grok e mapeado para dns_question.name . |
dns_name |
dns_question.name |
Extraído do campo dns_domain usando padrões grok e mapeado 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ído 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, será mapeado para target.hostname . |
dst_ip1 |
target.ip ou target.hostname |
Extraído 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, 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ído 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ído do campo msg2 do registro bruto usando padrões grok e mapeado para answers.name . |
name2 |
answers.name |
Extraído do campo msg2 do registro bruto usando padrões grok e mapeado para answers.name . |
protocol |
network.ip_protocol |
Mapeado diretamente do campo protocol do registro bruto se corresponder a protocolos conhecidos. |
qclass |
dns_question.class |
Campo intermediário usado para mapear dns_class para UDM. |
qclass1 |
answers.class |
Campo intermediário usado para mapear dns_class1 para UDM. |
qclass2 |
answers.class |
Campo intermediário usado para mapear dns_class2 para 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 como network.dns.recursion_desired como verdadeiro. |
record_type |
dns_question.type |
Campo intermediário usado para mapear query_type para UDM. |
record_type1 |
answers.type |
Campo intermediário usado para mapear query_type1 para UDM. |
record_type2 |
answers.type |
Campo intermediário usado para mapear query_type2 para 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 "denied", security_action será definido como "BLOCK". Caso contrário, será definido como "ALLOW". |
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ído do campo description ou message do registro bruto usando padrões grok e mapeado para principal.hostname . |
src_ip |
principal.ip ou principal.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 principal.ip . Caso contrário, será mapeado para principal.hostname . |
src_port |
principal.port |
Extraído do campo message do registro bruto usando padrões grok e mapeado para principal.port . |
ttl1 |
answers.ttl |
Extraído do campo msg2 do registro bruto usando padrões grok e mapeado para answers.ttl . |
ttl2 |
answers.ttl |
Extraído do campo msg2 do registro bruto usando padrões grok e mapeado para answers.ttl . |
metadata.event_type |
metadata.event_type |
Derivado de vários campos e lógica de análise. O padrão é 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 |
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ído de mensagens CEF. |
metadata.event_timestamp |
metadata.event_timestamp |
Copiado do campo timestamp . |
network.application_protocol |
network.application_protocol |
Definido como "DNS" se o event_type não for "GENERIC_EVENT" ou "STATUS_UPDATE". |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.