Recoger registros de VPN SSL de Array Networks

Disponible en:

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

  1. Inicia sesión en la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recogida.
  3. 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

  1. Inicia sesión en la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Perfil.
  3. 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

  1. Abre la petición de comando o PowerShell como administrador.
  2. Ejecuta el siguiente comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalación de Linux

  1. Abre un terminal con privilegios de root o sudo.
  2. 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

Configurar el agente de Bindplane para ingerir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:

    1. 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.
    2. Abre el archivo con un editor de texto (por ejemplo, nano, vi o Bloc de notas).
  2. Edita el archivo config.yaml de 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
    

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-agent
    
  • Para 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

  1. Inicia sesión en la interfaz web de la consola de gestión de VPN SSL de Array Networks.
  2. En el menú de navegación de la izquierda, haz clic en HERRAMIENTAS DE ADMINISTRACIÓN.
  3. Haz clic en Monitorización.
  4. Haz clic en la pestaña Registro.
  5. Haz clic en la subpestaña Servidores Syslog.
  6. 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).
  7. 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.
  8. Haz clic en Guardar para aplicar la configuración.
  9. 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.