Recopila registros de Netscout Arbor Sightline
En este documento, se explica cómo transferir registros de Netscout Arbor Sightline a Google Security Operations con el agente de Bindplane.
Netscout Arbor Sightline (anteriormente Peakflow SP) es una plataforma de detección de DSD y visibilidad de la red que proporciona capacidades sólidas, desde la planificación de la capacidad en toda la red hasta la identificación y administración de la mitigación de DSD y otras amenazas a la red. Sightline recopila y analiza datos de flujo, información de enrutamiento de BGP y datos de SNMP para detectar anomalías, generar alertas y coordinar respuestas de mitigación.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Una instancia de Google SecOps
- Windows Server 2016 o versiones posteriores, o host de Linux con
systemd - Conectividad de red entre el agente de Bindplane y el dispositivo Netscout Arbor Sightline
- 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 administrativo a la interfaz web de Netscout Arbor Sightline
- Acceso administrativo a la interfaz de línea de comandos (CLI) de Netscout Arbor Sightline para la configuración de alertas del sistema
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" /quietEspera a que se complete la instalación.
Ejecute el siguiente comando para verificar la instalación:
sc query observiq-otel-collectorEl servicio debería mostrarse como RUNNING.
Instalación de Linux
- Abre una terminal con privilegios de raíz o sudo.
Ejecuta el comando siguiente:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shEspera a que se complete la instalación.
Ejecute el siguiente comando para verificar la instalación:
sudo systemctl status observiq-otel-collectorEl servicio debería mostrarse como activo (en ejecución).
Recursos de instalación adicionales
Para obtener más opciones de instalación y solución de problemas, consulta la guía de instalación del agente de Bindplane.
Configura el agente de BindPlane para transferir Syslog y enviarlo a Google SecOps
Ubica el archivo de configuración
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Edita el archivo de configuración
Reemplaza todo el contenido de
config.yamlpor la siguiente configuración:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/arbor_sightline: compression: gzip creds_file_path: '<CREDS_FILE_PATH>' customer_id: '<CUSTOMER_ID>' endpoint: malachiteingestion-pa.googleapis.com log_type: ARBOR_SIGHTLINE raw_log_field: body ingestion_labels: env: production service: pipelines: logs/arbor_to_chronicle: receivers: - udplog exporters: - chronicle/arbor_sightlineReemplaza los marcadores de posición que se indican más abajo:
Configuración del receptor:
- El receptor está configurado para escuchar en el puerto UDP 514 en todas las interfaces (
0.0.0.0:514). - Si necesitas usar un puerto diferente (por ejemplo,
1514para instalaciones de Linux que no son de raíz), modifica el valor delisten_address. - Si prefieres el registro del sistema TCP, reemplaza
udplogportcplogen la sección de receptores y en la canalización.
- El receptor está configurado para escuchar en el puerto UDP 514 en todas las interfaces (
Configuración del exportador:
<CREDS_FILE_PATH>: Ruta de acceso completa al archivo de autenticación de la transferencia:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
<CUSTOMER_ID>: ID de cliente del paso anteriorendpoint: URL del extremo regional (la URL predeterminada que se muestra es la de la región de EE.UU.):- EE.UU.:
malachiteingestion-pa.googleapis.com - Europa:
europe-malachiteingestion-pa.googleapis.com - Asia:
asia-southeast1-malachiteingestion-pa.googleapis.com - Consulta Extremos regionales para obtener la lista completa.
- EE.UU.:
log_type: Se establece enARBOR_SIGHTLINE(se requiere concordancia exacta)ingestion_labels: Etiquetas opcionales en formato YAML (modifica según sea necesario para tu entorno)
Configuración de ejemplo
receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/arbor_sightline: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6' endpoint: malachiteingestion-pa.googleapis.com log_type: ARBOR_SIGHTLINE raw_log_field: body ingestion_labels: env: production source: sightline service: pipelines: logs/arbor_to_chronicle: receivers: - udplog exporters: - chronicle/arbor_sightline
Guarda el archivo de configuración
Después de editarlo, guarda el archivo:
- Linux: Presiona
Ctrl+O, luegoEntery, después,Ctrl+X. - Windows: Haz clic en Archivo > Guardar
Reinicia el agente de Bindplane para aplicar los cambios
Para reiniciar el agente de Bindplane en Linux, haz lo siguiente:
Ejecuta el comando siguiente:
sudo systemctl restart observiq-otel-collectorVerifica que el servicio esté en ejecución:
sudo systemctl status observiq-otel-collectorRevisa los registros en busca de errores:
sudo journalctl -u observiq-otel-collector -f
Para reiniciar el agente de Bindplane en Windows, haz lo siguiente:
Elige una de las siguientes opciones:
Símbolo del sistema o PowerShell como administrador:
net stop observiq-otel-collector && net start observiq-otel-collectorConsola de Services:
- Presiona
Win+R, escribeservices.mscy presiona Intro. - Busca observIQ OpenTelemetry Collector.
- Haz clic con el botón derecho y selecciona Reiniciar.
- Presiona
Verifica que el servicio esté en ejecución:
sc query observiq-otel-collectorRevisa los registros en busca de errores:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Configura el reenvío de syslog de Netscout Arbor Sightline
Para enviar registros a Google SecOps, debes configurar Netscout Arbor Sightline para que reenvíe eventos de syslog al agente de Bindplane. Esto implica crear un grupo de notificaciones, configurar los parámetros de configuración globales de las notificaciones y configurar reglas de notificaciones de alerta.
Cómo crear un grupo de notificaciones
- Accede a la interfaz web de Netscout Arbor Sightline como administrador.
- Ve a Administración > Notificaciones > Grupos.
- Haz clic en Agregar grupo de notificaciones.
- Proporciona los siguientes detalles de configuración:
- Destinos: Ingresa la dirección IP del host del agente de BindPlane (por ejemplo,
192.168.1.100). - Puerto: Ingresa
514(o el puerto configurado en el agente de BindPlane, como1514). - Facility: Selecciona una instalación de syslog (por ejemplo,
local0ouser). - Gravedad: Selecciona
info. La gravedad informativa recopila todos los mensajes de eventos en el nivel de eventos informativos y en niveles de gravedad más altos.
- Destinos: Ingresa la dirección IP del host del agente de BindPlane (por ejemplo,
- Haz clic en Guardar.
Haz clic en Configuration Commit para aplicar los cambios de configuración.
Cómo configurar los parámetros de notificación globales
Las notificaciones globales de Netscout Arbor Sightline proporcionan notificaciones del sistema que no están asociadas con reglas de alerta específicas.
- En la interfaz web de Netscout Arbor Sightline, ve a Administración > Notificaciones > Configuración global.
- En el campo Grupo de notificaciones predeterminado, selecciona el grupo de notificaciones que creaste para Google SecOps.
- Haz clic en Guardar.
- Haz clic en Configuration Commit para aplicar los cambios de configuración.
Cómo habilitar las notificaciones de alertas del sistema
Las alertas del sistema requieren configuración adicional a través de la interfaz de línea de comandos (CLI).
- Accede a la interfaz de línea de comandos de Netscout Arbor Sightline como administrador.
Enumera la configuración actual de alertas del sistema:
services sp alerts system_errors showPara enumerar los nombres de los campos de alertas del sistema disponibles que se pueden configurar, ejecuta el siguiente comando:
services sp alerts system_errors ?Habilita las notificaciones para las alertas del sistema. Para cada tipo de alerta que quieras habilitar, ejecuta el siguiente comando:
services sp alerts system_errors <alert_name> notifications enableReemplaza
<alert_name>por el nombre específico del campo de alerta del sistema (por ejemplo,disk_full,flow_collector_down,license_expiring).Confirma los cambios de configuración:
config write
Configura reglas de notificaciones de alertas
Las reglas de notificación de alertas determinan qué alertas activan notificaciones de syslog a Google SecOps.
- En la interfaz web de Netscout Arbor Sightline, ve a Administración > Notificación > Reglas.
- Elige una de las siguientes opciones:
- Haz clic en una regla existente para editarla.
- Haz clic en Agregar regla para crear una regla de notificación nueva.
- Configura los siguientes valores:
- Nombre: Ingresa un nombre descriptivo para la regla (por ejemplo,
Chronicle-DDoS-Alerts). - Recurso: Ingresa una dirección CIDR o selecciona un objeto administrado de la lista de recursos de Sightline. Para aplicar la regla a todos los recursos, deja este campo vacío o selecciona Todos.
- Importancia: Selecciona el nivel de importancia mínimo para las alertas (por ejemplo,
Low,Medium,HighoCritical). Las alertas que alcancen este nivel o lo superen activarán notificaciones. - Grupo de notificaciones: Selecciona el grupo de notificaciones que creaste para Google SecOps.
- Nombre: Ingresa un nombre descriptivo para la regla (por ejemplo,
- Repite estos pasos para configurar reglas adicionales según sea necesario para diferentes recursos o niveles de importancia.
- Haz clic en Guardar.
Haz clic en Configuration Commit para aplicar los cambios de configuración.
Prueba la conectividad de Syslog
Después de configurar el grupo de notificaciones y las reglas, verifica que los mensajes de syslog se envíen al agente de BindPlane.
En la CLI de Netscout Arbor Sightline, prueba la conexión de syslog:
services sp notification test syslog group <notification_group_name>Reemplaza
<notification_group_name>por el nombre del grupo de notificaciones que creaste.El comando debería mostrar lo siguiente:
Server returned: SuccessRevisa los registros del agente de Bindplane para verificar que se reciban los mensajes de prueba:
Linux:
sudo journalctl -u observiq-otel-collector -fWindows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"En la consola de Google SecOps, ve a Search y verifica que los registros de Netscout Arbor Sightline aparezcan con la etiqueta de transferencia
ARBOR_SIGHTLINE.
Tipos de eventos que se reenvían a Google SecOps
Netscout Arbor Sightline reenvía las siguientes categorías de eventos a través de syslog:
- Eventos de denegación de servicio (DoS): Alertas de detección de ataques DSD, incluidos ataques volumétricos, ataques de protocolo y ataques a nivel de la aplicación
- Eventos de autenticación: Éxitos y fallas de acceso del usuario, intentos de autenticación
- Eventos de explotación: Intentos de explotación detectados y patrones de tráfico sospechosos
- Eventos de actividad sospechosa: Comportamiento anómalo del tráfico y posibles amenazas de seguridad
- Eventos del sistema: Estado del dispositivo, estado del servicio, cambios de configuración y alertas operativas
- Eventos de mitigación: Inicio, detención y actualizaciones de estado de la mitigación para los ataques DSD
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica |
|---|---|---|
| msg1 | additional.fields | Se combina con las etiquetas de cada campo si no está vacío, con claves específicas como "message_description" para msg1, "config_version" para config_version, etcétera. |
| config_version | additional.fields | |
| prin_user | additional.fields | |
| old_bgp_attributes | additional.fields | |
| new_bgp_attributes | additional.fields | |
| Reason | additional.fields | |
| sample_rate | additional.fields | |
| protocolo | additional.fields | |
| potenciados por IA | additional.fields | |
| identificador | additional.fields | |
| expected_bps | additional.fields | |
| actual_bps | additional.fields | |
| servidor | additional.fields | |
| estado | additional.fields | |
| porcentaje | additional.fields | |
| tasa | additional.fields | |
| rateunit | additional.fields | |
| flags | additional.fields | |
| router | additional.fields | |
| interfaz | additional.fields | |
| ip_ver | additional.fields | |
| protocol_id | additional.fields | |
| router_name | additional.fields | |
| interface_id | additional.fields | |
| interface_name | additional.fields | |
| priority | additional.fields | |
| log_level | additional.fields | |
| piscina | additional.fields | |
| thread_id | additional.fields | |
| timeout | additional.fields | |
| intentos | additional.fields | |
| vulns | extensions.vulns.vulnerabilities | Se combina si vulns no está vacío |
| desc | metadata.description | Se establece en "%{desc}: %{desc2}" si desc y desc2 no están vacíos; de lo contrario, se establece en desc. Se reemplaza por message_desc si no está vacío. |
| desc2 | metadata.description | |
| message_desc | metadata.description | |
| event_time | metadata.event_timestamp | Se convirtió con el filtro de fecha con el formato MMM dd HH:mm:ss o MMM d HH:mm:ss, zona horaria Europe/London |
| desc2 | metadata.event_type | Se establece en "SCAN_PROCESS" si desc2 coincide con "(DNS Amplification |
| mensaje | metadata.event_type | |
| src_ip | metadata.event_type | |
| has_target_ip | metadata.event_type | |
| has_network_protocol | metadata.event_type | |
| host_name | metadata.event_type | |
| mensaje | metadata.product_event_type | Se establece en "Host Detection" si el mensaje coincide con "Host Detection"; en "TMS Mitigation started" si el mensaje coincide con "started"; en "TMS Mitigation stopped" si el mensaje coincide con "stopped". |
| metadata.product_name | metadata.product_name | Se establece en "ARBOR_SIGHTLINE". |
| metadata.vendor_name | metadata.vendor_name | Se establece en "NETSCOUT". |
| direction | network.direction | Se establece en "INBOUND" si la dirección es "incoming". |
| protocolo | network.ip_protocol | Se establece en "TCP" si el proto es "6"; de lo contrario, se establece en network_protocol en mayúsculas si coincide con "(?i)(TCP |
| network_protocol | network.ip_protocol | |
| bytes | network.sent_bytes | Valor copiado directamente y convertido en número entero sin signo |
| paquetes | network.sent_packets | Valor copiado directamente y convertido en número entero |
| duración | network.session_duration.seconds | Valor copiado directamente si no está vacío y no es "0", convertido a número entero |
| host_name | principal.hostname | Valor copiado directamente |
| src_ip | principal.ip | Se fusionó de src_ip y nameserver_ip |
| nameserver_ip | principal.ip | |
| espacio de nombres | principal.namespace | Valor copiado directamente |
| filename | principal.process.file.full_path | Valor copiado directamente |
| alert_id | principal.process.pid | Valor copiado directamente |
| prin_url | principal.url | Valor copiado directamente |
| prin_user | principal.user.userid | Valor copiado directamente |
| impacto | security_result.detection_fields | Se combinó con las claves "Impact" de impact, "Importance" de importance, "Signature" de signature, "Leader" de leader, "parent_managed_object" de parent_managed_object y "Alert ID" de alert_id. |
| importancia | security_result.detection_fields | |
| firma | security_result.detection_fields | |
| líder | security_result.detection_fields | |
| parent_managed_object | security_result.detection_fields | |
| alert_id | security_result.detection_fields | |
| gravedad, | security_result.severity | Se establece en "INFORMATIONAL" si la gravedad está en ["10","9"]; "LOW" si está en ["8","7"]; "MEDIUM" si es "6"; "HIGH" si está en ["5","4"]; "CRITICAL" si está en ["3","2","1"] |
| desc2 | security_result.threat_status | Se establece en "ACTIVE" si la descripción coincide con "Alerta de detección de host" y el mensaje "start" y no "stop"; se establece en "CLEARED" si la descripción coincide con "Alerta de detección de host" y el mensaje "stop". |
| mensaje | security_result.threat_status | |
| intem_host | target.group.product_object_id | Valor copiado directamente |
| dst_ip | target.ip | Valor copiado directamente |
| dst_port | target.port | Valor copiado directamente y convertido en número entero |
| file_path | target.process.file.full_path | Valor copiado directamente |
| stop_time | vulns.vulnerabilities.scan_end_time | Se convirtió con el filtro de fecha en el formato aaaa-MM-dd HH:mm:ss |
| start_time | vulns.vulnerabilities.scan_start_time | Se convirtió con el filtro de fecha con el formato aaaa-MM-dd HH:mm:ss o aaaa-MM-dd |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.