Recopila registros de Infoblox
En este documento, se describe cómo puedes recopilar registros de Infoblox con un reenviador de Google Security Operations.
Para obtener más información, consulta Transferencia de datos a Google Security Operations.
Una etiqueta de transferencia identifica el analizador que normaliza los datos de registro sin procesar al formato estructurado del UDM. La información de este documento se aplica al analizador con la etiqueta de transferencia INFOBLOX_DNS
.
Configura Infoblox
- Accede a la IU web de Infoblox.
- En la IU web de Infoblox, selecciona System > System properties editor > Monitoring.
- Selecciona la casilla de verificación Registrar en servidores syslog externos.
- En la sección External syslog servers, haz clic en el signo más (+) para agregar un nuevo servidor de syslog para el reenviador de Google Security Operations.
- En el campo Dirección, ingresa 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, ingresa el número de puerto.
- En la lista ID de nodo, selecciona LAN para incluir la IP de Infoblox en el encabezado de syslog.
- En la lista Disponibles, selecciona los siguientes elementos y muévelos a la lista Seleccionados:
- Consultas de DNS
- Respuestas de DNS
- Proceso de DHCP
El servidor Infoblox reenvía los registros de consulta y respuesta con syslog al reenviador de operaciones de seguridad de Google.
Configura el reenviador de Google Security Operations y el syslog para transferir registros de Infoblox
- Selecciona Configuración de SIEM > Redireccionamientos.
- Haz clic en Agregar nuevo remitente.
- Ingresa un nombre único en el campo Nombre del remitente.
- Haz clic en Enviar y, luego, en Confirmar. Se agregará el reenviador y aparecerá la ventana Add collector configuration.
- En el campo Nombre del recopilador, ingresa un nombre único para el recopilador.
- Selecciona Infoblox como el Tipo de registro.
- Selecciona Syslog como el tipo de recopilador.
- Configura 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 recopilador 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 reenvío de Google Security Operations, consulta la documentación de reenvío de Google Security Operations. Para obtener información sobre los requisitos de cada tipo de reenviador, consulta Configuración del reenviador por tipo.
Si tienes problemas cuando creas reenvío de correo, comunícate con el equipo de asistencia de Operaciones de seguridad de Google.
Referencia de la asignación de campos
Este analizador extrae registros de DNS de Infoblox en formato SYSLOG o CEF y los normaliza en UDM. Controla varios formatos de registro con patrones de Grok, extrae campos clave, como la IP de origen o destino, los detalles de la consulta de DNS y la información de seguridad, y los asigna a los campos de la UDM adecuados.
Tabla de asignación de la UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
agent.hostname |
principal.hostname |
En el caso de los registros con formato CEF, si existe agent.hostname , se asigna a principal.hostname . |
client_ip |
principal.ip |
En el caso de los registros con formato CEF, si existe client_ip , se asigna a principal.ip . |
client_port |
principal.port |
En el caso de 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 en el registro sin procesar. Los múltiples casos se asignan como objetos answers separados. |
description |
metadata.description |
Se asignan directamente desde el campo description del registro sin procesar o se extraen con patrones de Grok de otros campos, como message y msg2 . |
dest_ip1 |
target.ip |
Se extraen del registro sin procesar y se asignan a target.ip . |
destinationDnsDomain |
dns_question.name |
En el caso de los registros con formato CEF, si existe destinationDnsDomain , se asigna a dns_question.name . |
dns_class |
dns_question.class |
Se asignan con la tabla de búsqueda dns_query_class_mapping.include . |
dns_domain |
dns_question.name |
Se extraen del campo message del registro sin procesar con patrones de Grok y se asignan a dns_question.name . |
dns_name |
dns_question.name |
Se extraen del campo dns_domain con patrones de grok y se asignan a dns_question.name . |
dns_records |
answers.data |
En el caso de los registros con formato CEF, si existe dns_records , se asigna a answers.data . Los múltiples casos se asignan como objetos answers separados. |
dst_ip |
target.ip o target.hostname |
Se extrae del campo message del registro sin procesar con patrones de 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 extraen del campo message o msg2 del registro sin procesar con patrones de 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 asignan directamente desde el campo evt_type del registro sin procesar, que se extrae del campo message con patrones de grok. |
InfobloxB1OPHIPAddress |
principal.ip |
En el caso de los registros con formato CEF, si existe InfobloxB1OPHIPAddress , se asigna a principal.ip . |
InfobloxB1Region |
principal.location.country_or_region |
En el caso de los registros con formato CEF, si existe InfobloxB1Region , se asigna a principal.location.country_or_region . |
InfobloxDNSQType |
dns_question.type |
En el caso de 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 con patrones de 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 con patrones de grok. Se usa para extraer varios campos, pero no se asignan directamente a la UDM. |
name1 |
answers.name |
Se extraen del campo msg2 del registro sin procesar con patrones de Grok y se asignan a answers.name . |
name2 |
answers.name |
Se extraen del campo msg2 del registro sin procesar con patrones de Grok y se asignan a answers.name . |
protocol |
network.ip_protocol |
Se asignan directamente desde el campo protocol del registro sin procesar si coincide con protocolos conocidos. |
qclass |
dns_question.class |
Es un campo intermedio que se usa para asignar dns_class a la UDM. |
qclass1 |
answers.class |
Es un campo intermedio que se usa para asignar dns_class1 a la UDM. |
qclass2 |
answers.class |
Es un campo intermedio que se usa para asignar dns_class2 a la UDM. |
query_type |
dns_question.type |
Se asignan con la tabla de búsqueda dns_record_type.include . |
query_type1 |
answers.type |
Se asignan con la tabla de consulta dns_record_type.include . |
query_type2 |
answers.type |
Se asignan con la tabla de búsqueda dns_record_type.include . |
recursion_flag |
network.dns.recursion_desired |
Si el recursion_flag contiene un "+", se asigna a network.dns.recursion_desired como verdadero. |
record_type |
dns_question.type |
Es un campo intermedio que se usa para asignar query_type a la UDM. |
record_type1 |
answers.type |
Es un campo intermedio que se usa para asignar query_type1 a la UDM. |
record_type2 |
answers.type |
Es un campo intermedio que se usa para asignar query_type2 a la UDM. |
res_code |
network.dns.response_code |
Se asignan con la tabla de consulta dns_response_code.include . |
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 con la tabla de búsqueda dns_response_code.include . |
security_action |
security_result.action |
Se deriva del campo status . Si status se “denega”, security_action se establece en “BLOQUEAR”; de lo contrario, se establece en “PERMITIR”. |
severity |
security_result.severity |
En el caso de los registros con formato CEF, si severity existe y es "informativo", se asigna a security_result.severity como "INFORMATIONAL". |
src_host |
principal.hostname |
Se extraen del campo description o message del registro sin procesar con patrones de Grok y se asignan a principal.hostname . |
src_ip |
principal.ip o principal.hostname |
Se extrae del campo message del registro sin procesar con patrones de 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 extraen del campo message del registro sin procesar con patrones de Grok y se asignan a principal.port . |
ttl1 |
answers.ttl |
Se extraen del campo msg2 del registro sin procesar con patrones de Grok y se asignan a answers.ttl . |
ttl2 |
answers.ttl |
Se extraen del campo msg2 del registro sin procesar con patrones de Grok y se asignan a answers.ttl . |
metadata.event_type |
metadata.event_type |
Se deriva de varios campos y lógica del analizador. El valor predeterminado es GENERIC_EVENT si no se identifica ningún otro tipo de evento. Los valores posibles son NETWORK_DNS , NETWORK_CONNECTION y STATUS_UPDATE . |
metadata.log_type |
metadata.log_type |
El analizador lo establece en "INFOBLOX_DNS". |
metadata.product_name |
metadata.product_name |
El analizador lo establece en "Infoblox DNS". |
metadata.vendor_name |
metadata.vendor_name |
El analizador lo establece en “INFOBLOX”. |
metadata.product_version |
metadata.product_version |
Se extraen de los mensajes de CEF. |
metadata.event_timestamp |
metadata.event_timestamp |
Se copió del campo timestamp . |
network.application_protocol |
network.application_protocol |
Se establece en "DNS" si event_type no es "GENERIC_EVENT" o "STATUS_UPDATE". |
Cambios
2023-10-17
- Se agregó un patrón Grok para controlar los registros sin analizar.
2023-06-19
- Se escribió un patrón de Grok para extraer "hostname", "ip" y "port", y se cambió "event_type" según corresponda.
2022-02-09
- Se escribió una expresión Grok para extraer "hostname" y se cambió "event_type" según corresponda.
- Se asignó "src_host" a "principal.hostname".
- Se asignó el "event_type" adecuado.
2023-01-19
- Se agregó el patrón Grok para admitir el nuevo Syslog.
- Se agregó la asignación para lo siguiente:
- Si el registro contiene algún protocolo IP, como TCP o UDP, el valor se asigna a "network.ip_protocol".
- Si el registro contiene una dirección IP o un nombre de host de intermediario, el valor se asigna a "intermediary.ip/intermediary.hostname".
2022-09-09
- Se modificó y asignó correctamente el campo "syslog_timestamp" a "metadata.event_timestamp".
2022-08-25
- Se asignó el campo "syslog_timestamp" a "metadata.event_timestamp".
- Se agregaron verificaciones de grok y condicionales para el campo "smac" asignado a "principal.mac".
- Se agregaron verificaciones condicionales para el campo "dns_domain" asignado a "network.dns.questions".
- Se agregaron verificaciones condicionales para el campo "name1" asignado a "network.dns.answers.name".
- Se agregaron verificaciones condicionales para el campo "ttl1" asignado a "network.dns.answers.ttl".
2022-07-15
- Se corrigió un error: Se quitó el último carácter si es un punto de network.dns.questions.name, network.dns.answers.name y network.dns.answers.data.
2022-06-02
- Se corrigió el error: la IP no se extraía correctamente del registro de syslog, por lo que se modificó el grok para extraerla correctamente.
- Mejora: Se agregó compatibilidad con registros en formato CEF.
- Se asignaron los siguientes campos nuevos:
- InfobloxB1OPHIPAddress a principal.ip
- InfobloxDNSQType a dns.questions.type
- destinationDnsDomain a dns.questions.name
- InfobloxB1Region a principal.location.country_or_region
2022-04-28
- Se quitó la palabra adicional "query:" del campo "network.dns.questions.name".