Coletar registros do Vectra Stream

Compatível com:

Este documento explica como ingerir registros do Vectra Stream no Google Security Operations usando o Bindplane. O analisador extrai pares de chave-valor dos registros do Vectra Stream, normaliza vários campos em um modelo de dados unificado (UDM) e mapeia tipos de registro para tipos de eventos específicos do UDM. Ele processa registros formatados em JSON e syslog, descartando mensagens malformadas e enriquecendo os dados com contexto adicional com base em valores de campo específicos.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Uma instância do Google SecOps
  • Um host Windows 2016 ou mais recente ou Linux com systemd
  • Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente do Bindplane.
  • Acesso privilegiado à interface do Vectra

Receber o arquivo de autenticação de ingestão do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.

Receber o ID de cliente do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instale o agente do Bindplane no seu sistema operacional Windows ou Linux de acordo com as instruções a seguir.

Instalação do Windows

  1. Abra o Prompt de Comando ou o PowerShell como administrador.
  2. Execute este comando:

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

Instalação do Linux

  1. Abra um terminal com privilégios de root ou sudo.
  2. Execute este comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Outros recursos de instalação

Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps

  1. Acesse o arquivo de configuração:

    1. Localize o arquivo config.yaml. Normalmente, ele fica no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    2. Abra o arquivo usando um editor de texto (por exemplo, nano, vi ou Bloco de Notas).
  2. Edite o arquivo config.yaml da seguinte forma:

    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
    
    • Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
    • Substitua <CUSTOMER_ID> pelo ID do cliente real.
    • Atualize /path/to/ingestion-authentication-file.json para o caminho em que o arquivo de autenticação foi salvo na seção Receber arquivo de autenticação de ingestão do Google SecOps.

Reinicie o agente do Bindplane para aplicar as mudanças

  • Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar o Vectra Stream para enviar Syslog

  1. Faça login na UI do Vectra (cérebro).
  2. Acesse Configurações > Notificações.
  3. Acesse a seção Syslog.
  4. Clique em Editar para adicionar ou editar a configuração do Syslog.
  5. Informe os seguintes detalhes de configuração:
    • Destino: insira o endereço IP do agente do Bindplane.
    • Porta: digite o número da porta do agente do Bindplane.
    • Protocolo: selecione UDP ou TCP com base na configuração real do agente do Bindplane.
    • Formato: selecione JSON.
    • Tipos de registro: selecione os registros que você quer enviar para o Google SecOps.
  6. Clique em Salvar.
  7. Clique em Testar para testar a configuração.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
AA network.dns.authoritative Convertido para booleano de um valor de string.
account_session_id network.session_id Mapeamento direto.
account_session_time network.session_duration Convertido para carimbo de data/hora de segundos UNIX.
respostas network.dns.answers.data Mapeamento direto.
assigned_ip network.dhcp.yiaddr Mapeamento direto.
beacon_type metadata.description Mapeamento direto.
beacon_uid network.session_id Mapeamento direto.
calling_station_id intermediary.asset.product_object_id Mapeamento direto.
certificate.issuer network.tls.client.certificate.issuer Mapeamento direto.
certificate.not_valid_after network.tls.client.certificate.not_after Convertido para carimbo de data/hora do UNIX ou UNIX_MS, dependendo do formato.
certificate.not_valid_before network.tls.client.certificate.not_before Convertido para carimbo de data/hora do UNIX ou UNIX_MS, dependendo do formato.
certificate.serial network.tls.client.certificate.serial Mapeamento direto.
certificate.subject network.tls.client.certificate.subject Mapeamento direto.
certificate.version network.tls.client.certificate.version Mapeamento direto.
criptografia network.tls.cipher Mapeamento direto.
cipher_alg network.tls.cipher Mapeamento direto.
cliente principal.application Mapeamento direto.
client_cipher network.tls.client.supported_ciphers Mapeamento direto.
community_id network.community_id Mapeamento direto.
compression_alg additional.fields.value.string_value Adicionado a outros campos com a chave "compression_alg".
connect_info security_result.description Mapeamento direto.
conn_state metadata.description Mapeado para uma descrição com base no valor de "conn_state".
biscoito target.user.userid Mapeamento direto.
curva network.tls.curve Mapeamento direto.
dhcp_server_ip network.dhcp.giaddr Mapeamento direto.
dns_server_ips principal.ip Cada IP na matriz é adicionado à matriz principal.ip.
domínio target.domain.name Mapeamento direto.
dst_display_name target.hostname, target.asset.hostname Mapeamento direto.
dst_luid target.asset.product_object_id Mapeamento direto.
duration network.session_duration.seconds Convertido para número inteiro de valor de string.
endpoint principal.application Mapeamento direto.
estabelecido network.tls.established Convertido para booleano de um valor de string.
host target.hostname, target.asset.hostname Nome do host extraído do campo "host".
host_key additional.fields.value.string_value Adicionado a campos extras com a chave "host_key".
host_key_alg additional.fields.value.string_value Adicionado a outros campos com a chave "host_key_alg".
host_multihomed additional.fields.value.string_value Adicionado a outros campos com a chave "host_multihomed" e o valor "subnet %{host_multihomed}".
nome do host target.hostname, target.asset.hostname Mapeamento direto.
id.orig_h principal.ip Mapeamento direto.
id.orig_p principal.port Convertido para número inteiro de valor de string.
id.resp_h target.ip, target.asset.ip Mapeamento direto.
id.resp_p target.port Convertido para número inteiro de valor de string.
issuer network.tls.client.certificate.issuer Mapeamento direto.
ja3 network.tls.client.ja3 Mapeamento direto.
ja3s network.tls.server.ja3s Mapeamento direto.
kex_alg additional.fields.value.string_value Adicionado a outros campos com a chave "kex_alg".
lease_time network.dhcp.lease_time_seconds Convertido para inteiro sem sinal de valor de string.
log_type metadata.log_type Mapeamento direto.
mac principal.mac Mapeamento direto.
mac_alg additional.fields.value.string_value Adicionado a outros campos com a chave "mac_alg".
mail_from network.email.from Mapeamento direto.
metadata_type metadata.product_event_type Mapeamento direto.
método network.http.method Mapeamento direto.
nome target.file.full_path Mapeamento direto.
nas_identifier target.user.attribute.roles.name Mapeamento direto.
next_protocol network.tls.next_protocol Mapeamento direto.
orig_hostname principal.hostname Mapeamento direto.
orig_ip_bytes network.sent_bytes Convertido para inteiro sem sinal de valor de string.
orig_sluid principal.hostname Mapeamento direto.
path target.file.full_path Mapeamento direto.
proto network.ip_protocol Mapeado para o nome do protocolo IP com base no valor numérico.
em proxy principal.ip Se o valor for um endereço IP, ele será adicionado à matriz principal.ip.
qclass network.dns.questions.class Convertido para inteiro sem sinal de valor de string.
qclass_name network.dns.questions.name Mapeamento direto.
consulta network.dns.questions.name, principal.process.command_line Mapeamento direto.
qtype network.dns.questions.type Convertido para inteiro sem sinal de valor de string.
RA network.dns.recursion_available Convertido para booleano de um valor de string.
radius_type metadata.description Mapeamento direto.
rcode network.dns.response_code Convertido para inteiro sem sinal de valor de string.
RD network.dns.recursion_desired Convertido para booleano de um valor de string.
rcpt_to network.email.reply_to, network.email.to O primeiro endereço de e-mail é mapeado para "reply_to", e os demais são adicionados à matriz "to".
referrer network.http.referral_url Mapeamento direto.
resp_domain target.domain.name Mapeamento direto.
resp_hostname target.hostname, target.asset.hostname Mapeamento direto.
resp_ip_bytes network.received_bytes Convertido para inteiro sem sinal de valor de string.
resp_mime_types target.file.mime_type Mapeamento direto.
result security_result.description Mapeamento direto.
result_code security_result.action_details Mapeamento direto.
rtt network.session_duration.seconds Convertido para número inteiro de valor de string.
security_result security_result Mesclado com o objeto security_result atual.
sensor_uid observer.asset_id Formatado como "Sensor_UID:%{sensor_uid}".
servidor target.application Mapeamento direto.
server_name network.tls.client.server_name Mapeamento direto.
serviço target.application Mapeamento direto.
src_display_name principal.hostname Mapeamento direto.
src_luid principal.asset.product_object_id Mapeamento direto.
status security_result.summary Mapeamento direto.
status_code network.http.response_code Convertido para número inteiro de valor de string.
status_msg security_result.summary Mapeamento direto.
subject network.email.subject Mapeamento direto.
sucesso security_result.action Mapeado como "ALLOW" se for verdadeiro e "BLOCK" se for falso.
TC network.dns.truncated Convertido para booleano de um valor de string.
trans_id network.dhcp.transaction_id, network.dns.id Convertido para inteiro sem sinal de valor de string.
ts metadata.event_timestamp Convertido para carimbo de data/hora de vários formatos.
uid metadata.product_log_id Mapeamento direto.
uri target.url Mapeamento direto.
user_agent network.http.user_agent Mapeamento direto.
nome de usuário principal.user.userid Mapeamento direto.
version network.tls.version, principal.platform_version Mapeamento direto.
version_num network.tls.version_protocol Mapeamento direto.
metadata.event_type Determinado pela lógica do analisador com base nos tipos de registro e metadados.
metadata.vendor_name Valor codificado: "Vectra".
metadata.product_name Valor codificado: "Vectra Stream".

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.