Recoger registros de VPN SSL de Array Networks
En este documento se explica cómo ingerir registros de VPN SSL de Array Networks en Google Security Operations mediante Bindplane. El analizador extrae campos de los mensajes syslog y los asigna al UDM. Utiliza patrones grok para identificar varios formatos de registro, como solicitudes HTTP, mensajes SSL y actualizaciones de estado genéricas. Después, analiza de forma condicional los pares clave-valor y los datos CSV de los mensajes para rellenar campos de UDM como principal, destino, información de red y resultados de seguridad. El analizador también gestiona diferentes tipos de eventos en función de los datos extraídos, clasificándolos como eventos de red, eventos de usuario o eventos genéricos.
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 privilegiado a la consola de gestión o al dispositivo de la VPN SSL de Array Networks (serie AG o vxAG)
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: <CUSTOMER_ID> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'ARRAYNETWORKS_VPN' 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
<CUSTOMER_ID>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.
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 Array Networks SSL VPN
- Inicia sesión en la interfaz web de la consola de gestión de VPN SSL de Array Networks.
- En el menú de navegación de la izquierda, haz clic en HERRAMIENTAS DE ADMINISTRACIÓN.
- Haz clic en Monitorización.
- Haz clic en la pestaña Registro.
- Haz clic en la subpestaña Servidores Syslog.
- En la sección REMOTE SYSLOG SERVER CONFIGURATION (CONFIGURACIÓN DEL SERVIDOR SYSLOG REMOTO), haga clic en Add Server Entry (Añadir entrada de servidor).
- Proporcione los siguientes detalles de configuración:
- IP de host: introduce la dirección IP del agente de Bindplane.
- Puerto del host: introduce el número de puerto del agente de Bindplane (por ejemplo,
514). - Protocolo: selecciona UDP o TCP, según la configuración de tu agente Bindplane.
- Puerto de origen: deja el valor predeterminado o especifícalo si lo requiere la configuración de tu red.
- Nivel: selecciona Informativo.
- Haz clic en Guardar para aplicar la configuración.
- Haz clic en Guardar configuración en la parte superior de la página para conservar los cambios.
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica |
|---|---|---|
clientip |
principal.ip |
Dirección IP del cliente extraída del campo clientip del mensaje de registro sin procesar. |
column1 |
principal.ip |
Dirección IP extraída de column1 en el registro sin procesar. |
column1 |
principal.asset.ip |
Dirección IP extraída de column1 en el registro sin procesar. |
column3 |
network.received_bytes |
Número de bytes recibidos, convertido en un entero sin signo. |
column4 |
network.http.method |
El método HTTP extraído de column4 en el registro sin procesar. |
column7 |
target.ip |
La dirección IP de destino extraída de column7 en el registro sin procesar. |
dport |
target.port |
Puerto de destino, convertido en un número entero. |
dst |
target.ip |
Dirección IP de destino. |
dst |
target.asset.ip |
Dirección IP de destino. |
hostname |
principal.hostname |
Nombre de host extraído del campo hostname del mensaje de registro sin procesar. |
hostname |
principal.asset.hostname |
Nombre de host extraído del campo hostname del mensaje de registro sin procesar. |
http_method |
network.http.method |
Método HTTP extraído del mensaje de registro sin procesar. |
id |
principal.application |
ID de la aplicación del registro sin procesar. |
mac |
principal.mac |
La dirección MAC extraída del campo mac del mensaje de registro sin procesar. |
msg |
metadata.product_event_type |
El campo de mensaje del registro sin procesar, que se usa como tipo de evento del producto. También se usa para security_result.description después de quitar las barras invertidas y las comillas. |
product_name |
metadata.product_name |
Nombre del producto extraído del mensaje de registro sin procesar. |
prxy_ip |
intermediary.ip |
Dirección IP del proxy. |
prxy_port |
intermediary.port |
Puerto del proxy, convertido en un número entero. |
response_code |
network.http.response_code |
El código de respuesta HTTP, convertido en un número entero. |
security_result.action |
security_result.action |
Determinado por la lógica del analizador en función del valor de column2. "BLOCK" si column2 contiene "TCP_MISS", "UNKNOWN_ACTION" en caso contrario. |
security_result.description |
security_result.description |
El campo de mensaje del registro sin formato, después de eliminar las barras invertidas y las comillas. |
sport |
principal.port |
Puerto de origen, convertido en un número entero. |
src |
principal.ip |
Dirección IP de origen. |
src |
principal.asset.ip |
Dirección IP de origen. |
target_hostname |
target.hostname |
Nombre de host de destino extraído del mensaje de registro sin procesar. |
timestamp |
metadata.event_timestamp |
Marca de tiempo extraída del mensaje de registro sin procesar y analizada en un objeto de marca de tiempo. |
uri |
target.url |
Parte de la URL de destino. Se combina con uri_param para formar la URL completa. |
uri_param |
target.url |
Parte de la URL de destino. Se combina con uri para formar la URL completa. |
user |
target.user.userid |
Nombre de usuario extraído del mensaje de registro sin procesar. |
user_agent_string |
network.http.user_agent |
La cadena de user-agent extraída del mensaje de registro sin procesar. |
vpn |
target.user.group_identifiers |
Nombre de la VPN extraído del mensaje de registro sin procesar. |
metadata.event_type |
metadata.event_type |
Determinado por la lógica del analizador en función de una combinación de campos como has_principal, has_target, has_http_value y user. Puede ser "NETWORK_HTTP", "NETWORK_CONNECTION", "STATUS_UPDATE", "USER_UNCATEGORIZED" o "GENERIC_EVENT". |
network.ip_protocol |
network.ip_protocol |
Se define como "TCP" si el mensaje contiene "TCP". |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.