Recopilar registros de Aruba IPS
En este documento se explica cómo ingerir registros de Aruba IPS en Google Security Operations mediante Bindplane. El analizador extrae eventos, notificaciones, puntos de acceso no autorizados e información de puntos de acceso de WIDS de registros con formato JSON. Transforma los datos de registro sin procesar en UDM asignando campos, gestionando varios tipos de eventos (inicio y cierre de sesión de usuario, eventos de red y eventos de seguridad) y enriqueciendo los datos con información contextual, como el canal, el SSID, el BSSID y la gravedad. El analizador también normaliza las marcas de tiempo y gestiona los errores de los archivos JSON con errores de formato.
Antes de empezar
Asegúrate de que cumples los siguientes requisitos previos:
- Una instancia de Google SecOps
- Un host Windows 2016 o posterior, o Linux con
systemd - Si se ejecuta a través de un proxy, asegúrese de que los puertos del cortafuegos estén abiertos según los requisitos del agente Bindplane.
- Acceso con privilegios a la consola de gestión o a la CLI del dispositivo Aruba
Obtener el archivo de autenticación de ingestión de Google SecOps
- Inicia sesión en la consola de Google SecOps.
- Ve a Configuración de SIEM > Agentes de recogida.
- Descarga el archivo de autenticación de ingestión. Guarda el archivo de forma segura en el sistema en el que se instalará Bindplane.
Obtener el ID de cliente de Google SecOps
- Inicia sesión en 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.
Instalar el agente de Bindplane
Instala el agente Bindplane en tu sistema operativo Windows o Linux siguiendo las instrucciones que se indican a continuación.
Instalación de ventanas
- Abre la petición de comando o PowerShell como administrador.
Ejecuta el siguiente comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalación de Linux
- Abre un terminal con privilegios de root o sudo.
Ejecuta el siguiente comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Recursos de instalación adicionales
- Para ver otras opciones de instalación, consulta esta guía de instalación.
Configurar el agente de Bindplane para ingerir Syslog y enviarlo a Google SecOps
Accede al archivo de configuración:
- Busca el archivo
config.yaml. Normalmente, se encuentra en el directorio/etc/bindplane-agent/en Linux o en el directorio de instalación en Windows. - Abre el archivo con un editor de texto (por ejemplo,
nano,vio Bloc de notas).
- Busca el archivo
Edita el archivo
config.yamlde la siguiente manera:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: YOUR_CUSTOMER_ID_HERE endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'ARUBA_IPS' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels- Sustituye el puerto y la dirección IP según sea necesario en tu infraestructura.
- Sustituye
<YOUR_CUSTOMER_ID_HERE>por el ID de cliente real. - Actualiza
/path/to/ingestion-authentication-file.jsona la ruta donde se guardó el archivo de autenticación en la sección Obtener el archivo de autenticación de ingestión de Google SecOps. - Actualice el valor de
endpointpara que coincida con la región de su arrendatario.
Reinicia el agente de Bindplane para aplicar los cambios
Para reiniciar el agente de Bindplane en Linux, ejecuta el siguiente comando:
sudo systemctl restart bindplane-agentPara reiniciar el agente de Bindplane en Windows, puedes usar la consola Servicios o introducir el siguiente comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar el reenvío de Syslog en dispositivos Aruba
Elige el método de configuración en función del tipo de dispositivo Aruba:
Opción A: controladores de Aruba (AOS-8)
En esta opción se detallan los pasos para configurar el reenvío de Syslog en controladores Aruba que ejecutan AOS-8.
Usar la interfaz web (recomendado para el formato CEF)
- Inicia sesión en la interfaz web del controlador de Aruba.
- En la jerarquía de nodos Red gestionada, vaya a Configuración > Sistema > Registro > Servidores Syslog.
- Para añadir un servidor de registro, haga clic en + en la sección Servidores Syslog.
- Proporcione los siguientes detalles de configuración:
- Dirección IP del servidor: introduce la dirección IP del agente de Bindplane.
- Puerto: introduce
514(o el puerto configurado en Bindplane). - Protocolo: selecciona UDP o TCP, según la configuración de tu agente Bindplane.
- Haz clic en Aplicar.
- Para seleccionar los tipos de mensajes que quieres registrar, selecciona Niveles de registro.
- Selecciona la categoría o subcategoría que quieras registrar.
- Para seleccionar el nivel de gravedad de la categoría o subcategoría, elija el nivel en la lista desplegable Nivel de registro.
- Seleccione el formato de registro CEF o estándar BSD en la lista desplegable Formato.
- Se recomienda usar el formato de evento común (CEF) de ArcSight CEFpara el registro estructurado.
- Haz clic en Enviar.
- Haz clic en Cambios pendientes.
- En la ventana Cambios pendientes, selecciona la casilla y haz clic en Implementar cambios.
Opción B: Aruba Instant AP
En esta sección se describe el procedimiento para configurar un servidor Syslog en un punto de acceso (AP) Aruba Instant a través de su interfaz de usuario web o de su interfaz de línea de comandos (CLI).
Usar la interfaz web
- Inicia sesión en la interfaz web de Aruba Instant.
- En la ventana principal de Instant, haz clic en el enlace Sistema.
- Haz clic en Mostrar opciones avanzadas para verlas.
- Haz clic en la pestaña Monitorización.
- Se muestran los detalles de la pestaña Monitoring.
- En el campo Servidor Syslog de la sección Servidores, introduzca la dirección IP del agente de Bindplane.
- En la sección Niveles de instalaciones de Syslog, selecciona los valores necesarios para configurar los niveles de instalaciones de Syslog.
- Nivel de syslog: registro detallado sobre los niveles de syslog.
- AP-Debug: registro detallado sobre el dispositivo Instant AP.
- Red: registro sobre los cambios en la red, por ejemplo, cuando se añade un nuevo punto de acceso Instant a una red.
- Seguridad: registro sobre la seguridad de la red, por ejemplo, cuando un cliente se conecta con una contraseña incorrecta.
- Sistema: registro sobre la configuración y el estado del sistema.
- Usuario: registros importantes sobre el cliente.
- User-Debug: registro detallado sobre el cliente.
- Inalámbrico: registra información sobre la radio.
- Haz clic en Aceptar para guardar la configuración.
Usar la CLI
- Inicia sesión en la CLI de Aruba Instant AP.
Entra en el modo de configuración:
configure terminalConfigura el servidor y el nivel de syslog:
syslog-server <BINDPLANE_IP_ADDRESS> syslog-level warnings
- Sustituye
<BINDPLANE_IP_ADDRESS>por la dirección IP del host de tu agente de Bindplane. - Ajusta el nivel de gravedad según sea necesario.
Opción C: Aruba AOS-S (Switches)
- Inicia sesión en la CLI del switch Aruba AOS-S.
Entra en el modo de configuración:
configureConfigura el servidor syslog:
logging <BINDPLANE_IP_ADDRESS> logging severity warnings- Sustituye
<BINDPLANE_IP_ADDRESS>por la dirección IP del host de tu agente de Bindplane. - Ajusta el nivel de gravedad según sea necesario.
- Sustituye
Guarda la configuración:
write memory
Opción D: Aruba Central (local)
- Inicia sesión en la interfaz web de Aruba Central.
- Ve a Sistema > Administración del sistema > Notificaciones > Servidor Syslog.
- Haz clic en Añadir o Habilitar.
- Proporcione los siguientes detalles de configuración:
- Host: introduce la dirección IP del agente de Bindplane.
- Puerto: introduce
514(o el puerto configurado en Bindplane). - Protocolo: selecciona UDP o TCP, según la configuración de tu agente Bindplane.
- Instalación: selecciona Local7 o la opción que corresponda.
- Gravedad: selecciona el nivel de registro mínimo (por ejemplo, Advertencia o Información).
- Haz clic en Guardar.
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica |
|---|---|---|
notifications.created_timestamp |
metadata.event_timestamp.seconds |
El campo de registro sin procesar notifications.created_timestamp se convierte a segundos y se asigna. Los nanosegundos se pierden en la conversión. |
notifications.customer_id |
metadata.product_log_id |
Asignación directa. |
notifications.device_id |
principal.resource.product_object_id |
Asignación directa. |
notifications.group_name |
principal.group.group_display_name |
Asignación directa. |
notifications.id |
metadata.product_log_id |
Asignación directa. |
notifications.timestamp |
metadata.event_timestamp.seconds |
El campo de registro sin procesar notifications.timestamp se convierte a segundos y se asigna. |
rogue_aps.acknowledged |
security_result.detection_fields.value, donde security_result.detection_fields.key es "acknowledged" |
Se ha convertido en una cadena y se ha asignado. |
rogue_aps.containment_status |
metadata.description |
Asignación directa. |
rogue_aps.cust_id |
metadata.product_log_id |
Asignación directa. |
rogue_aps.encryption |
security_result.detection_fields.value, donde security_result.detection_fields.key es "encryption" |
Asignación directa. |
rogue_aps.first_det_device |
principal.resource.product_object_id |
Asignación directa. |
rogue_aps.first_det_device_name |
principal.hostname |
Asignación directa. |
rogue_aps.first_seen |
principal.domain.first_seen_time.seconds |
Se analiza como una fecha y se asignan los segundos transcurridos desde el inicio del registro de tiempo. |
rogue_aps.group_name |
principal.group.group_display_name |
Asignación directa. |
rogue_aps.id |
principal.mac |
En minúsculas y asignado. |
rogue_aps.labels |
security_result.detection_fields.value, donde security_result.detection_fields.key es "labels" |
Asignación directa. |
rogue_aps.last_det_device |
security_result.about.user.product_object_id |
Asignación directa. |
rogue_aps.last_det_device_name |
target.hostname |
Asignación directa. |
rogue_aps.last_seen |
principal.domain.last_seen_time.seconds |
Se analiza como una fecha y se asignan los segundos transcurridos desde el inicio del registro de tiempo. También se usa como marca de tiempo del evento, si está presente. |
rogue_aps.mac_vendor |
target.administrative_domain |
Asignación directa. |
rogue_aps.name |
target.user.userid |
Asignación directa. |
rogue_aps.overridden |
security_result.detection_fields.value donde security_result.detection_fields.key se ha anulado |
Se ha convertido en una cadena y se ha asignado. |
rogue_aps.signal |
security_result.detection_fields.value donde security_result.detection_fields.key es "signal" |
Se ha convertido en una cadena y se ha asignado. |
rogue_aps.ssid |
security_result.detection_fields.value, donde security_result.detection_fields.key es "ssid" |
Asignación directa. |
site |
principal.location.name |
Asignación directa. |
wids_aps_info_list.attack_type |
metadata.description |
Asignación directa. |
wids_aps_info_list.detected_ap |
principal.hostname |
Asignación directa. |
wids_aps_info_list.description |
security_result.description |
Asignación directa. También se usa para extraer varios campos con grok. |
wids_aps_info_list.event_time |
metadata.event_timestamp.seconds |
Se convierte en una cadena y se usa como marca de tiempo del evento si está presente. |
wids_aps_info_list.event_type |
metadata.product_event_type |
Asignación directa. |
wids_aps_info_list.macaddr |
principal.mac |
En minúsculas y asignado. |
wids_aps_info_list.radio_band |
security_result.detection_fields.value donde security_result.detection_fields.key es "radio_band" |
Asignación directa. |
wids_aps_info_list.virtual_controller |
target.hostname |
Asignación directa. Se establece en true si notifications.severity es "Emergencia", "Alerta" o "Crítico". Se establece en true si notifications.severity es "Emergencia", "Alerta" o "Crítico". Se determina en función de los campos events.event_type o notifications.type, o se asigna el valor GENERIC_EVENT de forma predeterminada. Se derivan varias asignaciones de la lógica: STATUS_STARTUP, STATUS_SHUTDOWN, STATUS_UPDATE, USER_LOGIN y USER_LOGOUT. Siempre se le asigna el valor "ARUBA_IPS". Siempre se le asigna el valor "ARUBA_IPS". Siempre se le asigna el valor "ARUBA". Selecciona "DHCP" si events.event_type es "Client DHCP Acknowledged" o "Client DHCP Timeout". Se define como "BOOTREPLY" si events.event_type es "Client DHCP Acknowledged" o "Client DHCP Timeout". Se extrae de events.description mediante grok si events.event_type es "Client DHCP Acknowledged". Se asigna el valor "ACK" si events.event_type es "Client DHCP Acknowledged" y events.description contiene una dirección IP. De lo contrario, se asigna el valor "WIN_EXPIRED". Selecciona "ACCESS POINT" si events.event_type empieza por "Radio", "WLAN" o "AP", o si es "Security". Asigna el valor "DEVICE" si events.event_type empieza por "Radio", "WLAN" o "AP", o si es "Security". Se asigna desde events.client_mac para la mayoría de los eventos de cliente o rogue_aps.last_det_device para los eventos de puntos de acceso no autorizados. Asigna el valor "AUTH_VIOLATION" a valores events.event_type específicos o si notifications.description contiene "DoS Attack" o "disconnect attack". Se define para valores events.event_type específicos. Se añaden varios pares clave-valor en función de los campos extraídos, como bssid, channel, previous_channel, ssid, previous bssid, acknowledged, overriden, encryption, signal, labels y radio_band. Asignado desde wids_aps_info_list.description para eventos de wids. Determinado por notifications.severity o wids_aps_info_list.level. Se define como "level: %{wids_aps_info_list.level}" para los eventos de wids. Se define para valores events.event_type específicos. Asignado desde rogue_aps.mac_vendor para eventos de puntos de acceso no autorizados. Se asigna desde rogue_aps.last_det_device_name para eventos de puntos de acceso no autorizados o wids_aps_info_list.virtual_controller para eventos de WIDS. Se extrae de events.description mediante grok si events.event_type es "Security". Se asigna desde notifications.client_mac para eventos de notificación, events.client_mac para eventos de cliente, target_mac extraído de wids_aps_info_list.description para eventos de WIDs o rogue_aps.id para eventos de AP no autorizados. Se define como "CLIENT" en la mayoría de los eventos de cliente. Se asigna el valor "DEVICE" a la mayoría de los eventos de cliente. Se define como "ACTIVE" si events.event_type es "Security". Asignado desde rogue_aps.name para eventos de puntos de acceso no autorizados. |
events.bssid |
security_result.detection_fields.value, donde security_result.detection_fields.key es "bssid" |
Asignación directa. |
events.client_mac |
target.mac |
Asignación directa. También se usa para rellenar security_result.about.user.product_object_id en el caso de los eventos de cliente y target.ip en el de los eventos de seguridad. |
events.description |
metadata.description |
Asignación directa de eventos de AP y radio. Se usa para extraer varios campos mediante grok para otros tipos de eventos. |
events.device_mac |
principal.mac |
Asignación directa. |
events.device_serial |
principal.resource.product_object_id |
Asignación directa. |
events.events_details.2.channel |
security_result.detection_fields.value, donde security_result.detection_fields.key es "channel" |
Asignación directa. |
events.group_name |
principal.group.group_display_name |
Asignación directa. |
events.hostname |
principal.hostname |
Asignación directa. |
events.timestamp |
metadata.event_timestamp.seconds |
Se convierte en una cadena, se eliminan los milisegundos y, a continuación, se asigna. También se usa como marca de tiempo del evento, si está presente. |
timestamp |
metadata.event_timestamp |
Se usa como marca de tiempo del evento si no hay otros campos de marca de tiempo. Se asigna el valor "ACTIVE" a la mayoría de los eventos de cliente y de seguridad. Se asigna el valor "AUTHTYPE_UNSPECIFIED" si events.event_type es "Client 802.1x Radius Reject". Se extrae de events.description mediante grok si events.event_type es "Security". |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.