Recolha registos de streams do Vectra

Suportado em:

Este documento explica como carregar registos do Vectra Stream para o Google Security Operations através do Bindplane. O analisador extrai pares de chave/valor dos registos da stream do Vectra, normaliza vários campos num modelo de dados unificado (UDM) e mapeia os tipos de registos para tipos de eventos UDM específicos. Processa registos formatados em JSON e syslog, rejeitando mensagens com formato incorreto e enriquecendo os dados com contexto adicional com base em valores de campos específicos.

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 executar o agente 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_STREAM'
        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 Stream para enviar Syslog

  1. Inicie sessão na IU do Vectra (cérebro).
  2. Aceda a Definições > Notificações.
  3. Aceda à secção Syslog.
  4. Clique em Editar para adicionar ou editar a configuração do Syslog.
  5. Forneça os seguintes detalhes de configuração:
    • 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.
  6. Clique em Guardar.
  7. Clique em Testar para testar a configuração.

Tabela de mapeamento da UDM

Campo de registo Mapeamento da UDM Lógica
AA network.dns.authoritative Convertido para booleano a partir do valor de string.
account_session_id network.session_id Mapeamento direto.
account_session_time network.session_duration Convertido em indicação de tempo a partir 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 em indicação de tempo a partir de UNIX ou UNIX_MS, consoante o formato.
certificate.not_valid_before network.tls.client.certificate.not_before Convertido em indicação de tempo a partir de UNIX ou UNIX_MS, consoante o 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.
cifra 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 campos adicionais 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.
bolacha 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.
duração network.session_duration.seconds Convertido em número inteiro a partir do valor de string.
ponto final principal.application Mapeamento direto.
criado network.tls.established Convertido para booleano a partir do valor de string.
anfitrião target.hostname, target.asset.hostname Nome do anfitrião extraído do campo "host".
host_key additional.fields.value.string_value Adicionado a campos adicionais com a chave "host_key".
host_key_alg additional.fields.value.string_value Adicionado a campos adicionais com a chave "host_key_alg".
host_multihomed additional.fields.value.string_value Adicionado a campos adicionais com a chave "host_multihomed" e o valor "subnet %{host_multihomed}".
hostname target.hostname, target.asset.hostname Mapeamento direto.
id.orig_h principal.ip Mapeamento direto.
id.orig_p principal.port Convertido em número inteiro a partir do valor de string.
id.resp_h target.ip, target.asset.ip Mapeamento direto.
id.resp_p target.port Convertido em número inteiro a partir do valor de string.
emissor 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 campos adicionais com a chave "kex_alg".
lease_time network.dhcp.lease_time_seconds Convertido para número inteiro sem sinal a partir do valor de string.
log_type metadata.log_type Mapeamento direto.
mac principal.mac Mapeamento direto.
mac_alg additional.fields.value.string_value Adicionado a campos adicionais 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 número inteiro sem sinal a partir do valor de string.
orig_sluid principal.hostname Mapeamento direto.
caminho target.file.full_path Mapeamento direto.
proto network.ip_protocol Mapeado para o nome do protocolo IP com base no valor numérico.
com proxy principal.ip Se o valor for um endereço IP, é adicionado à matriz principal.ip.
qclass network.dns.questions.class Convertido para número inteiro sem sinal a partir do 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 número inteiro sem sinal a partir do valor de string.
RA network.dns.recursion_available Convertido para booleano a partir do valor de string.
radius_type metadata.description Mapeamento direto.
rcode network.dns.response_code Convertido para número inteiro sem sinal a partir do valor de string.
RD network.dns.recursion_desired Convertido para booleano a partir do valor de string.
rcpt_to network.email.reply_to, network.email.to O primeiro endereço de email é mapeado para reply_to. Os restantes são adicionados à matriz to.
referenciador 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 número inteiro sem sinal a partir do 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 em número inteiro a partir do valor de string.
security_result security_result Unido ao objeto security_result existente.
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.
estado security_result.summary Mapeamento direto.
status_code network.http.response_code Convertido em número inteiro a partir do valor de string.
status_msg security_result.summary Mapeamento direto.
assunto network.email.subject Mapeamento direto.
êxito security_result.action Mapeado para "ALLOW" se for verdadeiro e "BLOCK" se for falso.
TC network.dns.truncated Convertido para booleano a partir do valor de string.
trans_id network.dhcp.transaction_id, network.dns.id Convertido para número inteiro sem sinal a partir do valor de string.
ts metadata.event_timestamp Convertido para data/hora a partir 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 utilizador principal.user.userid Mapeamento direto.
versão 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 registos 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 da Google SecOps.