Recopila registros de Vectra Stream

Se admite en los siguientes sistemas operativos:

En este documento, se explica cómo transferir registros de Vectra Stream a Google Security Operations con Bindplane. El analizador extrae pares clave-valor de los registros de Vectra Stream, normaliza varios campos en un modelo de datos unificado (UDM) y asigna tipos de registros a tipos de eventos específicos del UDM. Controla los registros con formato JSON y syslog, descarta los mensajes con formato incorrecto y enriquece los datos con contexto adicional según los valores de campos específicos.

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 de firewall estén abiertos según los requisitos del agente de Bindplane.
  • Acceso con privilegios a la IU de Vectra

Obtén el archivo de autenticación de transferencia de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recopilación.
  3. Descarga el archivo de autenticación de transferencia. Guarda el archivo de forma segura en el sistema en el que se instalará Bindplane.

Obtén el ID de cliente de Google SecOps

  1. Accede a 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.

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

  1. Abre el símbolo del sistema o PowerShell como administrador.
  2. Ejecuta el comando siguiente:

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

Instalación en Linux

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

Configura el agente de BindPlane para transferir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:

    1. Ubica el archivo config.yaml. Por lo general, 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: 'VECTRA_STREAM'
        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 de Servicios o ingresar el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configura Vectra Stream para enviar Syslog

  1. Accede a la IU de Vectra (cerebro).
  2. Ve a Configuración > Notificaciones.
  3. Ve a la sección Syslog.
  4. Haz clic en Editar para agregar o editar la configuración de Syslog.
  5. Proporciona los siguientes detalles de configuración:
    • Destino: Ingresa la dirección IP del agente de BindPlane.
    • Puerto: Ingresa el número de puerto del agente de Bindplane.
    • Protocolo: Selecciona UDP o TCP según la configuración real del agente de Bindplane.
    • Formato: Selecciona JSON.
    • Tipos de registros: Selecciona los registros que deseas enviar a Google SecOps.
  6. Haz clic en Guardar.
  7. Haz clic en Probar para probar la configuración.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
AA network.dns.authoritative Se convirtió en booleano a partir del valor de cadena.
account_session_id network.session_id Asignación directa
account_session_time network.session_duration Se convirtió a marca de tiempo a partir de segundos de UNIX.
respuestas network.dns.answers.data Asignación directa
assigned_ip network.dhcp.yiaddr Asignación directa
beacon_type metadata.description Asignación directa
beacon_uid network.session_id Asignación directa
calling_station_id intermediary.asset.product_object_id Asignación directa
certificate.issuer network.tls.client.certificate.issuer Asignación directa
certificate.not_valid_after network.tls.client.certificate.not_after Se convierte en una marca de tiempo a partir de UNIX o UNIX_MS, según el formato.
certificate.not_valid_before network.tls.client.certificate.not_before Se convierte en una marca de tiempo a partir de UNIX o UNIX_MS, según el formato.
certificate.serial network.tls.client.certificate.serial Asignación directa
certificate.subject network.tls.client.certificate.subject Asignación directa
certificate.version network.tls.client.certificate.version Asignación directa
cifrado network.tls.cipher Asignación directa
cipher_alg network.tls.cipher Asignación directa
cliente principal.application Asignación directa
client_cipher network.tls.client.supported_ciphers Asignación directa
community_id network.community_id Asignación directa
compression_alg additional.fields.value.string_value Se agregó a campos adicionales con la clave "compression_alg".
connect_info security_result.description Asignación directa
conn_state metadata.description Se asigna a una descripción según el valor de conn_state.
galleta target.user.userid Asignación directa
curva network.tls.curve Asignación directa
dhcp_server_ip network.dhcp.giaddr Asignación directa
dns_server_ips principal.ip Cada IP del array se agrega al array principal.ip.
dominio target.domain.name Asignación directa
dst_display_name target.hostname, target.asset.hostname Asignación directa
dst_luid target.asset.product_object_id Asignación directa
duración network.session_duration.seconds Se convirtió en un número entero a partir de un valor de cadena.
extremo principal.application Asignación directa
estableció network.tls.established Se convirtió en booleano a partir del valor de cadena.
host target.hostname, target.asset.hostname Nombre de host extraído del campo "host".
host_key additional.fields.value.string_value Se agregó a campos adicionales con la clave "host_key".
host_key_alg additional.fields.value.string_value Se agregó a campos adicionales con la clave "host_key_alg".
host_multihomed additional.fields.value.string_value Se agregó a campos adicionales con la clave "host_multihomed" y el valor "subnet %{host_multihomed}".
Nombre de host target.hostname, target.asset.hostname Asignación directa
id.orig_h principal.ip Asignación directa
id.orig_p principal.port Se convirtió en un número entero a partir de un valor de cadena.
id.resp_h target.ip, target.asset.ip Asignación directa
id.resp_p target.port Se convirtió en un número entero a partir de un valor de cadena.
emisor network.tls.client.certificate.issuer Asignación directa
ja3 network.tls.client.ja3 Asignación directa
ja3s network.tls.server.ja3s Asignación directa
kex_alg additional.fields.value.string_value Se agregó a campos adicionales con la clave "kex_alg".
lease_time network.dhcp.lease_time_seconds Se convirtió en un número entero sin signo a partir del valor de cadena.
log_type metadata.log_type Asignación directa
mac principal.mac Asignación directa
mac_alg additional.fields.value.string_value Se agregó a campos adicionales con la clave "mac_alg".
mail_from network.email.from Asignación directa
metadata_type metadata.product_event_type Asignación directa
método network.http.method Asignación directa
nombre target.file.full_path Asignación directa
nas_identifier target.user.attribute.roles.name Asignación directa
next_protocol network.tls.next_protocol Asignación directa
orig_hostname principal.hostname Asignación directa
orig_ip_bytes network.sent_bytes Se convirtió en un número entero sin signo a partir del valor de cadena.
orig_sluid principal.hostname Asignación directa
ruta target.file.full_path Asignación directa
protocolo network.ip_protocol Se asigna al nombre del protocolo de IP según el valor numérico.
proxy principal.ip Si el valor es una dirección IP, se agrega al array principal.ip.
qclass network.dns.questions.class Se convirtió en un número entero sin signo a partir del valor de cadena.
qclass_name network.dns.questions.name Asignación directa
consulta network.dns.questions.name, principal.process.command_line Asignación directa
qtype network.dns.questions.type Se convirtió en un número entero sin signo a partir del valor de cadena.
RA network.dns.recursion_available Se convirtió en booleano a partir del valor de cadena.
radius_type metadata.description Asignación directa
rcode network.dns.response_code Se convirtió en un número entero sin signo a partir del valor de cadena.
RD network.dns.recursion_desired Se convirtió en booleano a partir del valor de cadena.
rcpt_to network.email.reply_to, network.email.to La primera dirección de correo electrónico se asigna a reply_to, y el resto se agrega al array to.
referrer network.http.referral_url Asignación directa
resp_domain target.domain.name Asignación directa
resp_hostname target.hostname, target.asset.hostname Asignación directa
resp_ip_bytes network.received_bytes Se convirtió en un número entero sin signo a partir del valor de cadena.
resp_mime_types target.file.mime_type Asignación directa
result security_result.description Asignación directa
result_code security_result.action_details Asignación directa
rtt network.session_duration.seconds Se convirtió en un número entero a partir de un valor de cadena.
security_result security_result Se combinó con el objeto security_result existente.
sensor_uid observer.asset_id Tiene el formato "Sensor_UID:%{sensor_uid}".
servidor target.application Asignación directa
server_name network.tls.client.server_name Asignación directa
servicio target.application Asignación directa
src_display_name principal.hostname Asignación directa
src_luid principal.asset.product_object_id Asignación directa
estado security_result.summary Asignación directa
status_code network.http.response_code Se convirtió en un número entero a partir de un valor de cadena.
status_msg security_result.summary Asignación directa
asunto network.email.subject Asignación directa
correcto security_result.action Se asigna a "ALLOW" si es verdadero y a "BLOCK" si es falso.
TC network.dns.truncated Se convirtió en booleano a partir del valor de cadena.
trans_id network.dhcp.transaction_id, network.dns.id Se convirtió en un número entero sin signo a partir del valor de cadena.
ts metadata.event_timestamp Se convirtió a marca de tiempo desde varios formatos.
uid metadata.product_log_id Asignación directa
uri target.url Asignación directa
user_agent network.http.user_agent Asignación directa
nombre de usuario principal.user.userid Asignación directa
version network.tls.version, principal.platform_version Asignación directa
version_num network.tls.version_protocol Asignación directa
metadata.event_type Se determina según la lógica del analizador en función de los tipos de registros y metadatos.
metadata.vendor_name Valor codificado: "Vectra".
metadata.product_name Valor codificado: "Vectra Stream".

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.