Recopila registros de VPN SSL de Array Networks
Versión del analizador: 1.0
En este documento, se explica cómo transferir registros de VPN SSL de Array Networks a Google Security Operations con el agente de Bindplane.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Una instancia de Google SecOps
- Un host de Windows 2016 o versiones posteriores, o 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 consola de administración o al dispositivo de VPN SSL de Array Networks (serie AG o vxAG)
Obtén las credenciales de Google SecOps para el agente de Bindplane
Para autenticar el agente de Bindplane en Google SecOps, elige uno de los siguientes métodos:
- Implementaciones nuevas: Usa la API de Chronicle (opción 1).
- Implementaciones heredadas: Continúa usando el archivo de autenticación de transferencia (opción 2) hasta que se descontinúe la API de Ingestion el 20 de julio de 2027.
Opción 1: Crea una cuenta de servicio para la API de Chronicle (recomendada)
- Accede a la Google Cloud consola y selecciona el Google Cloud proyecto vinculado a tu instancia de Google SecOps.
- Ve a IAM y administración > Cuentas de servicio.
- Haz clic en Crear cuenta de servicio.
- Proporciona los siguientes detalles de configuración:
- Nombre de la cuenta de servicio: Ingresa un nombre para la cuenta (por ejemplo,
bindplane-ingest). - Descripción de la cuenta de servicio: Ingresa una descripción (por ejemplo,
Bindplane agent log ingestion).
- Nombre de la cuenta de servicio: Ingresa un nombre para la cuenta (por ejemplo,
- Haz clic en Crear y continuar.
- En la sección Otorga a esta cuenta de servicio acceso al proyecto, haz clic en Seleccionar un rol y selecciona Editor de Chronicle.
- Haz clic en Continuar y, luego, en Listo.
- Haz clic en la cuenta de servicio que creaste y, luego, ve a la pestaña Claves.
- Haz clic en AGREGAR CLAVE > Crear clave nueva.
- Selecciona JSON y haz clic en Crear. El archivo de claves se descargará en tu computadora.
- Guarda el archivo de claves como
ingestion-auth.jsonen el directorio del recopilador de Bindplane (/opt/observiq-otel-collector/ingestion-auth.jsonen Linux oC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonen Windows) o actualizacreds_file_pathenconfig.yamlpara que coincida con la ruta de acceso en la que lo guardas. - Ve a IAM y administración > Configuración y copia el Número de proyecto. Lo necesitarás para la configuración del exportador.
Opción 2: Descarga el archivo de autenticación de transferencia (heredado)
- 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á el agente de 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 siguiente comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalación en Linux
- Abre una terminal con privilegios de administrador 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 obtener opciones de instalación adicionales, consulta esta guía de instalación.
Configura el agente de Bindplane para transferir Syslog y enviarlo a Google SecOps
Accede al archivo de configuración:
- Busca el archivo
config.yaml. Por lo general, se encuentra en el directorio/opt/observiq-otel-collector/en Linux o en el directorio de instalación en Windows. - Abre el archivo con un editor de texto (por ejemplo,
nano,vio el 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: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' 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: chronicle.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- Reemplaza el puerto y la dirección IP según sea necesario en tu infraestructura.
- Reemplaza
<CUSTOMER_ID>por el ID de cliente real. - Actualiza
/path/to/ingestion-authentication-file.jsona la ruta de acceso del archivo en la que se guardó el archivo de claves de la cuenta de servicio (opción 1) en el paso 1. - Reemplaza
<LOCATION>por la región de tu instancia de Google SecOps (por ejemplo,us,europe, oasia-southeast1). El exportador anteponechronicle.googleapis.comcon este valor. Consulta Extremos regionales para obtener la lista completa. - Reemplaza
<PROJECT_NUMBER>por el número de proyecto de IAM y administración > Configuración.
Exportador de la API de Ingestion heredada
Si usas el archivo de autenticación de transferencia de la opción 2, reemplaza el bloque
exporterspor lo siguiente. Establececreds_file_pathen la ruta de acceso al archivo de autenticación de transferencia y, si tu instancia está fuera de EE.UU., reemplazamalachiteingestion-pa.googleapis.compor tu extremo regional (por ejemplo,europe-malachiteingestion-pa.googleapis.com).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:
Reinicia el agente de Bindplane para aplicar los cambios
Para reiniciar el agente de Bindplane en Linux, ejecuta el siguiente comando:
sudo systemctl restart observiq-otel-collectorPara reiniciar el agente de Bindplane en Windows, puedes usar la consola de Servicios o ingresar el siguiente comando:
net stop observiq-otel-collector && net start observiq-otel-collector
Configura el reenvío de Syslog en la VPN SSL de Array Networks
- Accede a la consola de administración de la VPN SSL de Array Networks (WebUI).
- En el menú de navegación de la izquierda, haz clic en ADMIN TOOLS.
- Haz clic en Monitoring.
- Haz clic en la pestaña Logging.
- Haz clic en la pestaña secundaria Servidores Syslog.
- En la sección REMOTE SYSLOG SERVER CONFIGURATION, haz clic en Add Server Entry.
- Proporciona los siguientes detalles de configuración:
- Host IP: Ingresa la dirección IP del agente de Bindplane.
- Host Port: Ingresa el número de puerto del agente de Bindplane (por ejemplo, 514).
- Protocol: Selecciona UDP o TCP, según la configuración del agente de Bindplane.
- Puerto de origen: Deja el valor predeterminado o especifica si lo requiere la configuración de tu red.
- Nivel: Selecciona el nivel de gravedad mínimo para reenviar (por ejemplo, Informational, Warning, Error).
- Haz clic en Add o Save para aplicar la configuración.
Haz clic en Save Configuration 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 |
La dirección IP del cliente extraída del campo clientip en el 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 |
La cantidad de bytes recibidos, convertida en un número 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 |
El nombre de host extraído del campo hostname en el mensaje de registro sin procesar. |
hostname |
principal.asset.hostname |
El nombre de host extraído del campo hostname en el mensaje de registro sin procesar. |
http_method |
network.http.method |
El método HTTP extraído del mensaje de registro sin procesar. |
id |
principal.application |
El ID de aplicación del registro sin procesar. |
mac |
principal.mac |
La dirección MAC extraída del campo mac en el mensaje de registro sin procesar. |
msg |
metadata.product_event_type |
El campo de mensaje del registro sin procesar, que se usa como el 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 |
El 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"; de lo contrario, "UNKNOWN_ACTION". |
security_result.description |
security_result.description |
El campo de mensaje del registro sin procesar, después de quitar 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 |
El nombre de host de destino extraído del mensaje de registro sin procesar. |
timestamp |
metadata.event_timestamp |
La 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 |
El nombre de usuario extraído del mensaje de registro sin procesar. |
user_agent_string |
network.http.user_agent |
La cadena del agente de usuario extraída del mensaje de registro sin procesar. |
vpn |
target.user.group_identifiers |
El 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 establece en "TCP" si el mensaje contiene "TCP". |
Registro de cambios
Consulta el registro de cambios de este analizador
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.