Recopila registros de BlueCat DDI

Compatible con:

Este analizador controla los mensajes syslog con formato LEEF y sin formato LEEF de Bluecat DDI (DNS, DHCP, IPAM). Extrae campos de varios tipos de registros (por ejemplo, named, dhcpd, audit y CRON) con patrones de Grok y lógica condicional, los asigna al UDM según el tipo de registro y completa los campos relacionados con DNS, DHCP o el usuario según corresponda.

Antes de comenzar

  • Asegúrate de tener una instancia de Google Security Operations.
  • Asegúrate de usar Windows 2016 o una versión posterior, o un host de Linux con systemd.
  • Si ejecutas la herramienta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos.
  • Asegúrate de tener acceso con privilegios a Bluecat.

Obtén el archivo de autenticación de transferencia de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a SIEM Settings > Collection Agents.
  3. Descarga el archivo de autenticación de transferencia.

Obtén el ID de cliente de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a SIEM Settings > Profile.
  3. Copia y guarda el ID de cliente de la sección Detalles de la organización.

Instala el agente de BindPlane

  1. Para la instalación en Windows, ejecuta la siguiente secuencia de comandos:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Para la instalación en Linux, ejecuta la siguiente secuencia de comandos:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. Puedes encontrar opciones de instalación adicionales en esta guía de instalación.

Configura el agente de Bindplane para que ingiera Syslog y lo envíe a Google SecOps

  1. Accede a la máquina en la que está instalado Bindplane.
  2. Edita el archivo config.yaml de la siguiente manera:

    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. Reinicia el agente de Bindplane para aplicar los cambios:

    sudo systemctl restart bindplane
    

Configura Syslog en Bluecat DDI

  1. Accede a Bluecat Address Manager (BAM).
  2. En el menú configuración, selecciona una configuración.
  3. Selecciona la pestaña Servidores.
  4. En Servidores, haz clic en el nombre de un BDDS.
  5. Se abrirá la pestaña Detalles del servidor.
  6. Haz clic en el menú nombre del servidor.
  7. Selecciona Configuración del servicio.
  8. Haz clic en Tipo de servicio > Syslog (el Administrador de direcciones consulta el servidor y devuelve los valores actuales).
  9. En General, establece los siguientes valores:
    • Servidor Syslog: Es la dirección IP de tu servidor Syslog (Bindplane).
    • Puerto de Syslog: Es el puerto de tu servidor Syslog (Bindplane).
    • Syslog Transport: Selecciona TCP o UDP (según tu configuración de Bindplane).
  10. Haz clic en Agregar.
    • El servidor syslog recién agregado aparecerá en la lista.
  11. Haz clic en Actualizar.

Configura los parámetros de Syslog en BlueCat DDI

  1. Accede a BlueCat Address Manager.
  2. Ve a Configuración > Configuración del sistema > Registro.
  3. En Logging Settings, busca la sección Syslog Servers.
  4. Haz clic en Add Syslog Server.
  5. Proporciona los valores requeridos:
    • Nombre del servidor: Es un nombre único para el servidor syslog (por ejemplo, BindplaneServer).
    • Dirección IP: Es la dirección IP o el nombre de host del servidor de Syslog.
    • Protocolo: Selecciona TCP, UDP (predeterminado) o TLS (según la configuración de syslog).
    • Puerto: Especifica el puerto para la comunicación de syslog (predeterminado: 514 para UDP/TCP, 6514 para TLS).
  6. Configura el nivel de registro. Elige el nivel adecuado según tus necesidades. Las opciones incluyen las siguientes:
    • Urgente: Problemas críticos que requieren atención inmediata
    • Alerta: Alertas que requieren una acción inmediata
    • Crítico: Condiciones críticas
    • Error: Eventos de error
    • Advertencia: Eventos de advertencia
    • Aviso: Eventos normales pero significativos
    • Info: Mensajes informativos
    • Debug: Información detallada de depuración
  7. Opcional: Agrega una instalación de Syslog personalizada para categorizar los registros (por ejemplo, local0 o local1).
  8. Guarde la configuración.

Aplica la configuración de Syslog a los dispositivos DDI

  1. Navega a Servidores > Administrar servidores.
  2. Selecciona los servidores DNS/DHCP en los que se debe habilitar Syslog.
  3. Haz clic en Editar servidor.
  4. En la sección Logging, haz lo siguiente:
    • Selecciona el servidor syslog que configuraste antes.
    • Habilita el registro para servicios específicos (por ejemplo, consultas de DNS o concesiones de DHCP).
    • Guarda los cambios.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
client_ip network.dhcp.ciaddr Se extrae del mensaje DHCPREQUEST. Solo se propaga para los mensajes DHCPREQUEST.
client_mac principal.mac Se extrae de los mensajes de DHCP (DHCPDISCOVER, DHCPREQUEST, DHCPRELEASE).
client_mac target.mac Se extrae de los mensajes de DHCP (DHCPOFFER, DHCPNAK).
client_mac network.dhcp.chaddr Se extrae de los mensajes de DHCP (DHCPREQUEST, DHCPOFFER, DHCPACK, DHCPNAK, DHCPRELEASE).
cmd target.process.command_line Se extrajo de los registros de CRON. Se quitan los signos "y" y los espacios.
description metadata.description Se extrae de varios tipos de registros y proporciona contexto adicional.
description metadata.description Se extrae de los registros de syslog-ng y proporciona contexto adicional.
file_path target.file.full_path Se extrae de varios tipos de registros y representa la ruta de acceso completa a un archivo.
file_path target.process.file.full_path Se extrae de los registros de agetty y representa la ruta de acceso completa a un archivo relacionado con un proceso.
inner_message metadata.description Se usa como la descripción de los GENERIC_EVENTs cuando no se define el tipo de operación y para los registros de MEM-MON.
metadata.event_type El analizador lo determina según el tipo y el contenido del registro. Los valores posibles incluyen: NETWORK_DNS, NETWORK_DHCP, USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, GENERIC_EVENT, STATUS_UPDATE, NETWORK_CONNECTION. Siempre es "BLUECAT_DDI".
metadata.vendor_name Siempre debe ser "Bluecat Networks".
metadata.product_name Siempre "Bluecat DDI".
metadata.event_timestamp Se copió de la marca de tiempo analizada de la entrada de registro.
network.protocol Se establece en "DNS" para los registros de DNS y en "DHCP" para los registros de DHCP.
network.dns.answers Es un array que contiene registros de respuestas. El campo data dentro de answers se propaga con el target_ip si está presente.
network.dns.questions Es un array que contiene registros de preguntas. El campo name se completa con el campo target_host, el campo type se deriva de los campos query_type o question_type, y el campo class se deriva del campo qclass.
network.dns.recursive Se establece en "true" si el rec_flag es "+".
qclass network.dns.questions.class Se extrae de los registros de consultas de DNS y se asigna a un valor entero con el archivo dns_query_class_mapping.include.
query_type network.dns.questions.type Se extrae de los registros de consultas de DNS y se asigna a un valor entero con el archivo dhcp_qtype_mapping.include.
relay_ip intermediary.ip Se extrae de los registros de DNS y DHCP, y representa la dirección IP de un servidor de retransmisión o intermediario.
server_host target.hostname Se extrae de varios tipos de registros y representa el nombre de host del servidor.
server_host network.dhcp.sname Se extrae de los registros de DHCP y representa el nombre de host del servidor.
server_host principal.hostname Se extrae de systemd, agetty y algunos registros de auditoría, y representa el nombre de host de la principal.
server_ip target.ip Se extrae de los registros con formato LEEF y representa la dirección IP del servidor.
src_ip principal.ip Se extrae de varios tipos de registros y representa la dirección IP de origen.
src_ip network.dhcp.yiaddr Se usa en los mensajes DHCPINFORM para propagar el campo yiaddr.
src_port principal.port Se extrae de varios tipos de registros y representa el puerto de origen.
src_user principal.user.userid Se extrae de los registros de CRON y de auditoría, y representa el ID del usuario.
target_host target.hostname Se extrae de varios tipos de registros y representa el nombre de host de destino.
target_host network.dns.questions.name Se usa en los registros de DNS para completar el nombre de la pregunta.
target_ip target.ip Se extrae de varios tipos de registros y representa la dirección IP de destino.
target_ip network.dhcp.ciaddr Se usa en los mensajes BOOTREQUEST para propagar el campo ciaddr.
target_ip network.dns.answers.data Se usa en los registros de DNS para completar los datos de respuesta.
tgt_port target.port Se extrae de los registros de syslog-ng y representa el puerto de destino.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.