Coletar registros do Forcepoint DLP

Compatível com:

Este documento explica como ingerir registros da DLP do Forcepoint no Google Security Operations usando o Bindplane.

A DLP (prevenção contra perda de dados) da Forcepoint é uma solução de proteção de dados que identifica, monitora e protege dados sensíveis em ambientes empresariais. Ele detecta e impede transferências de dados não autorizadas por e-mail, Web, endpoints e aplicativos na nuvem usando políticas com reconhecimento de conteúdo e machine learning. O analisador extrai campos de registros formatados em CEF da DLP do Forcepoint. Em seguida, ele mapeia esses valores para o modelo de dados unificado (UDM). Ele também define valores de metadados padrão para a origem e o tipo do evento.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Uma instância do Google SecOps
  • Windows Server 2016 ou mais recente ou host Linux com systemd
  • Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente Bindplane.
  • Acesso privilegiado ao console da Web do Forcepoint Security Manager

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. 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 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

Instale o agente do Bindplane no sistema operacional Windows ou Linux de acordo com as instruções a seguir.

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
    
  3. Aguarde a conclusão da instalação.

  4. Execute o seguinte comando para confirmar a instalação:

    sc query observiq-otel-collector
    

O serviço vai aparecer como EM EXECUÇÃO.

Instalação do Linux

  1. Abra um terminal com privilégios de root 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
    
  3. Aguarde a conclusão da instalação.

  4. Execute o seguinte comando para confirmar a instalação:

    sudo systemctl status observiq-otel-collector
    

O serviço vai aparecer como ativo (em execução).

Outros recursos de instalação

Para mais opções de instalação e solução de problemas, consulte o guia de instalação do agente do Bindplane.

Configurar o agente do Bindplane para ingerir syslog e enviar ao Google SecOps

Localizar o arquivo de configuração

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Editar o arquivo de configuração

  • Substitua todo o conteúdo de config.yaml pela seguinte configuração:

    receivers:
        tcplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            customer_id: 'YOUR_CUSTOMER_ID'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: 'FORCEPOINT_DLP'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    

Parâmetros de configuração

  • Substitua os seguintes marcadores de posição:

    • Configuração do receptor:

      • tcplog: use udplog para syslog UDP ou tcplog para syslog TCP.
      • 0.0.0.0: endereço IP para escutar (0.0.0.0 para escutar em todas as interfaces)
      • 514: número da porta a ser detectada (porta syslog padrão).
    • Configuração do exportador:

      • creds_file_path: caminho completo para o arquivo de autenticação de ingestão:
        • Linux: /etc/bindplane-agent/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • YOUR_CUSTOMER_ID: ID do cliente da seção "Receber ID do cliente"
      • endpoint: URL do endpoint regional:
        • EUA: malachiteingestion-pa.googleapis.com
        • Europa: europe-malachiteingestion-pa.googleapis.com
        • Ásia: asia-southeast1-malachiteingestion-pa.googleapis.com
        • Consulte a lista completa em Endpoints regionais.
      • log_type: tipo de registro exatamente como aparece no Chronicle (FORCEPOINT_DLP)

Salve o arquivo de configuração.

  • Depois de editar, salve o arquivo:
    • Linux: pressione Ctrl+O, Enter e Ctrl+X.
    • Windows: clique em Arquivo > Salvar.

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 observiq-otel-collector
    
    1. Verifique se o serviço está em execução:

        sudo systemctl status observiq-otel-collector
      
    2. Verifique se há erros nos registros:

        sudo journalctl -u observiq-otel-collector -f
      
  • Para reiniciar o agente do Bindplane em Windows, escolha uma das seguintes opções:

    • Prompt de comando ou PowerShell como administrador:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Console de serviços:

      1. Pressione Win+R, digite services.msc e pressione Enter.
      2. Localize o Coletor do OpenTelemetry da observIQ.
      3. Clique com o botão direito do mouse e selecione Reiniciar.

      4. Verifique se o serviço está em execução:

        sc query observiq-otel-collector
        
      5. Verifique se há erros nos registros:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Configurar o encaminhamento de syslog do Forcepoint DLP

  1. Faça login no console da Web do Forcepoint Security Manager.
  2. Acesse Configurações > Geral > Integração do SIEM.
  3. Selecione Ativar a integração do SIEM.
  4. Informe os seguintes detalhes de configuração:
    • Endereço IP do servidor Syslog: insira o endereço IP do host do agente Bindplane.
    • Porta: insira 514.
    • Protocolo: selecione TCP.
    • Formato: selecione CEF (Common Event Format).
    • TLS ativado: desmarque, a menos que esteja usando o TLS.
  5. Na seção Dados do incidente, selecione os dados a serem incluídos nas mensagens syslog:
    • Ação tomada
    • Gravidade
    • Nome da política
    • Informações da fonte
    • Informações de destino
    • Detalhes do conteúdo
  6. Clique em OK para salvar.
  7. Acesse Principal > Gerenciamento de políticas > Políticas de DLP.
  8. Para cada política que precisa encaminhar eventos, verifique se a notificação do syslog está ativada:
    1. Selecione a política.
    2. Acesse a guia Plano de ação.
    3. Verifique se o plano de ação inclui Enviar para o SIEM.
  9. Clique em Implantar para aplicar as mudanças na política.
  10. Verifique se as mensagens syslog estão sendo enviadas conferindo os registros do agente Bindplane.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
agir security_result.description Se "actionPerformed" estiver vazio, o valor de "act" será atribuído a "security_result.description".
actionID metadata.product_log_id O valor de actionID é atribuído a metadata.product_log_id.
actionPerformed security_result.description O valor de actionPerformed é atribuído a security_result.description.
administrador principal.user.userid O valor do administrador é atribuído a principal.user.userid.
analyzedBy additional.fields.key A string "analyzedBy" é atribuída a additional.fields.key.
analyzedBy additional.fields.value.string_value O valor de "analyzedBy" é atribuído a "additional.fields.value.string_value".
gato security_result.category_details Os valores de "cat" são mesclados no campo "security_result.category_details" como uma lista.
destinationHosts target.hostname O valor de destinationHosts é atribuído a target.hostname.
destinationHosts target.asset.hostname O valor de destinationHosts é atribuído a target.asset.hostname.
detalhes security_result.description Se "actionPerformed" e "act" estiverem vazios, o valor de "details" será atribuído a "security_result.description".
duser target.user.userid O valor de duser é usado para preencher target.user.userid. Vários valores separados por "; " são divididos e atribuídos como endereços de e-mail individuais se corresponderem à expressão regular de e-mail. Caso contrário, são tratados como IDs de usuário.
eventId metadata.product_log_id Se actionID estiver vazio, o valor de eventId será atribuído a metadata.product_log_id.
fname target.file.full_path O valor de fname é atribuído a target.file.full_path.
logTime metadata.event_timestamp O valor de logTime é analisado e usado para preencher metadata.event_timestamp.
loginName principal.user.user_display_name O valor de loginName é atribuído a principal.user.user_display_name.
msg metadata.description O valor de msg é atribuído a metadata.description.
productVersion additional.fields.key A string "productVersion" é atribuída a additional.fields.key.
productVersion additional.fields.value.string_value O valor de productVersion é atribuído a additional.fields.value.string_value.
papel principal.user.attribute.roles.name O valor da função é atribuído a principal.user.attribute.roles.name.
severityType security_result.severity O valor de "severityType" é mapeado para "security_result.severity". "high" corresponde a "HIGH", "med" corresponde a "MEDIUM" e "low" corresponde a "LOW" (sem distinção entre maiúsculas e minúsculas).
sourceHost principal.hostname O valor de sourceHost é atribuído a principal.hostname.
sourceHost principal.asset.hostname O valor de sourceHost é atribuído a principal.asset.hostname.
sourceIp principal.ip O valor de "sourceIp" é adicionado ao campo "principal.ip".
sourceIp principal.asset.ip O valor de "sourceIp" é adicionado ao campo "principal.asset.ip".
sourceServiceName principal.application O valor de "sourceServiceName" é atribuído a "principal.application".
suser principal.user.userid Se "administrator" estiver vazio, o valor de "suser" será atribuído a "principal.user.userid".
timestamp metadata.event_timestamp O valor do carimbo de data/hora é usado para preencher metadata.event_timestamp.
tópico security_result.rule_name O valor do tópico é atribuído a security_result.rule_name depois que as vírgulas são removidas. Fixado no código como "FORCEPOINT_DLP". Fixado no código como "Forcepoint". Extraído da mensagem CEF. Pode ser "Forcepoint DLP" ou "Forcepoint DLP Audit". Extraído da mensagem CEF. Concatenação de device_event_class_id e event_name, formatada como "[device_event_class_id] - event_name". Inicializado como "GENERIC_EVENT". Mudou para "USER_UNCATEGORIZED" se is_principal_user_present for "true".

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