Coletar registros do DLP da Symantec

Compatível com:

Este documento explica como coletar registros de DLP da Symantec usando o Bindplane. O código do analisador primeiro tenta analisar os dados de registro do DLP da Symantec como XML. Se a análise XML falhar, ela vai assumir um formato SYSLOG + KV (CEF) e usar uma combinação de filtros grok e kv para extrair pares de chave-valor e mapeá-los ao modelo de dados unificado (UDM).

Antes de começar

  • Verifique se você tem uma instância do Google Security Operations.
  • Verifique se você está usando o Windows 2016 ou uma versão mais recente ou um host Linux com systemd.
  • Se estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
  • Confira se você tem acesso privilegiado ao DLP da Symantec.

Receber o arquivo de autenticação de ingestão do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. Faça o download do arquivo de autenticação de transferência. Salve o arquivo com segurança no sistema em que o BindPlane será instalado.

Receber o ID de cliente do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instalação do Windows

  1. Abra o Prompt de Comando ou o PowerShell como administrador.
  2. Execute este 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 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

Configurar o agente do Bindplane para processar o Syslog e enviar ao Google SecOps

  1. Acesse o arquivo de configuração:

    1. Localize o arquivo config.yaml. Normalmente, ele está no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    2. Abra o arquivo usando um editor de texto (por exemplo, nano, vi ou Notepad).
  2. Edite o arquivo config.yaml da seguinte forma:

    receivers:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:54525"
    
    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: SYSLOG
                namespace: symantec_dlp
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.

  4. Substitua <customer_id> pelo ID real do cliente.

  5. Atualize /path/to/ingestion-authentication-file.json para o caminho em que o arquivo de autenticação foi salvo na seção Receber o 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 Services ou digite o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar a DLP da Symantec

  1. Faça login no console de administração do servidor Symantec.
  2. Selecione Gerenciar > Políticas > Regras de resposta.
  3. Selecione Configurar regra de resposta e insira um nome.
  4. Forneça os seguintes detalhes:

    • Ações: selecione Registrar em um servidor syslog.
    • Host: insira o endereço IP Bindplane.
    • Port: digite o número da porta Bindplane.
    • Mensagem: insira a seguinte mensagem:

          |symcdlpsys|APPLICATION_NAME|$APPLICATION_NAME$|APPLICATION_USER|$APPLICATION_USER$|ATTACHMENT_FILENAME|$ATTACHMENT_FILENAME$|BLOCKED|$BLOCKED$|DATAOWNER_NAME|$DATAOWNER_NAME$|DATAOWNER_EMAIL|$DATAOWNER_EMAIL$|DESTINATION_IP|$DESTINATION_IP$|ENDPOINT_DEVICE_ID|$ENDPOINT_DEVICE_ID$|ENDPOINT_LOCATION|$ENDPOINT_LOCATION$|ENDPOINT_MACHINE|$ENDPOINT_MACHINE$|ENDPOINT_USERNAME|$ENDPOINT_USERNAME$|PATH|$PATH$|FILE_NAME|$FILE_NAME$|PARENT_PATH|$PARENT_PATH$|INCIDENT_ID|$INCIDENT_ID$|INCIDENT_SNAPSHOT|$INCIDENT_SNAPSHOT$|MACHINE_IP|$MACHINE_IP$|MATCH_COUNT|$MATCH_COUNT$|OCCURRED_ON|$OCCURRED_ON$|POLICY|$POLICY$|RULES|$RULES$|PROTOCOL|$PROTOCOL$|QUARANTINE_PARENT_PATH|$QUARANTINE_PARENT_PATH$|RECIPIENTS|$RECIPIENTS$|REPORTED_ON|$REPORTED_ON$|SCAN|$SCAN$|SENDER|$SENDER$|MONITOR_NAME|$MONITOR_NAME$|SEVERITY|$SEVERITY$|STATUS|$STATUS$|SUBJECT|$SUBJECT$|TARGET|$TARGET$|URL|$URL$|USER_JUSTIFICATION|$USER_JUSTIFICATION$|
      
    • Depuração: selecione Nível 4.

  5. Clique em Aplicar.

Tabela de mapeamento do UDM

Campo de registro Mapeamento de UDM Lógica
ato security_result.action Se act for Passed, defina como ALLOW. Se act for Modified, defina como ALLOW_WITH_MODIFICATION. Se act for Blocked, defina como BLOCK. Caso contrário, defina como UNKNOWN_ACTION.
application_name target.application Mapeado diretamente.
asset_ip principal.ip, principal.asset.ip Mapeado diretamente.
asset_name principal.hostname, principal.asset.hostname Mapeado diretamente.
attachment_name security_result.about.file.full_path Mapeado diretamente.
bloqueado security_result.action_details Mapeado diretamente.
calling_station_id principal.mac, principal.asset.mac Se calling_station_id for um endereço MAC, mapeie-o diretamente depois de substituir - por : e converter para letras minúsculas.
called_station_id target.mac, target.asset.mac Se called_station_id for um endereço MAC, extraia a parte do endereço MAC antes de : e mapeie-a diretamente após substituir - por : e converter para letras minúsculas.
category1 security_result.detection_fields Crie um rótulo com a chave category1 e o valor de category1.
category2 security_result.detection_fields Crie um rótulo com a chave category2 e o valor de category2.
category3 security_result.detection_fields Crie um rótulo com a chave category3 e o valor de category3.
client_friendly_name target.user.userid Mapeado diretamente.
dataowner_mail principal.user.email_addresses Mapeado diretamente se for um endereço de e-mail válido.
description metadata.description Mapeado diretamente.
dest_location target.location.country_or_region Mapeado diretamente se não for RED.
deviceId target.asset_id Mapeado como ID:%{deviceId}.
device_version metadata.product_version Mapeado diretamente.
dhost network.http.referral_url Mapeado diretamente.
dlp_type security_result.detection_fields Crie um rótulo com a chave dlp_type e o valor de dlp_type.
DLP_EP_Incident_ID security_result.threat_id, security_result.detection_fields Mapeado diretamente para threat_id. Além disso, crie um rótulo com a chave Incident ID e o valor de DLP_EP_Incident_ID.
domínio principal.administrative_domain Mapeado diretamente.
dst target.ip e target.asset.ip Mapeado diretamente se for um endereço IP válido.
endpoint_machine target.ip e target.asset.ip Mapeado diretamente se for um endereço IP válido.
endpoint_user_department target.user.department Mapeado diretamente.
endpoint_user_email target.user.email_addresses Mapeado diretamente.
endpoint_user_manager target.user.managers Crie um objeto de administrador com user_display_name de endpoint_user_manager.
endpoint_user_name target.user.user_display_name Mapeado diretamente.
endpoint_user_title target.user.title Mapeado diretamente.
event_description metadata.description Mapeado diretamente.
event_id metadata.product_log_id Mapeado diretamente.
event_source target.application Mapeado diretamente.
event_timestamp metadata.event_timestamp Mapeado diretamente.
file_name security_result.about.file.full_path Mapeado diretamente.
filename target.file.full_path, src.file.full_path Mapeado diretamente para target.file.full_path. Se has_principal for verdadeiro, mapeie também para src.file.full_path e defina event_type como FILE_COPY.
host src.hostname, principal.hostname, principal.asset.hostname Se cef_data contiver CEF, mapeie para os três campos. Caso contrário, mapeie para principal.hostname e principal.asset.hostname.
incident_id security_result.threat_id, security_result.detection_fields Mapeado diretamente para threat_id. Além disso, crie um rótulo com a chave Incident ID e o valor de incident_id.
local principal.resource.attribute.labels Crie um rótulo com a chave Location e o valor de location.
match_count security_result.detection_fields Crie um rótulo com a chave Match Count e o valor de match_count.
monitor_name additional.fields Crie um rótulo com a chave Monitor Name e o valor de monitor_name.
nas_id target.hostname, target.asset.hostname Mapeado diretamente.
occurred_on principal.labels, additional.fields Crie um rótulo com a chave Occurred On e o valor de occurred_on para principal.labels e additional.fields.
policy_name sec_result.detection_fields Crie um rótulo com a chave policy_name e o valor de policy_name.
policy_rule security_result.rule_name Mapeado diretamente.
policy_severity security_result.severity Mapeado para severity após a conversão para letras maiúsculas. Se policy_severity for INFO, mapeie como INFORMATIONAL. Se policy_severity não for HIGH, MEDIUM, LOW ou INFORMATIONAL, defina severity como UNKNOWN_SEVERITY.
policy_violated security_result.summary Mapeado diretamente.
Protocolo network.application_protocol, target.application, sec_result.description Se Protocol não for FTP ou Endpoint, mapeie-o para network.application_protocol depois de analisar usando o arquivo parse_app_protocol.include. Se Protocol for FTP, mapeie-o para target.application. Se Protocol for Endpoint, defina sec_result.description como Protocol=%{Protocol}.
destinatário target.user.email_addresses, about.user.email_addresses Para cada endereço de e-mail em recipient, mapeie-o para target.user.email_addresses e about.user.email_addresses.
destinatários network.http.referral_url, target.resource.attribute.labels Mapeado diretamente para network.http.referral_url. Além disso, crie um rótulo com a chave recipients e o valor de recipients.
reported_on additional.fields Crie um rótulo com a chave Reported On e o valor de reported_on.
regras security_result.detection_fields Crie um rótulo com a chave Rules e o valor de rules.
sender network.email.from, target.resource.attribute.labels Se sender for um endereço de e-mail válido, mapeie-o para network.email.from. Além disso, crie um rótulo com a chave sender e o valor de sender.
servidor target.application Mapeado diretamente.
Gravidade security_result.severity Consulte policy_severity para conferir a lógica de mapeamento.
src principal.ip, principal.asset.ip Mapeado diretamente se for um endereço IP válido.
status principal.labels, additional.fields Crie um rótulo com a chave Status e o valor de status para principal.labels e additional.fields.
subject target.resource.attribute.labels, network.email.subject Crie um rótulo com a chave subject e o valor de subject. Além disso, mapeie subject para network.email.subject.
target_type target.resource.attribute.labels Crie um rótulo com a chave Target Type e o valor de target_type.
timestamp metadata.event_timestamp Mapeado diretamente após a análise usando o filtro date.
url target.url Mapeado diretamente.
usuário target.user.userid Mapeado diretamente.
user_id principal.user.userid Mapeado diretamente.
nome de usuário principal.user.userid Mapeado diretamente.
N/A metadata.product_name Defina como SYMANTEC_DLP.
N/A metadata.vendor_name Defina como SYMANTEC.
N/A metadata.event_type Se event_type não estiver vazio, mapeie-o diretamente. Caso contrário, se host não estiver vazio e has_principal for verdadeiro, defina como SCAN_NETWORK. Caso contrário, defina como GENERIC_EVENT.
N/A metadata.product_event_type Se policy_violated contiver -NM- ou data contiver DLP NM, defina como Network Monitor. Se policy_violated contiver -EP- ou data contiver DLP EP, defina como Endpoint.
N/A metadata.log_type Defina como SYMANTEC_DLP.

Alterações

2025-02-04

Melhoria:

  • Adição de suporte a registros SYSLOG.

2025-01-08

Melhoria:

  • ATTACHMENT_FILENAME foi mapeado para principal.file.full_path.
  • Quando DATAOWNER_NAME está presente, DATAOWNER_NAME é mapeado para principal.user.userid.
  • Quando DATAOWNER_NAME não está presente, ENDPOINT_USERNAME é mapeado para principal.user.userid.

2024-12-27

Melhoria:

  • Foi adicionado suporte para analisar o novo formato de registro.

2024-12-04

Melhoria:

  • Foi adicionado suporte para analisar o novo formato de registro.

2024-11-11

Melhoria:

  • Foi adicionado suporte para analisar o novo formato de registro.

2024-09-05

Melhoria:

  • Foi adicionado suporte para analisar o novo formato de registro.

2024-06-17

Melhoria:

  • Foi adicionado suporte para analisar o novo formato do campo recipients.

2024-06-14

Melhoria:

  • Adição de suporte a registros do CEF.

2024-05-16

Melhoria:

  • dlp_type foi mapeado para security_result.detection_fields.

2024-04-26

Correção de bugs:

  • recipients foi mapeado para target.user.email_addresses.

2024-03-10

Melhoria:

  • Foram adicionados novos padrões Grok para analisar registros de novos formatos SYSLOG.
  • server foi mapeado para target.application.
  • url foi mapeado para target.url.
  • dataowner_mail foi mapeado para principal.user.email_addresses.
  • Mapeamento de reported_on e monitor_name para additional.fields.
  • sender foi mapeado para network.email.from.
  • subject foi mapeado para network.email.subject.

2024-02-20

Melhoria:

  • Mapeamento de blocked para security_result.action_details e security_result.action.

2024-01-12

Melhoria:

  • Mapeamento de incident_id e DLP_EP_Incident_ID para security_result.detection_fields.
  • Foi adicionado um padrão Grok para analisar registros de novos formatos SYSLOG.
  • location foi mapeado para principal.resource.attribute.labels.
  • target_type foi mapeado para target.resource.attribute.labels.

2023-12-06

Melhoria:

  • Foi adicionado um padrão Grok para analisar registros de novos formatos.
  • application foi mapeado para principal.application.
  • application_name foi mapeado para target.application.
  • policy_name foi mapeado para security_result.detection_fields.

2023-09-02

Melhoria:

  • Foi adicionado suporte para analisar registros com falhas e mapear os campos de acordo com isso.

2023-08-17

Melhoria:

  • Occurred on foi mapeado para principal.labels.
  • Quando act for Modified, defina security_result.action como ALLOW_WITH_MODIFICATION.
  • status foi mapeado para principal.labels.

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