Recolha registos do Vectra Detect

Suportado em:

Este documento explica como carregar registos do Vectra Detect para o Google Security Operations através do Bindplane. O analisador transforma os registos dos formatos SYSLOG, JSON e CEF num modelo de dados unificado (UDM). Primeiro, normaliza os dados removendo carateres e campos desnecessários. Em seguida, usa padrões grok para extrair informações de diferentes formatos de registos e, por último, mapeia os campos extraídos para os atributos da UDM correspondentes.

Antes de começar

Certifique-se de que cumpre os seguintes pré-requisitos:

  • Uma instância do Google SecOps
  • Um anfitrião Windows 2016 ou posterior, ou Linux com systemd
  • Se estiver a ser executado através de um proxy, certifique-se de que as portas da firewall estão abertas de acordo com os requisitos do agente BindPlane
  • Acesso privilegiado à IU do Vectra

Obtenha o ficheiro de autenticação de carregamento do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Agentes de recolha.
  3. Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o Bindplane vai ser instalado.

Obtenha o ID de cliente do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Perfil.
  3. Copie e guarde o ID do cliente da secção Detalhes da organização.

Instale o agente do Bindplane

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

Instalação de janelas

  1. Abra a Linha de comandos ou o PowerShell como administrador.
  2. Execute o seguinte 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 raiz ou sudo.
  2. Execute o seguinte comando:

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

Recursos de instalação adicionais

Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps

  1. Aceda ao ficheiro de configuração:

    1. Localize o ficheiro config.yaml. Normalmente, encontra-se no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    2. Abra o ficheiro com um editor de texto (por exemplo, nano, vi ou Bloco de notas).
  2. Edite o ficheiro 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
    

Reinicie o agente do Bindplane para aplicar as alterações

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

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar o agente do Bindplane no Windows, pode usar a consola Serviços ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configure o Vectra Detect para enviar Syslog

  1. Inicie sessão na IU do Vectra Detect.
  2. Aceda a Definições > Notificação.
  3. Aceda à secção Syslog.
  4. Clique em Editar para adicionar ou editar a configuração do Syslog.
    • Destino: introduza o endereço IP do agente Bindplane.
    • Porta: introduza o número da porta do agente do Bindplane.
    • Protocolo: selecione UDP ou TCP com base na configuração real do agente Bindplane.
    • Formato: selecione JSON.
    • Tipos de registos: selecione os registos que quer enviar para o Google SecOps.
    • Selecione a caixa de verificação Incluir detalhes melhorados.
  5. No lado direito, pode ver três botões de comutação para configuração adicional:
    • Incluir deteções triadas: quando esta opção está desativada, as mensagens syslog não são enviadas quando são criadas ou atualizadas deteções triadas.
    • Incluir deteções na categoria Informações: quando esta opção está desativada, as mensagens syslog não são enviadas quando são criadas ou atualizadas deteções na categoria Informações.
    • Incluir diminuições da pontuação do anfitrião/conta: quando esta opção está desativada, as mensagens syslog não são enviadas quando as pontuações de ameaça e certeza estão a diminuir e/ou permanecem iguais.
  6. Clique em Guardar.
  7. Clique em Testar para testar a configuração.

Tabela de mapeamento da UDM

Campo de registo Mapeamento do UDM Lógica
ação read_only_udm.security_result.action Valor retirado do campo "action" se [result] for "true" ou "failure" nos eventos de auditoria.
categoria read_only_udm.security_result.category_details Valor retirado do campo "category".
certeza read_only_udm.security_result.confidence Se [certeza] estiver entre 0 e 35, defina como "LOW_CONFIDENCE". Se [certeza] estiver entre 35 e 70, defina como "MEDIUM_CONFIDENCE". Se [certeza] estiver entre 70 e 100, defina como "HIGH_CONFIDENCE".
dd_bytes_rcvd read_only_udm.network.received_bytes Valor retirado do campo "dd_bytes_rcvd".
dd_bytes_sent read_only_udm.network.sent_bytes Valor retirado do campo "dd_bytes_sent".
dd_dst_dns read_only_udm.target.hostname Valor retirado do campo "dd_dst_dns".
dd_dst_dns read_only_udm.target.asset.hostname Valor retirado do campo "dd_dst_dns".
dd_dst_ip read_only_udm.target.asset.ip Valor retirado do campo "dd_dst_ip".
dd_dst_ip read_only_udm.target.ip Valor retirado do campo "dd_dst_ip".
dd_dst_port read_only_udm.target.port Valor retirado do campo "dd_dst_port".
detection_id read_only_udm.metadata.product_log_id Valor retirado do campo "detection_id".
detection_profile.name read_only_udm.security_result.detection_fields A chave é "detection_profile name" e o valor é retirado do campo "detection_profile.name".
detection_profile.scoringDetections read_only_udm.security_result.detection_fields A chave é "detectionprofile scoringDetections{index}", o valor é retirado 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 é retirado do campo "detection_profile.vname".
dest_ip read_only_udm.target.asset.ip Valor retirado do campo "dest_ip" em eventos de campanhas.
dest_ip read_only_udm.target.ip Valor retirado do campo "dest_ip" em eventos de campanhas.
dest_name read_only_udm.target.asset.hostname Valor retirado do campo "dest_name" nos eventos de campanhas.
dest_name read_only_udm.target.hostname Valor retirado do campo "dest_name" nos eventos de campanhas.
d_type read_only_udm.additional.fields A chave é "d_type" e o valor é retirado do campo "d_type".
d_type_vname read_only_udm.additional.fields A chave é "d_type_vname" e o valor é retirado do campo "d_type_vname".
dvchost read_only_udm.observer.hostname Valor retirado do campo "dvchost".
dvchost read_only_udm.principal.asset.hostname Valor retirado do campo "dvchost" se [host_name] estiver vazio nos eventos HOST.
dvchost read_only_udm.principal.hostname Valor retirado do campo "dvchost" se [host_name] estiver vazio nos eventos HOST.
headend_addr read_only_udm.observer.ip Valor retirado do campo "headend_addr".
headend_addr read_only_udm.principal.asset.ip Valor retirado do campo "headend_addr" se [host_ip] estiver vazio nos eventos de deteções.
headend_addr read_only_udm.principal.ip Valor retirado do campo "headend_addr" se [host_ip] estiver vazio nos eventos de deteções.
href read_only_udm.target.url Valor retirado do campo "href".
host_id read_only_udm.target.asset_id O valor é "VectraAI.DETECT:{host_id}" em eventos HOST.
host_ip read_only_udm.principal.asset.ip Valor retirado do campo "host_ip" nos eventos HOST e Detections.
host_ip read_only_udm.principal.ip Valor retirado do campo "host_ip" nos eventos HOST e Detections.
host_name read_only_udm.principal.asset.hostname Valor retirado do campo "host_name".
host_name read_only_udm.principal.hostname Valor retirado do campo "host_name".
msg_data read_only_udm.security_result.summary Valor retirado do campo "msg_data" nos eventos de auditoria e estado.
quadrante read_only_udm.security_result.priority_details Valor retirado 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 Eventos de auditoria.
result read_only_udm.security_result.detection_fields A chave é "result" e o valor é retirado do campo "result" em Eventos de auditoria e estado.
função read_only_udm.target.user.attribute.roles.name Valor retirado 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 "BAIXO". Se [threat] estiver entre 40 e 60, defina como "MÉDIO". Se [threat] estiver entre 60 e 80, defina como "ALTO". Se [threat] estiver entre 80 e 100, defina como "CRÍTICO".
gravidade read_only_udm.security_result.severity_details Valor retirado do campo "severity".
source_ip read_only_udm.principal.asset.ip Valor retirado do campo "source_ip" em Eventos de auditoria e de funcionamento.
source_ip read_only_udm.principal.ip Valor retirado do campo "source_ip" em Eventos de auditoria e de funcionamento.
src read_only_udm.principal.asset.ip Valor retirado do campo "src" nos eventos CEF.
src read_only_udm.principal.ip Valor retirado do campo "src" nos eventos CEF.
src_ip read_only_udm.principal.asset.ip Valor retirado do campo "src_ip" nos eventos de campanhas.
src_ip read_only_udm.principal.ip Valor retirado do campo "src_ip" nos eventos de campanhas.
src_name read_only_udm.principal.asset.hostname Valor retirado do campo "src_name" se [host_name] e [dvchost] estiverem vazios.
src_name read_only_udm.principal.hostname Valor retirado 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 "BAIXO". Se [threat] estiver entre 40 e 60, defina como "MÉDIO". Se [threat] estiver entre 60 e 80, defina como "ALTO". Se [threat] estiver entre 80 e 100, defina como "CRÍTICO".
triados read_only_udm.additional.fields A chave é "triaged" e o valor é retirado do campo "triaged".
escrever read_only_udm.metadata.product_event_type Valor retirado do campo "type" em Eventos de saúde.
utilizador read_only_udm.target.user.userid Valor retirado do campo "user" nos eventos de auditoria.
vectra_timestamp read_only_udm.metadata.event_timestamp Valor retirado do campo "vectra_timestamp".
versão read_only_udm.metadata.product_version Valor retirado do campo "version".
read_only_udm.metadata.event_type Definido como "USER_LOGIN" se [msg_data] contiver "iniciar sessão" e [user] não estiver vazio em Eventos de auditoria.
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 Detections Events.
read_only_udm.metadata.event_type Definido como "STATUS_UPDATE" se [principal_present] for verdadeiro nos eventos de deteções.
read_only_udm.metadata.event_type Definido como "NETWORK_CONNECTION" se [principal_present] for verdadeiro e [target_present] for verdadeiro em Detections Events.
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 Definido como "VECTRA_DETECT".
read_only_udm.metadata.vendor_name Definido como "Vectra.AI".
read_only_udm.metadata.product_name Definido como "DETECT".
read_only_udm.network.application_protocol Definido 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 Detections Events.
read_only_udm.network.http.method Definido como "METHOD_OTHER".
read_only_udm.extensions.auth.type Definido como "AUTHTYPE_UNSPECIFIED" se [msg_data] contiver "iniciar sessão" em Eventos de auditoria.
is_alert Definido como "true" se [triaged] for verdadeiro.

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