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 con 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 posterior, o Linux con
systemd - Si se ejecuta detrás de un proxy, asegúrate de que los puertos del 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 la VPN con SSL de Array Networks (serie AG o vxAG)
Obtén 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: Sigue 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 (recomendado)
- Accede a la consola deGoogle Cloud y selecciona el proyecto de Google Cloud que está vinculado a tu instancia de Google SecOps.
- Ve a IAM y administración > Cuentas de servicio.
- Haga 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 elige 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 > Administración de datos > Agentes de recopilación. Si estás en una plataforma solo de SIEM, ve a Configuración > 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 > Administración > Perfil. Si estás en una plataforma solo de SIEM, ve a Configuración > 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" /quiet
Instalación en 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.sh
Recursos de instalación adicionales
Para conocer otras opciones de instalación, 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:
- Ubica 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).
- Ubica 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,europeoasia-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 transferencia 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 con SSL de Array Networks
- Accede a la consola de administración de VPN con SSL de Array Networks (WebUI).
- En el menú de navegación de la izquierda, haz clic en HERRAMIENTAS DE ADMINISTRACIÓN.
- Haz clic en Monitoring.
- Haz clic en la pestaña Registro.
- Haz clic en la pestaña secundaria Servidores Syslog.
- En la sección CONFIGURACIÓN DEL SERVIDOR SYSLOG REMOTO, haz clic en Agregar entrada del servidor.
- Proporciona los siguientes detalles de configuración:
- IP del host: Ingresa la dirección IP del agente de Bindplane.
- Puerto del host: Ingresa el número de puerto del agente de Bindplane (por ejemplo, 514).
- Protocolo: 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 red.
- Nivel: Selecciona el nivel de gravedad mínimo que se reenviará (por ejemplo, Informativo, Advertencia, Error).
- Haz clic en Agregar o 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 |
Es la dirección IP del cliente extraída del campo clientip en el mensaje de registro sin procesar. |
column1 |
principal.ip |
Es la dirección IP extraída de column1 en el registro sin procesar. |
column1 |
principal.asset.ip |
Es la dirección IP extraída de column1 en el registro sin procesar. |
column3 |
network.received_bytes |
Es la cantidad de bytes recibidos, convertidos en un número entero sin firma. |
column4 |
network.http.method |
Es el método HTTP extraído de column4 en el registro sin procesar. |
column7 |
target.ip |
Es la dirección IP de destino extraída de column7 en el registro sin procesar. |
dport |
target.port |
Es el 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 |
Es el nombre de host extraído del campo hostname en el mensaje de registro sin procesar. |
hostname |
principal.asset.hostname |
Es el nombre de host extraído del campo hostname en el mensaje de registro sin procesar. |
http_method |
network.http.method |
Es el método HTTP extraído del mensaje de registro sin procesar. |
id |
principal.application |
Es el ID de aplicación del registro sin procesar. |
mac |
principal.mac |
Es la dirección MAC extraída del campo mac en el mensaje de registro sin procesar. |
msg |
metadata.product_event_type |
Es 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 inversas y las comillas. |
product_name |
metadata.product_name |
Es 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 |
Es el puerto del proxy, convertido en un número entero. |
response_code |
network.http.response_code |
Es el código de respuesta HTTP, convertido en un número entero. |
security_result.action |
security_result.action |
Se determina por la lógica del analizador según el valor de column2. "BLOCK" si column2 contiene "TCP_MISS", "UNKNOWN_ACTION" de lo contrario. |
security_result.description |
security_result.description |
Es el campo de mensaje del registro sin procesar, después de quitar las barras inversas y las comillas. |
sport |
principal.port |
Es el 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 |
Es el nombre de host de destino extraído del mensaje de registro sin procesar. |
timestamp |
metadata.event_timestamp |
Es la marca de tiempo extraída del mensaje de registro sin procesar y analizada en un objeto de marca de tiempo. |
uri |
target.url |
Es parte de la URL de destino. Se combina con uri_param para formar la URL completa. |
uri_param |
target.url |
Es parte de la URL de destino. Se combina con uri para formar la URL completa. |
user |
target.user.userid |
Es el nombre de usuario extraído del mensaje de registro sin procesar. |
user_agent_string |
network.http.user_agent |
Es la cadena de usuario-agente extraída del mensaje de registro sin procesar. |
vpn |
target.user.group_identifiers |
Es el nombre de la VPN extraído del mensaje de registro sin procesar. |
metadata.event_type |
metadata.event_type |
Se determina según 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.