Recolha registos do Vectra Detect
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
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Agentes de recolha.
- 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
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Perfil.
- 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
- Abra a Linha de comandos ou o PowerShell como administrador.
Execute o seguinte comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalação do Linux
- Abra um terminal com privilégios de raiz ou sudo.
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
- Para ver opções de instalação adicionais, consulte este guia de instalação.
Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps
Aceda ao ficheiro de configuração:
- 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. - Abra o ficheiro com um editor de texto (por exemplo,
nano,viou Bloco de notas).
- Localize o ficheiro
Edite o ficheiro
config.yamlda 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 de cliente real. - Atualize
/path/to/ingestion-authentication-file.jsonpara o caminho onde o ficheiro de autenticação foi guardado na secção Obtenha o ficheiro de autenticação de carregamento do Google SecOps.
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-agentPara 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
- Inicie sessão na IU do Vectra Detect.
- Aceda a Definições > Notificação.
- Aceda à secção Syslog.
- 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.
- 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.
- Clique em Guardar.
- 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.