Recopila registros de DNS de ExtraHop Reveal(x)

Compatible con:

En este documento, se explica cómo transferir registros de DNS de ExtraHop Reveal(x) a Google Security Operations con Bindplane. ExtraHop Reveal(x) proporciona capacidades de supervisión de DNS pasiva que capturan y analizan todas las transacciones de DNS en la red. Las organizaciones usan Reveal(x) para detectar amenazas basadas en DNS, como la tunelización, los algoritmos de generación de dominios (DGA) y la robo de datos a través de la inspección profunda de paquetes del tráfico de DNS.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Es una instancia de Google SecOps.
  • Windows Server 2016 o versiones posteriores, o un host de Linux con systemd.
  • Si se ejecuta detrás de un proxy, asegúrate de que los puertos de firewall estén abiertos según los requisitos del agente de Bindplane.
  • Acceso con privilegios a la página de administración de ExtraHop Reveal(x)
  • Conectividad de red entre el sensor de ExtraHop y el host del agente de Bindplane en el puerto syslog configurado.

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

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recopilación.
  3. Descarga el archivo de autenticación de transferencia.
  4. Guarda el archivo de forma segura en el sistema en el que se instalará BindPlane.

Obtén el ID de cliente de Google SecOps

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

Instala el agente de BindPlane

Instala el agente de Bindplane en tu sistema operativo Windows o Linux según las siguientes instrucciones.

Instalación en Windows

  1. Abre el símbolo del sistema o PowerShell como administrador.
  2. Ejecuta el comando siguiente:

    msiexec /i "[https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi](https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi)" /quiet
    

Instalación en Linux

  1. Abre una terminal con privilegios de root o sudo.
  2. Ejecuta el comando siguiente:

    sudo sh -c "$(curl -fsSlL [https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh](https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh))" install_unix.sh
    

Recursos de instalación adicionales

Para obtener más opciones de instalación, consulta la guía de instalación del agente de Bindplane.

Configura el agente de BindPlane para transferir registros de Syslog y enviarlos a Google SecOps

  1. Accede al archivo de configuración:

    • Linux: sudo systemctl status observiq-otel-collector
    • Windows: C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
  2. Edita el archivo config.yaml de la siguiente manera:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/extrahop_dns:
        compression: gzip
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: '<CUSTOMER_ID>'
        endpoint: '<ENDPOINT>'
        log_type: 'EXTRAHOP_DNS'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/extrahop_dns_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/extrahop_dns
    
  • Reemplaza <CUSTOMER_ID> por el ID de cliente real.
  • Actualiza /path/to/ingestion-authentication-file.json a la ruta de acceso en la que se guardó el archivo de autenticación.
  • Reemplaza <ENDPOINT> por tu extremo regional:
    • Estados Unidos: malachiteingestion-pa.googleapis.com
    • Europa: europe-malachiteingestion-pa.googleapis.com
    • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com

Reinicia el agente de Bindplane para aplicar los cambios

  • Para reiniciar el agente de Bindplane en Linux, ejecuta: sudo systemctl restart observiq-otel-collector
  • Para reiniciar el agente de Bindplane en Windows, usa la consola de Servicios o ejecuta el siguiente comando: cmd net stop observiq-otel-collector && net start observiq-otel-collector

Configura el flujo de datos abiertos de ExtraHop Reveal(x) para el reenvío de syslog de DNS

Agrega un destino de flujo de datos abierto de syslog

  1. Accede a la página Administración de ExtraHop.
  2. En la sección Configuración del sistema, haz clic en Abrir flujos de datos.
  3. Haz clic en Agregar destino y selecciona Syslog.
  4. Proporciona los siguientes detalles de configuración:
    • Nombre: Ingresa un nombre descriptivo (p.ej., Google SecOps-DNS).
    • Host: Ingresa la dirección IP del host del agente de BindPlane.
    • Puerto: 514.
    • Protocolo: UDP.
  5. Haz clic en Probar para verificar la conectividad y, luego, en Guardar.

Crea un activador para exportar transacciones de DNS

  1. Haz clic en el ícono de Configuración del sistema y selecciona Activadores.
  2. Haz clic en Crear.
  3. Proporciona los siguientes detalles de configuración:
    • Nombre: DNS Syslog Export.
    • Eventos: Selecciona DNS_REQUEST y DNS_RESPONSE.
  4. En el panel Editor, ingresa la siguiente secuencia de comandos de activación:

    var obj = {
        eh_event: "dns",
        client_ip: Flow.client.ipaddr.toString(),
        server_ip: Flow.server.ipaddr.toString(),
        client_port: Flow.client.port,
        server_port: Flow.server.port,
        qname: DNS.qname,
        qtype: DNS.qtype
    };
    
    if (event === "DNS_RESPONSE") {
        obj.dns_type = "response";
        obj.rcode = DNS.errorNum;
        obj.answers = JSON.stringify(DNS.answers);
    } else {
        obj.dns_type = "request";
        obj.opcode = DNS.opcode;
    }
    
    Remote.Syslog("Chronicle-DNS").info(JSON.stringify(obj));
    
  5. Haz clic en Guardar.

Asigna el activador a los dispositivos

  1. Abre el activador que creaste.
  2. En la sección Tareas, haz clic en Asignar.
  3. Selecciona los dispositivos o grupos de dispositivos pertinentes y haz clic en Asignar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
answers network.dns.answers Se analizó a partir del campo sin procesar.
dst target.ip Es la asignación sin procesar.
dpt target.port Es la asignación sin procesar.
host principal.hostname Es la asignación sin procesar.
proto network.ip_protocol Es la asignación sin procesar.
qname network.dns.questions.name Es la asignación sin procesar.
qtype network.dns.questions.type Es la asignación sin procesar.
rcode network.dns.response_code Es la asignación sin procesar.
src principal.ip Es la asignación sin procesar.
spt principal.port Es la asignación sin procesar.
ttl network.dns.answers.ttl Es la asignación sin procesar.
N/A metadata.log_type Se define en EXTRAHOP_DNS.
N/A metadata.product_name Se define en Reveal(x) DNS.
N/A metadata.vendor_name Se define en ExtraHop.

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