Coletar registros do Symantec Endpoint Protection
Este documento explica como ingerir registros do Symantec Endpoint Protection no
Google Security Operations usando o Bindplane. O analisador processa registros no formato SYSLOG ou KV, primeiro extraindo carimbos de data/hora de vários formatos nos dados de registro.
Em seguida, ele usa um arquivo de configuração separado (sep_pt2.include
) para realizar
mais análises e estruturação dos eventos de registro, garantindo o sucesso do
processamento somente se a extração inicial do carimbo de data/hora for bem-sucedida.
Antes de começar
Verifique se você atende aos seguintes pré-requisitos:
- Instância do Google SecOps
- Host Windows 2016 ou mais recente ou Linux com systemd
- Se estiver executando por trás de um proxy, as portas do firewall estarão abertas.
- Acesso privilegiado à plataforma Symantec Endpoint Protection.
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
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: 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: '/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: 'CES' raw_log_field: body 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 Syslog no Symantec Endpoint Protection
- Faça login na UI da Web do Symantec Endpoint Protection Manager.
- Clique no ícone Administrador.
- Localize a seção Ver servidores e clique em Servidores.
- Clique em Site local > Configurar registro externo.
- Marque a caixa de seleção Ativar a transmissão de registros para um servidor Syslog.
- Informe os seguintes detalhes de configuração:
- Servidor Syslog: insira o endereço IP do Bindplane.
- Porta de destino UDP: insira o número da porta do Bindplane (por exemplo,
514
para UDP). - Instalação de registro: insira Local6.
- Marque a caixa de seleção Registros de auditoria.
- Marque a caixa de seleção Registros de segurança.
- Marque a caixa de seleção Riscos.
- Clique em OK.
Tabela de mapeamento da UDM
Campo de registro | Mapeamento da UDM | Lógica |
---|---|---|
Ação | security_result.action | O valor é extraído do campo Action no registro bruto e mapeado para uma ação da UDM. |
Tipo de ação | security_result.action_details | O valor é extraído do campo Action Type no registro bruto. |
Administrador | ||
Motivo da permissão do aplicativo | security_result.action_details | O valor é extraído do campo Allowed application reason no registro bruto. |
Aplicativo | principal.process.command_line | O valor é extraído do campo Application no registro bruto. |
Hash do aplicativo | target.file.sha256 | O valor é extraído do campo Application hash no registro bruto. |
Nome do aplicativo | target.application | O valor é extraído do campo Application name no registro bruto. |
Tipo de aplicativo | target.resource.attribute.labels.value | O valor é extraído do campo Application type no registro bruto. A chave está fixada no código como Application Type . |
Versão do aplicativo | target.application.version | O valor é extraído do campo Application version no registro bruto. |
Iniciar | ||
Horário de início | extensions.vulns.vulnerabilities.scan_start_time | O valor é extraído do campo Begin Time no registro bruto. |
Início: | extensions.vulns.vulnerabilities.scan_start_time | O valor é extraído do campo Begin: no registro bruto. |
Categoria | principal.resource.attribute.labels.value | O valor é extraído do campo Category no registro bruto. A chave está fixada no código como Category . |
Conjunto de categorias | security_result.category | O valor é extraído do campo Category set no registro bruto e mapeado para uma categoria da UDM. |
Tipo de categoria | security_result.category_details | O valor é extraído do campo Category type no registro bruto. |
ID da assinatura do CIDS | ||
String de assinatura do CIDS. | security_result.summary | O valor é extraído do campo CIDS Signature string no registro bruto. |
CIDS Signature SubID | ||
Política de cliente | ||
Comando | ||
Computador | target.hostname | O valor é extraído do campo Computer no registro bruto. |
Nome do computador | principal.hostname | O valor é extraído do campo Computer name no registro bruto. |
Confiança | security_result.confidence_details | O valor é extraído do campo Confidence no registro bruto. |
dados | ||
Descrição | security_result.action_details | O valor é extraído do campo Description no registro bruto. |
Descrição: | security_result.action_details | O valor é extraído do campo Description: no registro bruto. |
Pontuação de detecção | ||
Envios de detecção: não | ||
Tipo de detecção | security_result.summary | O valor é extraído do campo Detection type no registro bruto. |
ID do dispositivo | target.asset.hostname | O valor é extraído do campo Device ID no registro bruto. |
Disposição | security_result.action | O valor é extraído do campo Disposition no registro bruto e mapeado para uma ação da UDM. |
Domínio | principal.administrative_domain | O valor é extraído do campo Domain no registro bruto. |
Nome do domínio | principal.administrative_domain | O valor é extraído do campo Domain Name no registro bruto. |
Nome do domínio: | principal.administrative_domain | O valor é extraído do campo Domain Name: no registro bruto. |
Download feito por | principal.process.file.full_path | O valor é extraído do campo Downloaded by no registro bruto. |
Site de download | ||
Duração (segundos) | extensions.vulns.vulnerabilities.scan_end_time | O valor é extraído do campo Duration (seconds) no registro bruto e adicionado ao horário de início da verificação. |
Fim | ||
Horário de término | extensions.vulns.vulnerabilities.scan_end_time | O valor é extraído do campo End Time no registro bruto. |
Horário de término: | extensions.vulns.vulnerabilities.scan_end_time | O valor é extraído do campo End Time: no registro bruto. |
Final: | extensions.vulns.vulnerabilities.scan_end_time | O valor é extraído do campo End: no registro bruto. |
Descrição do evento | metadata.description | O valor é extraído do campo Event Description no registro bruto. |
Descrição do evento: | metadata.description | O valor é extraído do campo Event Description: no registro bruto. |
Horário de inserção do evento | ||
Horário do evento | metadata.event_timestamp | O valor é extraído do campo Event time no registro bruto. |
Horário do evento: | metadata.event_timestamp | O valor é extraído do campo Event time: no registro bruto. |
Tipo de evento | metadata.product_event_type | O valor é extraído do campo Event Type no registro bruto. |
Tipo de evento: | metadata.product_event_type | O valor é extraído do campo Event Type: no registro bruto. |
Caminho do arquivo | target.file.full_path | O valor é extraído do campo File path no registro bruto. |
Caminho do arquivo: | target.file.full_path | O valor é extraído do campo File path: no registro bruto. |
Tamanho do arquivo (bytes) | target.file.size | O valor é extraído do campo File size (bytes) no registro bruto. |
Visto pela primeira vez | security_result.action_details | O valor é extraído do campo First Seen no registro bruto. |
Visto pela primeira vez: | security_result.action_details | O valor é extraído do campo First Seen: no registro bruto. |
Grupo | principal.group.group_display_name | O valor é extraído do campo Group no registro bruto. |
Nome do grupo | principal.group.group_display_name | O valor é extraído do campo Group Name no registro bruto. |
Nome do grupo: | principal.group.group_display_name | O valor é extraído do campo Group Name: no registro bruto. |
Tipo de hash | target.resource.attribute.labels.value | O valor é extraído do campo Hash type no registro bruto. A chave está fixada no código como Hash Type . |
Nível de proteção intensiva | ||
ID da intrusão | ||
URL de payload de intrusão | ||
URL de intrusão | ||
Endereço IP | principal.ip | O valor é extraído do campo IP Address no registro bruto. |
Endereço IP: | principal.ip | O valor é extraído do campo IP Address: no registro bruto. |
Hora da última atualização | ||
Host local | principal.ip | O valor é extraído do campo Local Host no registro bruto. |
IP do host local | principal.ip | O valor é extraído do campo Local Host IP no registro bruto. |
MAC do host local | principal.mac | O valor é extraído do campo Local Host MAC no registro bruto. |
Porta local | principal.port | O valor é extraído do campo Local Port no registro bruto. |
Local | ||
MD-5 | ||
Ocorrências | security_result.about.resource.attribute.labels.value | O valor é extraído do campo Occurrences no registro bruto. A chave está fixada no código como Occurrences . |
Motivo da permissão do aplicativo | security_result.action_details | O valor é extraído do campo Permitted application reason no registro bruto. |
Prevalência | security_result.description | O valor é extraído do campo Prevalence no registro bruto. |
Caminho remoto | target.file.full_path | O valor é extraído do campo Remote file path no registro bruto. |
IP do host remoto | target.ip | O valor é extraído do campo Remote Host IP no registro bruto. |
MAC do host remoto | target.mac | O valor é extraído do campo Remote Host MAC no registro bruto. |
Nome do host remoto | target.hostname | O valor é extraído do campo Remote Host Name no registro bruto. |
Porta remota | target.port | O valor é extraído do campo Remote Port no registro bruto. |
Ação solicitada | security_result.action | O valor é extraído do campo Requested action no registro bruto e mapeado para uma ação da UDM. |
Nível de risco | security_result.severity | O valor é extraído do campo Risk Level no registro bruto e mapeado para uma gravidade da UDM. |
Nome do risco | security_result.threat_name | O valor é extraído do campo Risk name no registro bruto. |
Tipo de risco | security_result.detection_fields.value | O valor é extraído do campo Risk type no registro bruto. A chave está fixada no código como Risk Type . |
Regra | principal.resource.name | O valor é extraído do campo Rule no registro bruto. |
Regra: | principal.resource.name | O valor é extraído do campo Rule: no registro bruto. |
ID de verificação | extensions.vulns.vulnerabilities.name | O valor é extraído do campo Scan ID no registro bruto. |
ID de verificação: | extensions.vulns.vulnerabilities.name | O valor é extraído do campo Scan ID: no registro bruto. |
Tipo de verificação | ||
Ação secundária | target.resource.attribute.labels.value | O valor é extraído do campo Secondary action no registro bruto. A chave está fixada no código como Secondary action . |
Risco de segurança encontrado | metadata.description | O valor é extraído do campo Security risk found no registro bruto. |
Servidor | intermediary.hostname | O valor é extraído do campo Server no registro bruto. |
Nome do servidor | intermediary.hostname | O valor é extraído do campo Server Name no registro bruto. |
Nome do servidor: | intermediary.hostname | O valor é extraído do campo Server Name: no registro bruto. |
SHA-256 | principal.process.file.sha256 | O valor é extraído do campo SHA-256 no registro bruto. |
Site | additional.fields.value.string_value | O valor é extraído do campo Site no registro bruto. A chave está fixada no código como Site Name . |
Nome do site | additional.fields.value.string_value | O valor é extraído do campo Site Name no registro bruto. A chave está fixada no código como Site Name . |
Site: | additional.fields.value.string_value | O valor é extraído do campo Site: no registro bruto. A chave está fixada no código como Site Name . |
Origem | metadata.product_event_type | O valor é extraído do campo Source no registro bruto e anexado à string codificada Security risk found - . |
Computador de origem | ||
Computador de origem: | ||
IP de origem | ||
IP de origem: | ||
Fonte: | metadata.product_event_type | O valor é extraído do campo Source: no registro bruto e anexado à string codificada Security risk found - . |
ts | metadata.event_timestamp | O valor é extraído do campo ts no registro bruto. |
Status do rastreamento de URL | ||
Usuário | principal.user.userid | O valor é extraído do campo User no registro bruto. |
Nome do usuário | principal.user.userid | O valor é extraído do campo User Name no registro bruto. |
Nome de usuário: | principal.user.userid | O valor é extraído do campo User Name: no registro bruto. |
Domínio da Web | ||
metadata.description | Se o log bruto contiver a string The client has downloaded , a descrição será definida como The client has downloaded {target file name} . Se o log bruto contiver a string The management server received , a descrição será definida como The management server received the client log successfully . Caso contrário, a descrição será definida como o valor do campo Event Description no registro bruto. |
|
metadata.event_type | O tipo de evento é determinado pela lógica do analisador com base no conteúdo do registro bruto. | |
metadata.log_type | O tipo de registro está fixado no código como SEP . |
|
metadata.product_name | O nome do produto está fixado no código como SEP . |
|
metadata.vendor_name | O nome do fornecedor é codificado como Symantec . |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.