Coletar registros do filtro de e-mail da Proofpoint

Compatível com:

Este documento explica como ingerir registros do filtro de e-mail do Proofpoint no Google Security Operations usando o agente do Bindplane.

O Proofpoint Email Protection (PPS) é um terminal de segurança de e-mail que oferece filtragem de spam, detecção de ameaças e aplicação de políticas de e-mail. Ele é compatível com o encaminhamento de syslog e a integração de registros CEF para exportar ocorrências de segurança e registros de transações de e-mail.

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 do Linux com systemd
  • Conectividade de rede entre o agente do Bindplane e o servidor de proteção do Proofpoint (PPS, na sigla em inglês)
  • Se estiver em execução atrás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente do Bindplane.
  • Acesso privilegiado ao console de gerenciamento do Proofpoint Protection Server (PPS) com permissões de administrador

Receber credenciais do Google SecOps para o agente do Bindplane

Para autenticar o agente do Bindplane no Google SecOps, escolha um dos seguintes métodos:

  • Novas implantações: use a API Chronicle (opção 1).
  • Implantações legadas: continue usando o arquivo de autenticação de ingestão (opção 2) até que a API Ingestion seja desativada em 20 de julho de 2027.
  1. Faça login no consoleGoogle Cloud e selecione o projeto Google Cloud vinculado à sua instância do Google SecOps.
  2. Acesse IAM e administrador > Contas de serviço.
  3. Clique em Criar conta de serviço.
  4. Informe os seguintes detalhes de configuração:
    • Nome da conta de serviço: insira um nome para a conta (por exemplo, bindplane-ingest).
    • Descrição da conta de serviço: insira uma descrição (por exemplo, Bindplane agent log ingestion).
  5. Clique em Criar e continuar.
  6. Na seção Conceder a essa conta de serviço acesso ao projeto, clique em Selecionar um papel e escolha Editor do Chronicle.
  7. Clique em Continuar e depois em Concluído.
  8. Clique na conta de serviço que você criou e acesse a guia Chaves.
  9. Clique em Adicionar chave > Criar nova chave.
  10. Selecione JSON e clique em Criar. O download do arquivo de chave é feito no seu computador.
  11. Salve o arquivo de chave como ingestion-auth.json no diretório do coletor do BindPlane (/opt/observiq-otel-collector/ingestion-auth.json no Linux ou C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json no Windows) ou atualize creds_file_path em config.yaml para corresponder ao caminho em que você o salvou.
  12. Acesse IAM e administrador > Configurações e copie o Número do projeto. Você vai precisar dele para a configuração do exportador.

Opção 2: baixar o arquivo de autenticação de ingestão (legado)

  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.
  4. Salve o arquivo com segurança no sistema em que o agente do 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 de cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instale o agente do Bindplane no seu 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 precisa aparecer como RUNNING.

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
    
  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 precisa aparecer como active (running).

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

Localize o arquivo de configuração.

  • Linux:

    sudo nano /opt/observiq-otel-collector/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/proofpoint_mail_filter:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '<CREDS_FILE_PATH>'
        customer_id: '<CUSTOMER_ID>'
        endpoint: chronicle.googleapis.com
        log_type: PROOFPOINT_MAIL_FILTER
        raw_log_field: body
        ingestion_labels:
          env: production
    
    service:
      pipelines:
        logs/proofpoint_mail_to_chronicle:
          receivers:
            - tcplog
          exporters:
            - chronicle/proofpoint_mail_filter
    

Parâmetros de configuração

Substitua os seguintes marcadores de posição:

  • Configuração do receptor:

    • tcplog: recebe syslog por TCP. Use udplog se você configurar o transporte UDP no PPS.
    • 0.0.0.0:514: detecta todas as interfaces na porta 514. Mude a porta, se necessário (por exemplo, 1514 para Linux não raiz).
  • Configuração do exportador:

    • <CREDS_FILE_PATH>: caminho completo para o arquivo de chave JSON da conta de serviço (opção 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • <CUSTOMER_ID>: ID do cliente da etapa Receber ID do cliente do Google SecOps.
    • location: substitua <LOCATION> pela região da sua instância do Google SecOps (por exemplo, us, europe ou asia-southeast1). O exportador adiciona esse valor ao prefixo chronicle.googleapis.com. Consulte Endpoints regionais para ver a lista completa.
    • project: substitua <PROJECT_NUMBER> pelo número do projeto em IAM e administrador > Configurações.
    • endpoint: mantenha definido como chronicle.googleapis.com.

Exportador da API de ingestão legada

  • Se você usar o arquivo de autenticação de ingestão da Opção 2, substitua o bloco exporters pelo seguinte. Defina creds_file_path como o caminho para o arquivo de autenticação de ingestão e, se a instância estiver fora dos EUA, substitua malachiteingestion-pa.googleapis.com pelo endpoint regional (por exemplo, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/proofpoint_mail_filter:
        compression: gzip
        creds_file_path: '<CREDS_FILE_PATH>'
        customer_id: '<CUSTOMER_ID>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: PROOFPOINT_MAIL_FILTER
        raw_log_field: body
        ingestion_labels:
          env: production
    

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 no 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 Proofpoint Email Protection

Opção 1: configurar o encaminhamento de syslog no Proofpoint PPS

  1. Faça login no console de gerenciamento do Proofpoint Protection Server (PPS).
  2. Acesse Sistema > Registros e relatórios > Configurações de registro.
  3. Na seção Configurações de registro remoto, configure o seguinte:
    • Protocolo: selecione Syslog.
    • Servidor Syslog: insira o endereço IP do host do agente do BindPlane (por exemplo, 192.168.1.100).
    • Porta: digite 514 (precisa corresponder à porta do receptor do agente do BindPlane).
    • Transporte: selecione TCP (precisa corresponder à configuração do receptor do agente do BindPlane). O TLS também é compatível com o encaminhamento seguro.
  4. Na seção Opções de registro local, configure a verbosidade do registro conforme necessário.
  5. Clique em Salvar alterações.

Opção 2: configurar a integração de registros CEF

  1. Faça login no console de gerenciamento do Proofpoint Protection Server (PPS).
  2. Acesse Configuração > Integrações > SIEM integrado.
  3. Clique na guia Integração de registros do SIEM.
  4. Selecione Ativar exportação para o formato ArcSight para ativar a integração de registros CEF.
  5. Configure o servidor de destino do syslog:
    • Host: insira o endereço IP do host do agente do BindPlane (por exemplo, 192.168.1.100).
    • Porta: insira 514 (precisa corresponder à porta do receptor do agente do Bindplane).
  6. Clique em Salvar.
  7. Verifique se os registros formatados em CEF estão sendo recebidos conferindo os registros do agente Bindplane.

Tabela de mapeamento de UDM

Campo de registro Mapeamento de UDM Lógica
sobre Outras informações sobre o evento
adultscore, attachments, hops, routes, notroutes, eid, querydepth, selector, spamscore, phishscore, mod, status, folder additional.fields Dados de eventos específicos do fornecedor que não podem ser representados adequadamente nas seções formais do modelo do UDM.
auth extensions.auth.type Tipo de autenticação usado
intermediário Informações sobre dispositivos intermediários envolvidos no evento
domínio intermediary.administrative_domain Domínio administrativo do intermediário
hops-ip, lip, interm_ip intermediary.ip Endereço IP do intermediário
metadata.event_type Tipo de evento (por exemplo, USER_LOGIN, NETWORK_CONNECTION)
prod_event_type metadata.product_event_type Tipo de evento específico do produto
de consulta metadata.product_version Versão do produto que gerou o evento
proto, mailer network.application_protocol Protocolo de aplicativo usado na conexão de rede
hfrom, from network.email.from Endereço de e-mail do remetente
m, msgid, net_mail_id, hdr_mid network.email.mail_id Identificador exclusivo da mensagem de e-mail
subject network.email.subject Assunto do e-mail
para network.email.to Endereços de e-mail dos destinatários
received_byte network.received_bytes Número de bytes recebidos na conexão de rede
s network.session_id Identificador exclusivo da sessão de rede.
cifra network.tls.cipher Pacote de criptografia TLS usado
tls_version, version network.tls.version Versão TLS usada
domínio principal.administrative_domain Domínio administrativo do principal
proc principal.application Aplicativo envolvido no evento
dispositivo, host principal.asset.hostname Nome do host do recurso associado ao principal
ip, srcip principal.asset.ip Endereço IP do recurso associado ao principal
guid principal.asset_id Identificador exclusivo do recurso
dispositivo, host principal.hostname Nome do host do principal
ip, srcip principal.ip Endereço IP do principal
país principal.location.country_or_region País ou região do local do principal
cmd principal.process.command_line Linha de comando usada para iniciar o processo
arquivo, nome principal.process.file.full_path Caminho completo do arquivo envolvido no processo
sz, size principal.process.file.size Tamanho do arquivo em bytes
pid, process_id principal.process.pid ID de processo
action, security_action security_result.action Ação realizada pelo produto de segurança
classificador security_result.category Categoria do resultado de segurança
class, internalId security_result.detection_fields Campos usados para detecção
regra security_result.rule_name Nome da regra que acionou o resultado de segurança
security_desc security_result.summary Resumo do resultado de segurança
nome do host target.asset.hostname Nome do host do recurso associado ao destino
nome do host target.hostname Nome do host do destino
metadata.product_name Nome do produto que gerou o evento
metadata.vendor_name Nome do fornecedor que produziu o produto
AppAccessContext.AADSessionId event.idm.read_only_udm.network.session_id Mapeado do registro de alterações
ClientAppName event.idm.read_only_udm.target.application Mapeado do registro de alterações
AppAccessContext.CorrelationId event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
AppAccessContext.UniqueTokenId event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
AppAccessContext.UserObjectId event.idm.read_only_udm.principal.user.product_object_id Mapeado do registro de alterações
Id event.idm.read_only_udm.target.resource.product_object_id Mapeado do registro de alterações
Operation event.idm.read_only_udm.metadata.product_event_type Mapeado do registro de alterações
RecordType event.idm.read_only_udm.security_result.detection_fields Mapeado do registro de alterações
UserKey event.idm.read_only_udm.principal.user.attribute.labels Mapeado do registro de alterações
UserType event.idm.read_only_udm.principal.user.attribute.labels Mapeado do registro de alterações
Version event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
Workload event.idm.read_only_udm.principal.application Mapeado do registro de alterações
ClientIP event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.asset.ip Mapeado do registro de alterações
UserId event.idm.read_only_udm.principal.user.email_addresses Mapeado do registro de alterações
AuthenticationType event.idm.read_only_udm.extensions.auth.auth_details Mapeado do registro de alterações
BrowserName event.idm.read_only_udm.network.http.parsed_user_agent Mapeado do registro de alterações
BrowserVersion event.idm.read_only_udm.network.http.parsed_user_agent.browser_version Mapeado do registro de alterações
CorrelationId event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
EventSource event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
GeoLocation event.idm.read_only_udm.principal.location.name Mapeado do registro de alterações
IsManagedDevice event.idm.read_only_udm.security_result.detection_fields Mapeado do registro de alterações
ItemType event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
ListId event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
ListItemUniqueId event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
Platform event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
Site event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
UserAgent event.idm.read_only_udm.network.http.user_agent Mapeado do registro de alterações
WebId event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
HighPriorityMediaProcessing event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
ListBaseType event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
ListServerTemplate event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
SourceRelativeUrl event.idm.read_only_udm.principal.url Mapeado do registro de alterações
net_mail_id" and "hdr_mid network.email.mail_id Mapeado do registro de alterações
delay about.resource.attribute.labels Mapeado do registro de alterações
relay intermediary.administrative_domain Mapeado do registro de alterações
device" from "intermediary.hostname principal.hostname Mapeado do registro de alterações

Registro de alterações

Confira o registro de alterações deste analisador

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