Proofpoint Threat Response (TRAP) 로그 수집

다음에서 지원:

이 문서에서는 Bindplane 에이전트를 사용하여 Proofpoint 위협 대응 (TRAP) 로그를 Google Security Operations로 수집하는 방법을 설명합니다.

Proofpoint Threat Response Auto-Pull (TRAP)은 자동화된 위협 대응 및 해결을 위한 보안 조정 플랫폼입니다. 이메일, 엔드포인트, 네트워크 보안 도구와 통합되어 사고 조사 및 봉쇄를 가속화합니다.

시작하기 전에

다음 기본 요건이 충족되었는지 확인합니다.

  • Google SecOps 인스턴스
  • Windows Server 2016 이상 또는 systemd가 설치된 Linux 호스트
  • Bindplane 에이전트와 Proofpoint TRAP 서버 간 네트워크 연결
  • 프록시 뒤에서 실행하는 경우 Bindplane 에이전트 요구사항에 따라 방화벽 포트가 열려 있는지 확인합니다.
  • 관리자 권한이 있는 Proofpoint TRAP 관리 콘솔에 대한 권한 액세스

Google SecOps 수집 인증 파일 가져오기

  1. Google SecOps 콘솔에 로그인합니다.
  2. SIEM 설정 > 수집 에이전트로 이동합니다.
  3. 수집 인증 파일을 다운로드합니다.
  4. Bindplane이 설치될 시스템에 파일을 안전하게 저장합니다.

Google SecOps 고객 ID 가져오기

  1. Google SecOps 콘솔에 로그인합니다.
  2. SIEM 설정 > 프로필로 이동합니다.
  3. 조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.

Bindplane 에이전트 설치

다음 안내에 따라 Windows 또는 Linux 운영체제에 Bindplane 에이전트를 설치합니다.

Windows 설치

  1. 명령 프롬프트 또는 PowerShell을 관리자로 엽니다.
  2. 다음 명령어를 실행합니다.

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. 설치가 완료될 때까지 기다립니다.

  4. 다음을 실행하여 설치를 확인합니다.

    sc query observiq-otel-collector
    

    서비스가 실행 중으로 표시되어야 합니다.

Linux 설치

  1. 루트 또는 sudo 권한으로 터미널을 엽니다.
  2. 다음 명령어를 실행합니다.

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. 설치가 완료될 때까지 기다립니다.

  4. 다음을 실행하여 설치를 확인합니다.

    sudo systemctl status observiq-otel-collector
    

    서비스가 active (running)으로 표시되어야 합니다.

추가 설치 리소스

추가 설치 옵션 및 문제 해결은 Bindplane 에이전트 설치 가이드를 참고하세요.

syslog를 수집하여 Google SecOps로 전송하도록 Bindplane 에이전트 구성

구성 파일 찾기

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

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

구성 파일 설정

  • config.yaml의 전체 내용을 다음 구성으로 바꿉니다.

    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
    

구성 매개변수

다음 자리표시자를 바꿉니다.

  • 수신기 구성:

    • tcplog: TCP를 통해 syslog를 수신합니다. TRAP에서 UDP 전송을 구성하는 경우 udplog를 사용합니다.
    • 0.0.0.0:514: 포트 514의 모든 인터페이스에서 수신합니다. 필요한 경우 포트를 변경합니다 (예: 비루트 Linux의 경우 1514).
  • 내보내기 도구 구성:

    • <CREDS_FILE_PATH>: 수집 인증 파일의 전체 경로입니다.
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • <CUSTOMER_ID>: Google SecOps 고객 ID 가져오기 단계의 고객 ID입니다.
    • <REGION_ENDPOINT>: 리전 엔드포인트 URL:
      • 미국: malachiteingestion-pa.googleapis.com
      • 유럽: europe-malachiteingestion-pa.googleapis.com
      • 아시아: asia-southeast1-malachiteingestion-pa.googleapis.com
      • 전체 목록은 리전 엔드포인트를 참고하세요.

구성 파일 저장

  • 수정 후 파일을 저장합니다.
    • Linux: Ctrl+O, Enter, Ctrl+X 순서로 누릅니다.
    • Windows: 파일 > 저장을 클릭합니다.

변경사항을 적용하려면 Bindplane 에이전트를 다시 시작하세요.

  • Linux에서 Bindplane 에이전트를 다시 시작하려면 다음 명령어를 실행합니다.

    sudo systemctl restart observiq-otel-collector
    
    1. 서비스가 실행 중인지 확인합니다.

      sudo systemctl status observiq-otel-collector
      
    2. 로그에서 오류를 확인합니다.

      sudo journalctl -u observiq-otel-collector -f
      
  • Windows에서 Bindplane 에이전트를 다시 시작하려면 다음 옵션 중 하나를 선택합니다.

    • 관리자 권한으로 명령 프롬프트 또는 PowerShell:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • 서비스 콘솔:

      1. Win+R 키를 누르고 services.msc을 입력한 다음 Enter 키를 누릅니다.
      2. observIQ OpenTelemetry Collector를 찾습니다.
      3. 마우스 오른쪽 버튼을 클릭하고 다시 시작을 선택합니다.
      4. 서비스가 실행 중인지 확인합니다.

        sc query observiq-otel-collector
        
      5. 로그에서 오류를 확인합니다.

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

Proofpoint TRAP syslog 전달 구성

  1. Proofpoint TRAP 관리 콘솔 (일반적으로 https://trap-server:8080)에 로그인합니다.
  2. 모니터링 로깅으로 이동합니다.
  3. syslog 대상 구성:
    • 호스트: Bindplane 에이전트 호스트의 IP 주소를 입력합니다 (예: 192.168.1.100).
    • 포트: 514을 입력합니다 (Bindplane 에이전트 수신기 포트와 일치해야 함).
    • 심각도: 로그 전달의 최소 심각도 수준을 선택합니다.
  4. 저장을 클릭합니다.
  5. Bindplane 에이전트 로그를 확인하여 로그가 전송되고 있는지 확인합니다.

UDM 매핑 테이블

로그 필드 UDM 매핑 논리
_field additional.fields 병합됨
additional_modulesRun additional.fields 병합됨
alternateGraphApiEndpoint_additional additional.fields 병합됨
azureAdAuthEndpoint_additional additional.fields 병합됨
clientId_additional additional.fields 병합됨
clientSecret_additional additional.fields 병합됨
disposition_additional_data additional.fields 병합됨
disposition_data_available additional.fields 매핑됨: truedisposition_additional_data
exchangeAPI_additional additional.fields 병합됨
exchangeAuthType_additional additional.fields 병합됨
graphApiEndpoint_additional additional.fields 병합됨
headers_X-Forefront-Antispam-Report additional.fields 병합됨
headers_accept_lang_label additional.fields 병합됨
headers_authentication_results_label additional.fields 병합됨
headers_content_language_label additional.fields 병합됨
headers_content_transfer_encoding_label additional.fields 병합됨
headers_content_type_label additional.fields 병합됨
headers_date_label additional.fields 병합됨
headers_message_id_label additional.fields 병합됨
headers_mime_version_label additional.fields 병합됨
headers_received_label additional.fields 병합됨
headers_return_path_label additional.fields 병합됨
headers_thread_index_label additional.fields 병합됨
headers_thread_topic_label additional.fields 병합됨
headers_x_ms_exchange_antispam_feedbackprocessing_scenario_label additional.fields 병합됨
headers_x_ms_exchange_antispam_feedcategory_label additional.fields 병합됨
headers_x_ms_exchange_antispam_feedtype_label additional.fields 병합됨
headers_x_ms_exchange_organization_antispam_feedcategory_label additional.fields 병합됨
incident_display_id_label additional.fields 병합됨
incident_id_label additional.fields 병합됨
incident_link_attribute_label additional.fields 병합됨
incident_title_label additional.fields 병합됨
privateKey_additional additional.fields 병합됨
source_type_additional_data additional.fields 병합됨
source_type_data_available additional.fields 매핑됨: truesource_type_additional_data
sourcesData_name_label additional.fields 병합됨
sourcesData_type_label additional.fields 병합됨
sources_id_label additional.fields 병합됨
sources_type_label additional.fields 병합됨
tap_threat_additional_data additional.fields 병합됨
tap_threat_data_available additional.fields 매핑됨: truetap_threat_additional_data
tenantId_additional additional.fields 병합됨
url_list additional.fields 병합됨
auth_details extensions.auth.auth_details 직접 매핑됨
proofpoint_trap_host intermediary.hostname 직접 매핑됨
proofpoint_trap_host intermediary.ip 병합됨
url_label intermediary.labels 병합됨
desc metadata.description 직접 매핑됨
createdAt metadata.event_timestamp ISO8601로 파싱됨
created_at metadata.event_timestamp ISO8601로 파싱됨
data.received metadata.event_timestamp ISO8601로 파싱됨
event1.description.created_at metadata.event_timestamp ISO8601로 파싱됨
event1.description.updated_at metadata.event_timestamp ISO8601로 파싱됨
eventTime metadata.event_timestamp ISO8601로 파싱됨
received metadata.event_timestamp ISO8601로 파싱됨
ts metadata.event_timestamp MMM d HH:mm:ss로 파싱됨
updatedAt metadata.event_timestamp ISO8601로 파싱됨
application metadata.event_type 매핑됨: CRONDPROCESS_UNCATEGORIZED, system-modules.authlookupUSER_LOGIN
has_network_email metadata.event_type 매핑됨: trueEMAIL_TRANSACTION
has_principal metadata.event_type 매핑됨: trueEMAIL_TRANSACTION
event1.description.id metadata.product_log_id 직접 매핑됨
event_id metadata.product_log_id 직접 매핑됨
id metadata.product_log_id 직접 매핑됨
has_principal metadata.product_name 매핑됨: truePROOFPOINT_TRAP
source metadata.product_name 직접 매핑됨
has_principal metadata.vendor_name 매핑됨: truePROOFPOINT
attackDirection network.direction 매핑됨: inboundINBOUND, outboundOUTBOUND
cc network.email.cc 매핑됨: ^.+@.+$cc
emaildata.sender.email network.email.from 직접 매핑됨
event1.description.headers.From network.email.from 직접 매핑됨
fromadd network.email.from 직접 매핑됨
principal_user2 network.email.from 직접 매핑됨
send_email network.email.from 직접 매핑됨
sender_address network.email.from 직접 매핑됨
email_id network.email.mail_id 직접 매핑됨
event1.description.messageid network.email.mail_id 직접 매핑됨
messageID network.email.mail_id 직접 매핑됨
event1.description.headers.Reply-To network.email.reply_to 직접 매핑됨
reply network.email.reply_to 직접 매핑됨
email_subject network.email.subject 병합됨
emaildata.subject network.email.subject 병합됨
event1.description.subject network.email.subject 병합됨
index network.email.subject 매핑됨: 0emaildata.subject
subject network.email.subject 병합됨
emaildata.recipient.email network.email.to 병합됨
event1.description.headers.To network.email.to 병합됨
index network.email.to 매핑됨: 0emaildata.recipient.email, 0to_email
principal_user1 network.email.to 병합됨
recipient_address network.email.to 매핑됨: ^.+@.+$recipient_address
to network.email.to 매핑됨: ^.+@.+$to
to_email network.email.to 병합됨
http_method network.http.method 직접 매핑됨
http_url network.http.referral_url 직접 매핑됨
ses_id network.session_id 직접 매핑됨
application principal.application 직접 매핑됨
senderIP principal.asset.ip 병합됨
sender_IP principal.asset.ip 병합됨
msgparts.md5 principal.file.md5 직접 매핑됨
msgparts.filename principal.file.names 병합됨
msgparts.sha256 principal.file.sha1 직접 매핑됨
hostname principal.hostname 직접 매핑됨
senderIP principal.ip 병합됨
sender_IP principal.ip 병합됨
src_ip principal.ip 병합됨
file_name principal.process.file.full_path 직접 매핑됨
pid principal.process.pid 직접 매핑됨
attachment_label principal.resource.attribute.labels 병합됨
title_label principal.resource.attribute.labels 병합됨
ewsUrl principal.url 직접 매핑됨
principal_link principal.url 직접 매핑됨
sender_vap_label principal.user.attribute.labels 병합됨
emaildata.sender.email principal.user.email_addresses 병합됨
index principal.user.email_addresses 매핑됨: 0emaildata.sender.email
principal_user1 principal.user.email_addresses 병합됨
principal_user2 principal.user.email_addresses 병합됨
sender principal.user.email_addresses 병합됨
assignedUserName principal.user.user_display_name 직접 매핑됨
username principal.user.user_display_name 직접 매핑됨
assignedUserId principal.user.userid 직접 매핑됨
principal_user1 principal.user.userid 직접 매핑됨
principal_user2 principal.user.userid 직접 매핑됨
sender_email principal.user.userid 직접 매핑됨
src_user principal.user.userid 직접 매핑됨
user principal.user.userid 직접 매핑됨
index security_result 매핑됨: 0sec_res2
sec_res security_result 병합됨
sec_res2 security_result 병합됨
sec_result security_result 병합됨
state security_result.alert_state 매핑됨: "OPEN", "IN_PROGRESS"ALERTING, CLOSEDNOT_ALERTING
QID_field security_result.detection_fields 병합됨
alert_type_label security_result.detection_fields 병합됨
body_label security_result.detection_fields 병합됨
body_type_label security_result.detection_fields 병합됨
cluster_label security_result.detection_fields 병합됨
completelyRewritten_field security_result.detection_fields 병합됨
disposition_label security_result.detection_fields 병합됨
dkim1_label security_result.detection_fields 병합됨
dkim2_label security_result.detection_fields 병합됨
dkim3_label security_result.detection_fields 병합됨
dmarc_label security_result.detection_fields 병합됨
event_id_label security_result.detection_fields 병합됨
header_d1_label security_result.detection_fields 병합됨
header_d2_label security_result.detection_fields 병합됨
header_d3_label security_result.detection_fields 병합됨
header_from_label security_result.detection_fields 병합됨
header_s1_label security_result.detection_fields 병합됨
header_s2_label security_result.detection_fields 병합됨
header_s3_label security_result.detection_fields 병합됨
impostorScore_field security_result.detection_fields 병합됨
index security_result.detection_fields 매핑됨: 0messageId_label
key_data security_result.detection_fields 병합됨
mailfrom_label security_result.detection_fields 병합됨
malwareScore_field security_result.detection_fields 병합됨
messageId_label security_result.detection_fields 병합됨
messageSize_field security_result.detection_fields 병합됨
phishScore_field security_result.detection_fields 병합됨
quarantineFolder_label security_result.detection_fields 병합됨
quarantineRule_label security_result.detection_fields 병합됨
spamScore_field security_result.detection_fields 병합됨
spf_label security_result.detection_fields 병합됨
state_label security_result.detection_fields 병합됨
severity security_result.severity 매핑됨: InfoINFORMATIONAL
severity security_result.severity_details 직접 매핑됨
state security_result.summary 직접 매핑됨
cmd target.process.command_line 직접 매핑됨
pwd target.process.file.full_path 직접 매핑됨
recipient_vap_label target.user.attribute.labels 병합됨
email target.user.email_addresses 병합됨
emaildata.abuseReporterAddress target.user.email_addresses 병합됨
index target.user.email_addresses 매핑됨: 0emaildata.abuseReporterAddress
recipient_email target.user.email_addresses 병합됨
dst_user target.user.userid 직접 매핑됨
해당 사항 없음 metadata.event_type 상수: EMAIL_TRANSACTION
해당 사항 없음 metadata.product_name 상수: PROOFPOINT_TRAP
해당 사항 없음 metadata.vendor_name 상수: PROOFPOINT
해당 사항 없음 network.application_protocol 상수: HTTP
해당 사항 없음 network.direction 상수: INBOUND
해당 사항 없음 security_result.alert_state 상수: ALERTING
해당 사항 없음 security_result.severity 상수: INFORMATIONAL

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.