Coletar registros do Trellix ePO
Este documento explica como ingerir registros do Trellix (antigo McAfee) ePolicy (ePO) Orchestrator no Google Security Operations usando o Bindplane. O analisador usa padrões grok e filtragem XML para extrair campos de registros formatados em XML e CSV, normaliza endereços IP e MAC e mapeia os dados extraídos para o modelo de dados unificado (UDM, na sigla em inglês). O analisador também processa tipos de eventos e ações de segurança específicos, definindo os campos UDM adequados com base no conteúdo do registro.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Instância do Google SecOps
- Windows 2016 ou mais recente ou um host Linux com
systemd
- Se estiver executando por trás de um proxy, as portas do firewall estarão abertas.
- Acesso privilegiado ao McAfee EPO
Receber o arquivo de autenticação de ingestão do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- 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 do cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
- 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 sistema operacional Windows ou Linux de acordo com as instruções a seguir.
Instalação do Windows
- Abra o Prompt de Comando ou o PowerShell como administrador.
Execute este 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 root ou sudo.
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
Para mais opções de instalação, consulte o guia de instalação.
Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps
- Acesse o arquivo de configuração:
- 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. - Abra o arquivo usando um editor de texto (por exemplo,
nano
,vi
ou Bloco de Notas).
- Localize o arquivo
Edite o arquivo
config.yaml
da seguinte forma:receivers: tcplog: # Replace the port and IP address as required listen_address: "0.0.0.0:6514" 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 ingestion_labels: log_type: 'MCAFEE_EPO' raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog 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 servidor Syslog do McAfee ePO (Trellix)
- Faça login no McAfee EPO(Trellix).
- Acesse Menu > Configuração > Servidores registrados.
- Clique em Novo servidor.
- Selecione Servidor Syslog, especifique um nome exclusivo e clique em Próxima.
- Informe os seguintes detalhes de configuração:
- Nome do servidor: insira o endereço IP do agente do Bindplane.
- Número da porta TCP: insira a porta TCP do agente do Bindplane (o padrão é
6514
). - Ativar encaminhamento de eventos: selecione para ativar o encaminhamento de eventos do Manipulador de agentes para este servidor syslog.
- Clique em Testar conexão para verificar a conexão com o Bindplane.
- Clique em Salvar.
Tabela de mapeamento da UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
AgentGUID |
principal.asset.id |
O GUID do agente é mapeado diretamente para o ID do recurso na UDM. |
Analyzer |
idm.read_only_udm.security_result.detection_fields.value |
O valor do analisador é mapeado como um campo de detecção com a chave "DetectingProductID". |
AnalyzerContentCreationDate |
idm.read_only_udm.additional.fields.value.string_value |
A data de criação do conteúdo do analisador é mapeada para outros campos com a chave "Data de criação do conteúdo do analisador". |
AnalyzerContentVersion |
idm.read_only_udm.additional.fields.value.string_value |
A versão do conteúdo do analisador é mapeada para outros campos com a chave "Analyzer Content Version". |
AnalyzerDATVersion |
idm.read_only_udm.security_result.detection_fields.value |
A versão do DAT do analisador é mapeada como um campo de detecção com a chave "datversion". |
AnalyzerDetectionMethod |
idm.read_only_udm.security_result.detection_fields.value |
O método de detecção do analisador é mapeado como um campo de detecção com a chave "scantype". |
AnalyzerEngineVersion |
idm.read_only_udm.security_result.detection_fields.value |
A versão do mecanismo do analisador é mapeada como um campo de detecção com a chave "DetectingAgentVersion". |
AnalyzerHostName |
idm.read_only_udm.intermediary.hostname |
O nome do host do analisador é mapeado para o nome do host intermediário. |
AnalyzerName |
idm.read_only_udm.security_result.detection_fields.value |
O nome do analisador é mapeado como um campo de detecção com a chave "productname". |
AnalyzerRuleID |
idm.read_only_udm.additional.fields.value.string_value |
O ID da regra do analisador é mapeado para outros campos com a chave "ID da regra do analisador". |
AnalyzerRuleName |
idm.read_only_udm.security_result.rule_name |
O nome da regra do analisador é mapeado diretamente para o nome da regra do resultado de segurança. |
AnalyzerVersion |
idm.read_only_udm.security_result.detection_fields.value |
A versão do analisador é mapeada como um campo de detecção com a chave "productversion". |
BladeName |
idm.read_only_udm.additional.fields.value.string_value |
O nome do blade é mapeado para campos extras com a chave "BladeName". |
DetectedUTC |
metadata.event_timestamp |
O horário UTC detectado é analisado e mapeado para o carimbo de data/hora do evento nos metadados. |
DurationBeforeDetection |
idm.read_only_udm.additional.fields.value.string_value |
A duração antes da detecção é mapeada para outros campos com a chave "DurationBeforeDetection". |
EventID |
idm.read_only_udm.security_result.rule_id |
O ID do evento é mapeado para o ID da regra de resultado de segurança. |
GMTTime |
metadata.event_timestamp |
A hora GMT é analisada e mapeada para o carimbo de data/hora do evento nos metadados. |
IPAddress |
principal.ip |
O endereço IP está mapeado diretamente para o IP principal. |
MachineName |
principal.hostname |
O nome da máquina é mapeado diretamente para o nome do host principal. |
NaturalLangDescription |
idm.read_only_udm.additional.fields.value.string_value |
A descrição em linguagem natural é mapeada para outros campos com a chave "NaturalLangDescription". |
OSName |
principal.platform |
O nome do SO é normalizado e mapeado para a plataforma principal (WINDOWS, MAC, LINUX ou UNKNOWN_PLATFORM). |
ProductName |
metadata.product_name |
O nome do produto é associado diretamente ao nome do produto nos metadados. |
ProductVersion |
metadata.product_version |
A versão do produto é mapeada diretamente para a versão do produto nos metadados. |
RawMACAddress |
principal.mac |
O endereço MAC bruto é analisado e mapeado para o MAC principal. |
Severity |
idm.read_only_udm.security_result.severity |
A gravidade é mapeada para a gravidade do resultado de segurança (ALTA, MÉDIA ou BAIXA). |
SourceIPV4 |
idm.read_only_udm.src.ip |
O endereço IPv4 de origem é mapeado para o IP de origem. |
SourceProcessName |
principal.application |
O nome do processo de origem é mapeado diretamente para o aplicativo principal. |
SourceUserName |
principal.user.user_display_name |
O nome de usuário de origem é mapeado diretamente para o nome de exibição do usuário principal. |
TargetFileName |
target.process.file.full_path |
O nome do arquivo de destino é mapeado para o caminho completo do arquivo de destino. |
TargetHostName |
target.hostname |
O nome do host de destino é mapeado para o nome do host de destino. |
TargetPort |
target.port |
A porta de destino é mapeada para a porta de destino. |
TargetProtocol |
network.ip_protocol |
O protocolo de destino é mapeado para o protocolo IP de rede. |
TargetUserName |
target.user.user_display_name |
O nome de usuário de destino é mapeado para o nome de exibição do usuário de destino. |
ThreatActionTaken |
security_result.action_details |
A ação contra ameaças realizada é mapeada para os detalhes da ação do resultado de segurança. |
ThreatCategory |
security_result.category_details |
A categoria de ameaça é mapeada para os detalhes da categoria de resultados de segurança. |
ThreatEventID |
security_result.rule_id |
O ID do evento de ameaça é mapeado para o ID da regra de resultado de segurança. |
ThreatHandled |
security_result.detection_fields.value |
O status de ameaça processada é mapeado como um campo de detecção com a chave "ThreatHandled". |
ThreatName |
security_result.threat_name |
O nome da ameaça é mapeado diretamente para o nome da ameaça do resultado de segurança. |
ThreatSeverity |
security_result.severity |
A gravidade da ameaça é mapeada para a gravidade do resultado de segurança (ALTA, MÉDIA ou BAIXA). |
ThreatType |
security_result.threat_id |
O tipo de ameaça é mapeado para o ID da ameaça do resultado de segurança. |
UserName |
principal.user.user_display_name |
O nome de usuário é mapeado para o nome de exibição do usuário principal. |
collection_time |
metadata.collected_timestamp |
O horário de coleta é mapeado para o carimbo de data/hora coletado nos metadados. |
log_type |
metadata.log_type |
O tipo de registro é mapeado diretamente para o tipo de registro de metadados. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.