Recopila registros de DNS de ExtraHop Reveal(x)
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
- Accede a la consola de Google SecOps.
- Ve a Configuración de SIEM > Agentes de recopilación.
- Descarga el archivo de autenticación de transferencia.
- Guarda el archivo de forma segura en el sistema en el que se instalará BindPlane.
Obtén el ID de cliente de Google SecOps
- Accede a la consola de Google SecOps.
- Ve a Configuración de SIEM > Perfil.
- 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
- Abre el símbolo del sistema o PowerShell como administrador.
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
- Abre una terminal con privilegios de root o sudo.
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
Accede al archivo de configuración:
- Linux:
sudo systemctl status observiq-otel-collector - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
- Linux:
Edita el archivo
config.yamlde 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.jsona 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
- Estados Unidos:
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
- Accede a la página Administración de ExtraHop.
- En la sección Configuración del sistema, haz clic en Abrir flujos de datos.
- Haz clic en Agregar destino y selecciona Syslog.
- 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.
- Nombre: Ingresa un nombre descriptivo (p.ej.,
- Haz clic en Probar para verificar la conectividad y, luego, en Guardar.
Crea un activador para exportar transacciones de DNS
- Haz clic en el ícono de Configuración del sistema y selecciona Activadores.
- Haz clic en Crear.
- Proporciona los siguientes detalles de configuración:
- Nombre:
DNS Syslog Export. - Eventos: Selecciona DNS_REQUEST y DNS_RESPONSE.
- Nombre:
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));Haz clic en Guardar.
Asigna el activador a los dispositivos
- Abre el activador que creaste.
- En la sección Tareas, haz clic en Asignar.
- 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.