Coletar registros do Proofpoint Threat Response (TRAP)

Compatível com:

Este documento explica como ingerir registros do Proofpoint Threat Response (TRAP) no Google Security Operations usando o agente Bindplane.

O Proofpoint Threat Response Auto-Pull (TRAP) é uma plataforma de orquestração de segurança para resposta e correção automatizadas de ameaças. Ela se integra a ferramentas de segurança de e-mail, endpoint e rede para acelerar a investigação e a contenção de incidentes.

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
  • Conectividade de rede entre o agente do Bindplane e o servidor TRAP do Proofpoint
  • 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 do Bindplane.
  • Acesso privilegiado ao console de gerenciamento do Proofpoint TRAP com permissões de administrador

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

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 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 /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_trap:
            compression: gzip
            creds_file_path: '<CREDS_FILE_PATH>'
            customer_id: '<CUSTOMER_ID>'
            endpoint: <REGION_ENDPOINT>
            log_type: PROOFPOINT_TRAP
            raw_log_field: body
            ingestion_labels:
                env: production
    
    service:
        pipelines:
            logs/trap_to_chronicle:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/proofpoint_trap
    

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 TRAP.
    • 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 root).
  • 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
    • <CUSTOMER_ID>: ID do cliente da etapa Receber ID do cliente do Google SecOps.
    • <REGION_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.

Salvar 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 Proofpoint TRAP

  1. Faça login no console de gerenciamento do Proofpoint TRAP (normalmente em https://trap-server:8080).
  2. Acesse Monitoring > Logging.
  3. Configure o 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).
    • Gravidade: selecione o nível mínimo de gravidade para o encaminhamento de registros.
  4. Clique em Salvar.
  5. Verifique se os registros estão sendo enviados conferindo os registros do agente do Bindplane.

Tabela de mapeamento de UDM

Campo de registro Mapeamento do UDM Lógica
_field additional.fields Mesclado
additional_modulesRun additional.fields Mesclado
alternateGraphApiEndpoint_additional additional.fields Mesclado
azureAdAuthEndpoint_additional additional.fields Mesclado
clientId_additional additional.fields Mesclado
clientSecret_additional additional.fields Mesclado
disposition_additional_data additional.fields Mesclado
disposition_data_available additional.fields Mapeado: true → disposition_additional_data
exchangeAPI_additional additional.fields Mesclado
exchangeAuthType_additional additional.fields Mesclado
graphApiEndpoint_additional additional.fields Mesclado
headers_X-Forefront-Antispam-Report additional.fields Mesclado
headers_accept_lang_label additional.fields Mesclado
headers_authentication_results_label additional.fields Mesclado
headers_content_language_label additional.fields Mesclado
headers_content_transfer_encoding_label additional.fields Mesclado
headers_content_type_label additional.fields Mesclado
headers_date_label additional.fields Mesclado
headers_message_id_label additional.fields Mesclado
headers_mime_version_label additional.fields Mesclado
headers_received_label additional.fields Mesclado
headers_return_path_label additional.fields Mesclado
headers_thread_index_label additional.fields Mesclado
headers_thread_topic_label additional.fields Mesclado
headers_x_ms_exchange_antispam_feedbackprocessing_scenario_label additional.fields Mesclado
headers_x_ms_exchange_antispam_feedcategory_label additional.fields Mesclado
headers_x_ms_exchange_antispam_feedtype_label additional.fields Mesclado
headers_x_ms_exchange_organization_antispam_feedcategory_label additional.fields Mesclado
incident_display_id_label additional.fields Mesclado
incident_id_label additional.fields Mesclado
incident_link_attribute_label additional.fields Mesclado
incident_title_label additional.fields Mesclado
privateKey_additional additional.fields Mesclado
source_type_additional_data additional.fields Mesclado
source_type_data_available additional.fields Mapeado: true → source_type_additional_data
sourcesData_name_label additional.fields Mesclado
sourcesData_type_label additional.fields Mesclado
sources_id_label additional.fields Mesclado
sources_type_label additional.fields Mesclado
tap_threat_additional_data additional.fields Mesclado
tap_threat_data_available additional.fields Mapeado: true → tap_threat_additional_data
tenantId_additional additional.fields Mesclado
url_list additional.fields Mesclado
auth_details extensions.auth.auth_details Mapeado diretamente
proofpoint_trap_host intermediary.hostname Mapeado diretamente
proofpoint_trap_host intermediary.ip Mesclado
url_label intermediary.labels Mesclado
desc metadata.description Mapeado diretamente
createdAt metadata.event_timestamp Analisado como ISO8601
created_at metadata.event_timestamp Analisado como ISO8601
data.received metadata.event_timestamp Analisado como ISO8601
event1.description.created_at metadata.event_timestamp Analisado como ISO8601
event1.description.updated_at metadata.event_timestamp Analisado como ISO8601
eventTime metadata.event_timestamp Analisado como ISO8601
received metadata.event_timestamp Analisado como ISO8601
ts metadata.event_timestamp Analisado como MMM d HH:mm:ss
updatedAt metadata.event_timestamp Analisado como ISO8601
application metadata.event_type Mapeado: CROND → PROCESS_UNCATEGORIZED, system-modules.authlookup → USER_LOGIN
has_network_email metadata.event_type Mapeado: true → EMAIL_TRANSACTION
has_principal metadata.event_type Mapeado: true → EMAIL_TRANSACTION
event1.description.id metadata.product_log_id Mapeado diretamente
event_id metadata.product_log_id Mapeado diretamente
id metadata.product_log_id Mapeado diretamente
has_principal metadata.product_name Mapeado: true → PROOFPOINT_TRAP
source metadata.product_name Mapeado diretamente
has_principal metadata.vendor_name Mapeado: true → PROOFPOINT
attackDirection network.direction Mapeado: inbound → INBOUND, outbound → OUTBOUND
cc network.email.cc Mapeado: ^.+@.+$ → cc
emaildata.sender.email network.email.from Mapeado diretamente
event1.description.headers.From network.email.from Mapeado diretamente
fromadd network.email.from Mapeado diretamente
principal_user2 network.email.from Mapeado diretamente
send_email network.email.from Mapeado diretamente
sender_address network.email.from Mapeado diretamente
email_id network.email.mail_id Mapeado diretamente
event1.description.messageid network.email.mail_id Mapeado diretamente
messageID network.email.mail_id Mapeado diretamente
event1.description.headers.Reply-To network.email.reply_to Mapeado diretamente
reply network.email.reply_to Mapeado diretamente
email_subject network.email.subject Mesclado
emaildata.subject network.email.subject Mesclado
event1.description.subject network.email.subject Mesclado
index network.email.subject Mapeado: 0 → emaildata.subject
subject network.email.subject Mesclado
emaildata.recipient.email network.email.to Mesclado
event1.description.headers.To network.email.to Mesclado
index network.email.to Mapeado: 0 → emaildata.recipient.email, 0 → to_email
principal_user1 network.email.to Mesclado
recipient_address network.email.to Mapeado: ^.+@.+$ → recipient_address
to network.email.to Mapeado: ^.+@.+$ → to
to_email network.email.to Mesclado
http_method network.http.method Mapeado diretamente
http_url network.http.referral_url Mapeado diretamente
ses_id network.session_id Mapeado diretamente
application principal.application Mapeado diretamente
senderIP principal.asset.ip Mesclado
sender_IP principal.asset.ip Mesclado
msgparts.md5 principal.file.md5 Mapeado diretamente
msgparts.filename principal.file.names Mesclado
msgparts.sha256 principal.file.sha1 Mapeado diretamente
hostname principal.hostname Mapeado diretamente
senderIP principal.ip Mesclado
sender_IP principal.ip Mesclado
src_ip principal.ip Mesclado
file_name principal.process.file.full_path Mapeado diretamente
pid principal.process.pid Mapeado diretamente
attachment_label principal.resource.attribute.labels Mesclado
title_label principal.resource.attribute.labels Mesclado
ewsUrl principal.url Mapeado diretamente
principal_link principal.url Mapeado diretamente
sender_vap_label principal.user.attribute.labels Mesclado
emaildata.sender.email principal.user.email_addresses Mesclado
index principal.user.email_addresses Mapeado: 0 → emaildata.sender.email
principal_user1 principal.user.email_addresses Mesclado
principal_user2 principal.user.email_addresses Mesclado
sender principal.user.email_addresses Mesclado
assignedUserName principal.user.user_display_name Mapeado diretamente
username principal.user.user_display_name Mapeado diretamente
assignedUserId principal.user.userid Mapeado diretamente
principal_user1 principal.user.userid Mapeado diretamente
principal_user2 principal.user.userid Mapeado diretamente
sender_email principal.user.userid Mapeado diretamente
src_user principal.user.userid Mapeado diretamente
user principal.user.userid Mapeado diretamente
index security_result Mapeado: 0 → sec_res2
sec_res security_result Mesclado
sec_res2 security_result Mesclado
sec_result security_result Mesclado
state security_result.alert_state Mapeado: "OPEN", "IN_PROGRESS" → ALERTING, CLOSED → NOT_ALERTING
QID_field security_result.detection_fields Mesclado
alert_type_label security_result.detection_fields Mesclado
body_label security_result.detection_fields Mesclado
body_type_label security_result.detection_fields Mesclado
cluster_label security_result.detection_fields Mesclado
completelyRewritten_field security_result.detection_fields Mesclado
disposition_label security_result.detection_fields Mesclado
dkim1_label security_result.detection_fields Mesclado
dkim2_label security_result.detection_fields Mesclado
dkim3_label security_result.detection_fields Mesclado
dmarc_label security_result.detection_fields Mesclado
event_id_label security_result.detection_fields Mesclado
header_d1_label security_result.detection_fields Mesclado
header_d2_label security_result.detection_fields Mesclado
header_d3_label security_result.detection_fields Mesclado
header_from_label security_result.detection_fields Mesclado
header_s1_label security_result.detection_fields Mesclado
header_s2_label security_result.detection_fields Mesclado
header_s3_label security_result.detection_fields Mesclado
impostorScore_field security_result.detection_fields Mesclado
index security_result.detection_fields Mapeado: 0 → messageId_label
key_data security_result.detection_fields Mesclado
mailfrom_label security_result.detection_fields Mesclado
malwareScore_field security_result.detection_fields Mesclado
messageId_label security_result.detection_fields Mesclado
messageSize_field security_result.detection_fields Mesclado
phishScore_field security_result.detection_fields Mesclado
quarantineFolder_label security_result.detection_fields Mesclado
quarantineRule_label security_result.detection_fields Mesclado
spamScore_field security_result.detection_fields Mesclado
spf_label security_result.detection_fields Mesclado
state_label security_result.detection_fields Mesclado
severity security_result.severity Mapeado: Info → INFORMATIONAL
severity security_result.severity_details Mapeado diretamente
state security_result.summary Mapeado diretamente
cmd target.process.command_line Mapeado diretamente
pwd target.process.file.full_path Mapeado diretamente
recipient_vap_label target.user.attribute.labels Mesclado
email target.user.email_addresses Mesclado
emaildata.abuseReporterAddress target.user.email_addresses Mesclado
index target.user.email_addresses Mapeado: 0 → emaildata.abuseReporterAddress
recipient_email target.user.email_addresses Mesclado
dst_user target.user.userid Mapeado diretamente
N/A metadata.event_type Constante: EMAIL_TRANSACTION
N/A metadata.product_name Constante: PROOFPOINT_TRAP
N/A metadata.vendor_name Constante: PROOFPOINT
N/A network.application_protocol Constante: HTTP
N/A network.direction Constante: INBOUND
N/A security_result.alert_state Constante: ALERTING
N/A security_result.severity Constante: INFORMATIONAL
received_at event.idm.read_only_udm.metadata.event_timestamp Mapeado do registro de mudanças
sources.name event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
created_at event.idm.read_only_udm.metadata.event_timestamp Mapeado do registro de mudanças
received_time event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
titlePII event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
pps_guid event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
email_recipient_id event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
email_message_size event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
remediation_status event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
tap_false_positive event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
abuse_reporter_rank event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
quarantine_strategy event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
mime_content_expired event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
mime_content_present event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
click_block_exclusive event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
remediation_status_context event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
last_known_type event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
clear_confidence event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
message_status.is_read event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
message_status.permitted_clicks event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
message_status.message_delivered event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
sender_id event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
tenant_id event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
created_at event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
message_id event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
updated_at event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
disposition event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
received_at event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
tap_cleared event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
body_expired event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
body_present event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
clear_verdict event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
tap_threat_types event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
source.id event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
source.type event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
incident.id event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
incident.title event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
incident.display_id event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
incident.link_attribute event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
sender_address event.idm.read_only_udm.network.email.from Mapeado do registro de mudanças
email_id event.idm.read_only_udm.network.email.mail_id Mapeado do registro de mudanças
email_subject event.idm.read_only_udm.network.email.subject Mapeado do registro de mudanças
recipient_address event.idm.read_only_udm.network.email.to Mapeado do registro de mudanças
assignedUserName event.idm.read_only_udm.principal.user.user_display_name Mapeado do registro de mudanças
assignedUserId event.idm.read_only_udm.principal.user.userid Mapeado do registro de mudanças
state event.idm.read_only_udm.security_result.detection_fields Mapeado do registro de mudanças
createdAt event.idm.read_only_udm.metadata.event_timestamp Mapeado do registro de mudanças
updatedAt event.idm.read_only_udm.metadata.collected_timestamp Mapeado do registro de mudanças
tenantId event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
closedAt event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
displayId event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
assignedTeamName event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
assignedTeamId event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
messageCount event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
vap event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
vip event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
commentCount event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
dispositions event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
sourceTypes event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
sourcesData event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
state event.idm.read_only_udm.security_result.alert_state Mapeado do registro de mudanças
event1.description.messageid event.idm.read_only_udm.network.email.mail_id Mapeado do registro de mudanças
event1.description.sender.email event.idm.read_only_udm.principal.user.userid Mapeado do registro de mudanças
event1.description.recipient.email event.idm.read_only_udm.target.user.email_addresses Mapeado do registro de mudanças
event1.description.subject event.idm.read_only_udm.network.email.subject Mapeado do registro de mudanças
event1.description.created_at event.idm.read_only_udm.metadata.event_timestamp Mapeado do registro de mudanças
event1.description.updated_at event.idm.read_only_udm.metadata.collected_timestamp Mapeado do registro de mudanças
event1.description.id event.idm.read_only_udm.metadata.product_log_id Mapeado do registro de mudanças
event1.description.headers.From event.idm.read_only_udm.sec_result.detection_fields Mapeado do registro de mudanças
event1.description.headers.To event.idm.read_only_udm.network.email.to Mapeado do registro de mudanças
event1.description.headers.Reply-To event.idm.read_only_udm.network.email.reply_to Mapeado do registro de mudanças
event1.description.headers.Received-SPF event.idm.read_only_udm.sec_result.description Mapeado do registro de mudanças
event1.description.headers.DKIM-Signature event.idm.read_only_udm.sec_result.detection_fields Mapeado do registro de mudanças
event1.description.sender.vap event.idm.read_only_udm.principal.user.attribute.labels Mapeado do registro de mudanças
event1.description.recipient.vap event.idm.read_only_udm.target.user.attribute.labels Mapeado do registro de mudanças
event1.description.hosts.url event.idm.read_only_udm.intermediary.labels Mapeado do registro de mudanças
event1.description.urls event.idm.read_only_udm.security_result.detection_fields Mapeado do registro de mudanças
event1.description.severity event.idm.read_only_udm.sec_result.severity Mapeado do registro de mudanças
event1.description.state event.idm.read_only_udm.sec_result.summary Mapeado do registro de mudanças
mailfrom", "spf", "dkim1", "header_s1", "header_d1", "dkim2", "header_s2", "header_d2", and "dmarc security_result.detection_fields Mapeado do registro de mudanças
users principal.user.userid Mapeado do registro de mudanças

Registro de alterações

Ver o registro de alterações deste analisador

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