Coletar registros do Vectra Detect

Compatível com:

Este documento explica como ingerir registros do Vectra Detect no Google Security Operations usando o Bindplane. O analisador transforma os registros dos formatos SYSLOG, JSON e CEF em um modelo de dados unificado (UDM). Primeiro, ele normaliza os dados removendo caracteres e campos desnecessários. Depois, usa padrões grok para extrair informações de diferentes formatos de registro e, por fim, mapeia os campos extraídos para os atributos correspondentes da UDM.

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 estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente 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_DETECT'
        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 Detect para enviar Syslog

  1. Faça login na interface do Vectra Detect.
  2. Acesse Configurações > Notificação.
  3. Acesse a seção Syslog.
  4. Clique em Editar para adicionar ou editar a configuração do Syslog.
    • 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.
    • Marque a caixa de seleção Incluir detalhes avançados.
  5. No lado direito, você encontra três botões de alternância para configuração adicional:
    • Incluir detecções triadas: quando desativada, as mensagens do syslog não são enviadas quando detecções triadas são criadas ou atualizadas.
    • Incluir detecções na categoria "Informações": quando desativada, as mensagens do syslog não são enviadas quando detecções na categoria "Informações" são criadas ou atualizadas.
    • Incluir diminuições na pontuação do host/da conta: quando desativada, as mensagens do syslog não são enviadas quando as pontuações de ameaça e certeza estão diminuindo e/ou permanecem as mesmas.
  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
ação read_only_udm.security_result.action Valor extraído do campo "action" se [result] for "true" ou "failure" em eventos de auditoria.
categoria read_only_udm.security_result.category_details Valor extraído do campo "category".
certeza read_only_udm.security_result.confidence Se [certainty] estiver entre 0 e 35, defina como "LOW_CONFIDENCE". Se [certeza] estiver entre 35 e 70, defina como "MEDIUM_CONFIDENCE". Se [certainty] estiver entre 70 e 100, defina como "HIGH_CONFIDENCE".
dd_bytes_rcvd read_only_udm.network.received_bytes Valor extraído do campo "dd_bytes_rcvd".
dd_bytes_sent read_only_udm.network.sent_bytes Valor extraído do campo "dd_bytes_sent".
dd_dst_dns read_only_udm.target.hostname Valor extraído do campo "dd_dst_dns".
dd_dst_dns read_only_udm.target.asset.hostname Valor extraído do campo "dd_dst_dns".
dd_dst_ip read_only_udm.target.asset.ip Valor extraído do campo "dd_dst_ip".
dd_dst_ip read_only_udm.target.ip Valor extraído do campo "dd_dst_ip".
dd_dst_port read_only_udm.target.port Valor extraído do campo "dd_dst_port".
detection_id read_only_udm.metadata.product_log_id Valor extraído do campo "detection_id".
detection_profile.name read_only_udm.security_result.detection_fields A chave é "detection_profile name", e o valor é extraído do campo "detection_profile.name".
detection_profile.scoringDetections read_only_udm.security_result.detection_fields A chave é "detectionprofile scoringDetections{index}", e o valor é extraído de cada elemento na matriz "detection_profile.scoringDetections".
detection_profile.vname read_only_udm.security_result.detection_fields A chave é "detection_profile vname", e o valor é extraído do campo "detection_profile.vname".
dest_ip read_only_udm.target.asset.ip Valor extraído do campo "dest_ip" em "Eventos de campanha".
dest_ip read_only_udm.target.ip Valor extraído do campo "dest_ip" em "Eventos de campanha".
dest_name read_only_udm.target.asset.hostname Valor extraído do campo "dest_name" em "Eventos de campanha".
dest_name read_only_udm.target.hostname Valor extraído do campo "dest_name" em "Eventos de campanha".
d_type read_only_udm.additional.fields A chave é "d_type", e o valor é extraído do campo "d_type".
d_type_vname read_only_udm.additional.fields A chave é "d_type_vname", e o valor é extraído do campo "d_type_vname".
dvchost read_only_udm.observer.hostname Valor extraído do campo "dvchost".
dvchost read_only_udm.principal.asset.hostname Valor extraído do campo "dvchost" se [host_name] estiver vazio nos eventos HOST.
dvchost read_only_udm.principal.hostname Valor extraído do campo "dvchost" se [host_name] estiver vazio nos eventos HOST.
headend_addr read_only_udm.observer.ip Valor extraído do campo "headend_addr".
headend_addr read_only_udm.principal.asset.ip Valor extraído do campo "headend_addr" se [host_ip] estiver vazio nos eventos de detecção.
headend_addr read_only_udm.principal.ip Valor extraído do campo "headend_addr" se [host_ip] estiver vazio nos eventos de detecção.
href read_only_udm.target.url Valor extraído do campo "href".
host_id read_only_udm.target.asset_id O valor é "VectraAI.DETECT:{host_id}" em eventos de HOST.
host_ip read_only_udm.principal.asset.ip Valor extraído do campo "host_ip" nos eventos HOST e Detections.
host_ip read_only_udm.principal.ip Valor extraído do campo "host_ip" nos eventos HOST e Detections.
host_name read_only_udm.principal.asset.hostname Valor extraído do campo "host_name".
host_name read_only_udm.principal.hostname Valor extraído do campo "host_name".
msg_data read_only_udm.security_result.summary Valor extraído do campo "msg_data" em "Eventos de auditoria e integridade".
quadrante read_only_udm.security_result.priority_details Valor extraído do campo "quadrant".
result read_only_udm.security_result.action Se [result] for "true", defina como "ALLOW". Se [result] for "failure", defina como "BLOCK" em "Audit Events".
result read_only_udm.security_result.detection_fields A chave é "result", e o valor é extraído do campo "result" em "Eventos de auditoria e integridade".
papel read_only_udm.target.user.attribute.roles.name Valor extraído do campo "role" nos eventos de auditoria.
gravidade, read_only_udm.security_result.severity Se [threat] estiver entre 0 e 20, defina como "INFORMATIONAL". Se [threat] estiver entre 20 e 40, defina como "LOW". Se [threat] estiver entre 40 e 60, defina como "MEDIUM". Se [threat] estiver entre 60 e 80, defina como "ALTO". Se [threat] estiver entre 80 e 100, defina como "CRITICAL".
gravidade, read_only_udm.security_result.severity_details Valor extraído do campo "gravidade".
source_ip read_only_udm.principal.asset.ip Valor extraído do campo "source_ip" em "Eventos de auditoria e integridade".
source_ip read_only_udm.principal.ip Valor extraído do campo "source_ip" em "Eventos de auditoria e integridade".
src read_only_udm.principal.asset.ip Valor extraído do campo "src" nos eventos CEF.
src read_only_udm.principal.ip Valor extraído do campo "src" nos eventos CEF.
src_ip read_only_udm.principal.asset.ip Valor extraído do campo "src_ip" em "Eventos de campanhas".
src_ip read_only_udm.principal.ip Valor extraído do campo "src_ip" em "Eventos de campanhas".
src_name read_only_udm.principal.asset.hostname Valor extraído do campo "src_name" se [host_name] e [dvchost] estiverem vazios.
src_name read_only_udm.principal.hostname Valor extraído do campo "src_name" se [host_name] e [dvchost] estiverem vazios.
ameaça read_only_udm.security_result.severity Se [threat] estiver entre 0 e 20, defina como "INFORMATIONAL". Se [threat] estiver entre 20 e 40, defina como "LOW". Se [threat] estiver entre 40 e 60, defina como "MEDIUM". Se [threat] estiver entre 60 e 80, defina como "ALTO". Se [threat] estiver entre 80 e 100, defina como "CRITICAL".
triagem realizada read_only_udm.additional.fields A chave é "triaged" e o valor é extraído do campo "triaged".
tipo read_only_udm.metadata.product_event_type Valor extraído do campo "type" em "Eventos de saúde".
usuário read_only_udm.target.user.userid Valor extraído do campo "user" em "Eventos de auditoria".
vectra_timestamp read_only_udm.metadata.event_timestamp Valor extraído do campo "vectra_timestamp".
version read_only_udm.metadata.product_version Valor extraído do campo "version".
read_only_udm.metadata.event_type Definido como "USER_LOGIN" se [msg_data] contiver "log in" e [user] não estiver vazio em Audit Events.
read_only_udm.metadata.event_type Definido como "SCAN_HOST" em eventos HOST.
read_only_udm.metadata.event_type Definido como "NETWORK_HTTP" se [host_ip] não estiver vazio, [principal_present] for verdadeiro e [target_present] for verdadeiro em eventos de detecção.
read_only_udm.metadata.event_type Definido como "STATUS_UPDATE" se [principal_present] for verdadeiro em eventos de detecção.
read_only_udm.metadata.event_type Definido como "NETWORK_CONNECTION" se [principal_present] for verdadeiro e [target_present] for verdadeiro em eventos de detecção.
read_only_udm.metadata.event_type Definido como "NETWORK_CONNECTION" se [event_type] for "GENERIC_EVENT", [principal_present] for verdadeiro e [target_present] for verdadeiro.
read_only_udm.metadata.event_type Definido como "STATUS_UPDATE" se [event_type] for "GENERIC_EVENT" e [principal_present] for verdadeiro.
read_only_udm.metadata.log_type Defina como "VECTRA_DETECT".
read_only_udm.metadata.vendor_name Defina como "Vectra.AI".
read_only_udm.metadata.product_name Defina como "DETECT".
read_only_udm.network.application_protocol Defina como "HTTP" se [dd_dst_port] for 80.
read_only_udm.network.application_protocol Definido como "HTTPS" se [dd_dst_port] for 443.
read_only_udm.network.application_protocol Definido como "UNKNOWN_APPLICATION_PROTOCOL" se [principal_present] for verdadeiro e [target_present] for verdadeiro em eventos de detecção.
read_only_udm.network.http.method Defina como "METHOD_OTHER".
read_only_udm.extensions.auth.type Definido como "AUTHTYPE_UNSPECIFIED" se [msg_data] contiver "log in" em "Audit Events".
is_alert Definido como "true" se [triaged] for verdadeiro.

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