Recoger registros de Infoblox
En este documento se describe cómo puede recoger registros de Infoblox mediante un reenviador de Google Security Operations.
Para obtener más información, consulta Ingestión de datos en Google Security Operations.
Una etiqueta de ingestión identifica el analizador que normaliza los datos de registro sin procesar en formato UDM estructurado. La información de este documento se aplica al analizador con la etiqueta de ingestión INFOBLOX_DNS
.
Configurar Infoblox
- Inicia sesión en la interfaz de usuario web de Infoblox.
- En la interfaz web de Infoblox, selecciona System > System properties editor > Monitoring.
- Marca la casilla Registrar en servidores syslog externos.
- En la sección Servidores syslog externos, haga clic en el signo más (+) para añadir un nuevo servidor syslog para el reenviador de Google Security Operations.
- En el campo Dirección, introduzca la dirección IP del servidor de reenvío de Google Security Operations.
- En la lista Transporte, selecciona TCP o UDP.
- En el campo Puerto, introduce el número de puerto.
- En la lista Node ID (ID de nodo), selecciona LAN para incluir la IP de Infoblox en el encabezado de syslog.
- En la lista Disponible, selecciona lo siguiente y muévelo a la lista Seleccionado:
- Consultas de DNS
- Respuestas de DNS
- Proceso de DHCP
El servidor de Infoblox reenvía los registros de consultas y respuestas mediante syslog al reenviador de operaciones de seguridad de Google.
Configurar el reenviador de Google Security Operations y syslog para ingerir registros de Infoblox
- Seleccione Configuración de SIEM > Reenviadores.
- Haz clic en Añadir nuevo remitente.
- Introduce un nombre único en el campo Nombre del reenviador.
- Haz clic en Enviar y, a continuación, en Confirmar. Se añade el reenviador y se muestra la ventana Añadir configuración de recopilador.
- En el campo Nombre del recolector, introduzca un nombre único para el recolector.
- Seleccione Infoblox como Tipo de registro.
- Seleccione Syslog como Tipo de recogida.
- Configure los siguientes parámetros de entrada:
- Protocolo: especifica el protocolo de conexión que usará el recopilador para escuchar los datos de syslog.
- Dirección: especifica la dirección IP o el nombre de host de destino donde reside el recolector y escucha los datos de syslog.
- Puerto: especifica el puerto de destino en el que reside el recopilador y escucha los datos de syslog.
- Haz clic en Enviar.
Para obtener más información sobre los reenviadores de Google Security Operations, consulta la documentación de los reenviadores de Google Security Operations. Para obtener información sobre los requisitos de cada tipo de reenviador, consulta Configuración de reenviadores por tipo.
Si tienes problemas al crear reenviadores, ponte en contacto con el equipo de Asistencia de Google Security Operations.
Referencia de asignación de campos
Este analizador extrae los registros DNS de Infoblox en formato SYSLOG o CEF y los normaliza en UDM. Gestiona varios formatos de registro mediante patrones grok, extrae campos clave como la IP de origen o de destino, los detalles de la consulta DNS y la información de seguridad, y los asigna a los campos de UDM correspondientes.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
agent.hostname |
principal.hostname |
En los registros con formato CEF, si existe agent.hostname , se asigna a principal.hostname . |
client_ip |
principal.ip |
En los registros con formato CEF, si existe client_ip , se asigna a principal.ip . |
client_port |
principal.port |
En los registros con formato CEF, si existe client_port , se asigna a principal.port . |
data |
answers.data |
Se extrae del campo data de la sección answers del registro sin procesar. Se asignan varias apariciones como objetos answers independientes. |
description |
metadata.description |
Se asigna directamente desde el campo description del registro sin procesar o se extrae mediante patrones grok de otros campos, como message y msg2 . |
dest_ip1 |
target.ip |
Se ha extraído del registro sin procesar y se ha asignado a target.ip . |
destinationDnsDomain |
dns_question.name |
En los registros con formato CEF, si existe destinationDnsDomain , se asigna a dns_question.name . |
dns_class |
dns_question.class |
Se asigna mediante la dns_query_class_mapping.include tabla de consulta. |
dns_domain |
dns_question.name |
Se extrae del campo message del registro sin procesar mediante patrones grok y se asigna a dns_question.name . |
dns_name |
dns_question.name |
Se extrae del campo dns_domain mediante patrones grok y se asigna a dns_question.name . |
dns_records |
answers.data |
En los registros con formato CEF, si existe dns_records , se asigna a answers.data . Se asignan varias apariciones como objetos answers independientes. |
dst_ip |
target.ip o target.hostname |
Se extrae del campo message del registro sin procesar mediante patrones grok. Si es una dirección IP válida, se asigna a target.ip . De lo contrario, se asigna a target.hostname . |
dst_ip1 |
target.ip o target.hostname |
Se extrae del campo message o msg2 del registro sin procesar mediante patrones grok. Si es una dirección IP válida, se asigna a target.ip . De lo contrario, se asigna a target.hostname . Solo se asigna si es diferente de dst_ip . |
evt_type |
metadata.product_event_type |
Se asigna directamente desde el campo evt_type del registro sin procesar, que se extrae del campo message mediante patrones grok. |
InfobloxB1OPHIPAddress |
principal.ip |
En los registros con formato CEF, si existe InfobloxB1OPHIPAddress , se asigna a principal.ip . |
InfobloxB1Region |
principal.location.country_or_region |
En los registros con formato CEF, si existe InfobloxB1Region , se asigna a principal.location.country_or_region . |
InfobloxDNSQType |
dns_question.type |
En los registros con formato CEF, si existe InfobloxDNSQType , se asigna a dns_question.type . |
intermediary |
intermediary.ip o intermediary.hostname |
Se extrae del campo message del registro sin procesar mediante patrones grok. Si es una dirección IP válida, se asigna a intermediary.ip . De lo contrario, se asigna a 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 |
Se extrae del campo message del registro sin procesar mediante patrones grok. Se usa para extraer varios campos, pero no se asigna directamente a UDM. |
name1 |
answers.name |
Se extrae del campo msg2 del registro sin procesar mediante patrones grok y se asigna a answers.name . |
name2 |
answers.name |
Se extrae del campo msg2 del registro sin procesar mediante patrones grok y se asigna a answers.name . |
protocol |
network.ip_protocol |
Se asigna directamente desde el campo protocol del registro sin procesar si coincide con protocolos conocidos. |
qclass |
dns_question.class |
Campo intermedio que se usa para asignar dns_class a UDM. |
qclass1 |
answers.class |
Campo intermedio que se usa para asignar dns_class1 a UDM. |
qclass2 |
answers.class |
Campo intermedio que se usa para asignar dns_class2 a UDM. |
query_type |
dns_question.type |
Se asigna mediante la dns_record_type.include tabla de consulta. |
query_type1 |
answers.type |
Se asigna mediante la dns_record_type.include tabla de consulta. |
query_type2 |
answers.type |
Se asigna mediante la dns_record_type.include tabla de consulta. |
recursion_flag |
network.dns.recursion_desired |
Si recursion_flag contiene un signo "+", se asigna a network.dns.recursion_desired como true. |
record_type |
dns_question.type |
Campo intermedio que se usa para asignar query_type a UDM. |
record_type1 |
answers.type |
Campo intermedio que se usa para asignar query_type1 a UDM. |
record_type2 |
answers.type |
Campo intermedio que se usa para asignar query_type2 a UDM. |
res_code |
network.dns.response_code |
Se asigna mediante la dns_response_code.include tabla de consulta. |
response_code |
network.dns.response_code |
En el caso de los registros con formato CEF, si existe response_code , se asigna a network.dns.response_code mediante la tabla de consulta dns_response_code.include . |
security_action |
security_result.action |
Derivado del campo status . Si status tiene el valor "denied", security_action se asigna el valor "BLOCK". De lo contrario, se le asigna el valor "ALLOW". |
severity |
security_result.severity |
En el caso de los registros con formato CEF, si severity existe y es "informational", se asigna a security_result.severity como "INFORMATIONAL". |
src_host |
principal.hostname |
Se extrae del campo description o message del registro sin procesar mediante patrones grok y se asigna a principal.hostname . |
src_ip |
principal.ip o principal.hostname |
Se extrae del campo message del registro sin procesar mediante patrones grok. Si es una dirección IP válida, se asigna a principal.ip . De lo contrario, se asigna a principal.hostname . |
src_port |
principal.port |
Se extrae del campo message del registro sin procesar mediante patrones grok y se asigna a principal.port . |
ttl1 |
answers.ttl |
Se extrae del campo msg2 del registro sin procesar mediante patrones grok y se asigna a answers.ttl . |
ttl2 |
answers.ttl |
Se extrae del campo msg2 del registro sin procesar mediante patrones grok y se asigna a answers.ttl . |
metadata.event_type |
metadata.event_type |
Derivado de varios campos y de la lógica del analizador. El valor predeterminado es GENERIC_EVENT si no se identifica ningún otro tipo de evento. Entre los posibles valores se incluyen NETWORK_DNS , NETWORK_CONNECTION y STATUS_UPDATE . |
metadata.log_type |
metadata.log_type |
El analizador le asigna el valor "INFOBLOX_DNS". |
metadata.product_name |
metadata.product_name |
El analizador lo define como "Infoblox DNS". |
metadata.vendor_name |
metadata.vendor_name |
El analizador le asigna el valor "INFOBLOX". |
metadata.product_version |
metadata.product_version |
Extraído de mensajes CEF. |
metadata.event_timestamp |
metadata.event_timestamp |
Copiado del campo timestamp . |
network.application_protocol |
network.application_protocol |
Se define como "DNS" si event_type no es "GENERIC_EVENT" ni "STATUS_UPDATE". |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.