收集 Proofpoint On-Demand 記錄

支援的國家/地區:

本文說明如何使用內建 API 整合功能,將 Proofpoint On-Demand 記錄擷取至 Google Security Operations。剖析器會從 JSON 記錄檔中擷取欄位,並轉換為 Chronicle UDM 格式。這個外掛程式會處理兩種主要記錄格式:一種包含電子郵件中繼資料,另一種包含 SMTP 交易詳細資料,並使用條件邏輯適當剖析欄位,然後根據可用資料填入 Unified Data Model (UDM) 欄位。剖析器也會執行資料清理作業,例如移除多餘字元和轉換時間戳記。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • Proofpoint On-Demand Remote Syslog 授權
  • Proofpoint 的特殊存取權

設定 Proofpoint On-Demand API 存取權

  1. 登入 Proofpoint 管理入口網站。
  2. 複製叢集 ID (顯示在管理介面右上角,版本號碼旁邊)。
  3. 依序前往「設定」>「API 金鑰管理」
  4. 按一下「Create New」(建立新項目),開啟「Create New API Key」(建立新的 API 金鑰) 對話方塊。
  5. 輸入不重複的名稱 (例如 Google SecOps Key)。
  6. 產生 API 金鑰
  7. 在新的 API 金鑰上,從省略號選單中選取「查看詳細資料」
  8. 複製 API 金鑰

設定動態饋給

如要設定動態消息,請按照下列步驟操作:

  1. 依序前往「SIEM 設定」>「動態消息」
  2. 按一下「新增動態消息」
  3. 在下一個頁面中,按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如 PoD Logs)。
  5. 選取「第三方 API」做為「來源類型」
  6. 選取「Proofpoint On-Demand」記錄類型。
  7. 點選「下一步」
  8. 指定下列輸入參數的值:

    • 驗證 HTTP 標頭:以 Authorization: Bearer {API_KEY} 格式輸入 Proofpoint API 金鑰,並新增一行包含下列 WebSocket 金鑰資料:Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==
    • 叢集 ID:輸入您先前複製的 Proofpoint 叢集 ID。
  9. 點選「下一步」

  10. 在「Finalize」畫面中檢查動態饋給設定,然後按一下「Submit」

UDM 對應表

記錄欄位 UDM 對應 邏輯
classification security_result.detection_fields.classification 這個值直接來自原始記錄中的 classification 欄位。
cluster security_result.detection_fields.cluster 這個值直接來自原始記錄中的 cluster 欄位。
completelyRewritten security_result.detection_fields.completelyRewritten 這個值直接來自原始記錄中的 completelyRewritten 欄位。
connection.country principal.location.country_or_region 除非是「**」,否則這個值會直接取自原始記錄中的 connection.country 欄位。
connection.host principal.hostname 這個值直接來自原始記錄中的 connection.host 欄位。
connection.ip principal.ip 如果原始記錄中的 connection.ip 欄位是有效的 IPv4 位址,系統會直接採用該值。如果存在,也會與 senderIP 合併。
connection.protocol network.application_protocol 使用 gsub 擷取 connection.protocol 中冒號前的通訊協定部分,然後進行對應。例如,「smtp:smtp」會變成「SMTP」。
connection.tls.inbound.cipher network.tls.cipher 除非值為「NONE」,否則這個值會直接取自原始記錄中的 connection.tls.inbound.cipher 欄位。
connection.tls.inbound.version network.tls.version 除非密碼為「NONE」,否則這個值會直接來自原始記錄中的 connection.tls.inbound.version 欄位。
envelope.from network.email.from 這個值直接取自原始記錄中的 envelope.from 欄位。如果存在,也會由 sm.fromfromAddress 取代。
envelope.rcpts network.email.to 如果 envelope.rcpts 中的電子郵件地址有效,系統會將其合併至 network.email.to 欄位。如果存在,也會與 sm.totoAddresses 合併。
envelope.rcptsHashed read_only_udm.additional.fields envelope.rcptsHashed 中的雜湊電子郵件地址會新增為其他欄位,並使用「toHashed_0」、「toHashed_1」等鍵。
eventTime @timestamp 系統會使用 ISO8601 或 RFC 3339 格式,從 eventTime 欄位剖析值。
eventType security_result.summary 這個值直接來自原始記錄中的 eventType 欄位。
filter.disposition security_result.action_details 除非有 tls.verify,否則這個值會直接來自原始記錄中的 filter.disposition 欄位。
filter.modules.av.virusNames.0 security_result.threat_name 這個值直接來自原始記錄中的 filter.modules.av.virusNames.0 欄位。
filter.modules.dmarc.authResults read_only_udm.additional.fields filter.modules.dmarc.authResults 中每個項目的方法和結果都會新增為額外欄位,並使用「authResultsMethod_0」、「authResults_result_0」、「authResultsMethod_1」等鍵。
filter.modules.spam.langs read_only_udm.additional.fields filter.modules.spam.langs 中的每種語言都會新增為額外欄位,並使用「lang_0」、「lang_1」等鍵。
filter.modules.spam.safeBlockedListMatches.0.listType security_result.detection_fields.safeBlockedListMatches_listType 這個值直接來自原始記錄中的 filter.modules.spam.safeBlockedListMatches.0.listType 欄位。
filter.modules.spam.safeBlockedListMatches.0.rule security_result.detection_fields.safeBlockedListMatches_rule 這個值直接來自原始記錄中的 filter.modules.spam.safeBlockedListMatches.0.rule 欄位。
filter.modules.spam.scores.classifiers.adult security_result.detection_fields.adult 如果原始記錄中的 filter.modules.spam.scores.classifiers.adult 欄位不為空白或 0,則值會直接來自該欄位。
filter.modules.spam.scores.classifiers.bulk security_result.detection_fields.bulk 如果原始記錄中的 filter.modules.spam.scores.classifiers.bulk 欄位不為空白或 0,則值會直接來自該欄位。
filter.modules.spam.scores.classifiers.impostor security_result.detection_fields.impostor 如果原始記錄中的 filter.modules.spam.scores.classifiers.impostor 欄位不為空白或 0,則值會直接來自該欄位。
filter.modules.spam.scores.classifiers.lowpriority security_result.detection_fields.lowpriority 如果原始記錄中的 filter.modules.spam.scores.classifiers.lowpriority 欄位不為空白或 0,則值會直接來自該欄位。
filter.modules.spam.scores.classifiers.malware security_result.detection_fields.malware 如果原始記錄中的 filter.modules.spam.scores.classifiers.malware 欄位不為空白或 0,則值會直接來自該欄位。
filter.modules.spam.scores.classifiers.mlx security_result.detection_fields.mlx 如果原始記錄中的 filter.modules.spam.scores.classifiers.mlx 欄位不為空白或 0,則值會直接來自該欄位。
filter.modules.spam.scores.classifiers.mlxlog security_result.detection_fields.mlxlog 如果原始記錄中的 filter.modules.spam.scores.classifiers.mlxlog 欄位不為空白或 0,則值會直接來自該欄位。
filter.modules.spam.scores.classifiers.phish security_result.detection_fields.phish 如果原始記錄中的 filter.modules.spam.scores.classifiers.phish 欄位不為空白或 0,則值會直接來自該欄位。
filter.modules.spam.scores.classifiers.spam security_result.detection_fields.spam 如果原始記錄中的 filter.modules.spam.scores.classifiers.spam 欄位不為空白或 0,則值會直接來自該欄位。
filter.modules.spam.scores.classifiers.suspect security_result.detection_fields.suspect 如果原始記錄中的 filter.modules.spam.scores.classifiers.suspect 欄位不為空白或 0,則值會直接來自該欄位。
filter.modules.spam.scores.engine security_result.detection_fields.engine 如果原始記錄中的 filter.modules.spam.scores.engine 欄位不為空白或 0,則值會直接來自該欄位。
filter.modules.spam.scores.overall security_result.detection_fields.overall 如果原始記錄中的 filter.modules.spam.scores.overall 欄位不為空白或 0,則值會直接來自該欄位。
filter.modules.spam.version.definitions security_result.summary 這個值直接來自原始記錄中的 filter.modules.spam.version.definitions 欄位。
filter.modules.spam.version.engine metadata.product_version 這個值直接來自原始記錄中的 filter.modules.spam.version.engine 欄位。
filter.modules.urldefense.counts.rewritten read_only_udm.additional.fields.urldefenseCountsRewritten 這個值直接來自原始記錄中的 filter.modules.urldefense.counts.rewritten 欄位。
filter.modules.urldefense.counts.total security_result.detection_fields.urldefense_total 這個值直接來自原始記錄中的 filter.modules.urldefense.counts.total 欄位。
filter.modules.zerohour.score read_only_udm.additional.fields.zeroHourScore 這個值直接來自原始記錄中的 filter.modules.zerohour.score 欄位。
filter.origGuid read_only_udm.additional.fields.origGuid 這個值直接來自原始記錄中的 filter.origGuid 欄位。
filter.qid read_only_udm.additional.fields.filterQid 這個值直接來自原始記錄中的 filter.qid 欄位。
filter.quarantine.folder security_result.detection_fields.filter_quarantine_folder 這個值直接來自原始記錄中的 filter.quarantine.folder 欄位。
filter.quarantine.folderId security_result.detection_fields.filter_quarantine_folderId 這個值直接來自原始記錄中的 filter.quarantine.quarantine.folderId 欄位。
filter.quarantine.module security_result.detection_fields.filter_quarantine_module 這個值直接來自原始記錄中的 filter.quarantine.module 欄位。
filter.quarantine.rule security_result.detection_fields.filter_quarantine_rule 這個值直接來自原始記錄中的 filter.quarantine.rule 欄位。
filter.quarantine.type security_result.detection_fields.filter_quarantine_type 這個值直接來自原始記錄中的 filter.quarantine.type 欄位。
filter.routeDirection network.direction 如果 filter.routeDirection 為「inbound」,network.direction 會設為「INBOUND」。如果 filter.routeDirection 為「outbound」,network.direction 會設為「OUTBOUND」。
filter.routes read_only_udm.additional.fields filter.routes 中的每個路徑都會新增為額外欄位,並使用「filterRoutes_0」、「filterRoutes_1」等鍵。
fromAddress network.email.from 如果 fromAddress 中的電子郵件地址有效,系統會將其替換為 network.email.from 欄位中的電子郵件地址。
guid metadata.product_log_id 這個值直接來自原始記錄中的 guid 欄位。
GUID metadata.product_log_id 這個值直接來自原始記錄中的 GUID 欄位。
headerFrom network.email.from 這個值直接來自原始記錄中的 headerFrom 欄位。
impostorScore security_result.detection_fields.impostorScore 這個值直接來自原始記錄中的 impostorScore 欄位。
malwareScore security_result.detection_fields.malwareScore 這個值直接來自原始記錄中的 malwareScore 欄位。
messageID network.email.mail_id 這個值直接來自原始記錄中的 messageID 欄位。
messageSize security_result.detection_fields.messageSize 這個值直接來自原始記錄中的 messageSize 欄位。
messageTime @timestamp 系統會使用 ISO8601 或 RFC 3339 格式,從 messageTime 欄位剖析值。
metadata.customerId principal.labels.customerId 這個值直接來自原始記錄中的 metadata.customerId 欄位。
metadata.origin.data.agent network.http.user_agent 這個值直接來自原始記錄中的 metadata.origin.data.agent 欄位。
metadata.origin.data.cid principal.user.userid 這個值直接來自原始記錄中的 metadata.origin.data.cid 欄位。
metadata.origin.data.version metadata.product_version 這個值直接來自原始記錄中的 metadata.origin.data.version 欄位。
msg.header.from read_only_udm.additional.fields.msgHeaderFrom 這個值直接來自原始記錄中的 msg.header.from.0 欄位。
msg.header.reply-to network.email.reply_to 系統會擷取 msg.header.reply-to.0 中以 <> 括住的電子郵件地址,並進行對應。
msg.header.subject network.email.subject 這個值直接來自原始記錄中的 msg.header.subject 欄位。
msg.header.to read_only_udm.additional.fields.msgHeaderTo 這個值直接來自原始記錄中的 msg.header.to 欄位。
msg.normalizedHeader.subject network.email.subject 這個值直接來自原始記錄中的 msg.normalizedHeader.subject 欄位。
msg.parsedAddresses.cc network.email.cc 如果 msg.parsedAddresses.cc 中的電子郵件地址有效,系統會將其合併至 network.email.cc 欄位。
msg.parsedAddresses.ccHashed read_only_udm.additional.fields 系統會將 msg.parsedAddresses.ccHashed 中的雜湊電子郵件地址新增為額外欄位,並使用「ccHashed_0」、「ccHashed_1」等鍵。
msg.parsedAddresses.from read_only_udm.additional.fields.msgParsedAddressesFrom 這個值直接來自原始記錄中的 msg.parsedAddresses.from.0 欄位。
msg.parsedAddresses.from.0 principal.user.email_addresses 這個值直接來自原始記錄中的 msg.parsedAddresses.from.0 欄位。
msg.parsedAddresses.fromHashed read_only_udm.additional.fields.fromHashed 這個值直接來自原始記錄中的 msg.parsedAddresses.fromHashed.0 欄位。
msg.parsedAddresses.to target.user.email_addresses 如果 msg.parsedAddresses.to 中的電子郵件地址有效,系統會將其合併至 target.user.email_addresses 欄位。
msgParts read_only_udm.about 系統會建立多個 about 物件,msgParts 中的每個項目各對應一個。系統會擷取檔案雜湊、MIME 類型、大小和其他中繼資料。
QID security_result.detection_fields.QID 這個值直接來自原始記錄中的 QID 欄位。
recipient target.user.email_addresses 如果 recipient 中的電子郵件地址有效,系統會將其合併至 target.user.email_addresses 欄位。
replyToAddress network.email.reply_to 如果 replyToAddress 中的電子郵件地址有效,系統會將其替換為 network.email.reply_to 欄位中的電子郵件地址。
sender principal.user.email_addresses 如果 sender 欄位中的值是有效的電子郵件地址,系統會直接採用該值。
senderIP principal.ip 這個值直接來自原始記錄中的 senderIP 欄位。
sm.from network.email.from 這個值直接來自原始記錄中的 sm.from 欄位。
sm.msgid network.email.mail_id 這個值直接取自原始記錄中的 sm.msgid 欄位,並移除「<」和「>」。
sm.proto network.application_protocol 這個值直接來自原始記錄中的 sm.proto 欄位。
sm.qid security_result.detection_fields.QUID 這個值直接來自原始記錄中的 sm.qid 欄位。
sm.relay intermediary.hostnameintermediary.ip 主機名稱和 IP 位址是使用 grok 從 sm.relay 中擷取。
sm.stat security_result.detection_fields.Stat 使用 grok 擷取並對應 sm.stat 的第一個字。
sm.to network.email.to 如果 sm.to 中的電子郵件地址有效,系統會將其合併至 network.email.to 欄位。
spamScore security_result.detection_fields.spamScore 這個值直接來自原始記錄中的 spamScore 欄位。
subject network.email.subject 這個值直接來自原始記錄中的 subject 欄位。
threat security_result.detection_fields.threat 這個值直接來自原始記錄中的 threat 欄位。
threatsInfoMap security_result.detection_fields 系統會將 threatsInfoMap 中每個項目的鍵/值組合新增為偵測欄位。
threatType security_result.detection_fields.threatType 這個值直接來自原始記錄中的 threatType 欄位。
tls.cipher network.tls.cipher 除非值為「NONE」,否則這個值會直接取自原始記錄中的 tls.cipher 欄位。
tls.verify security_result.action_details 這個值直接來自原始記錄中的 tls.verify 欄位。
tls.version network.tls.version 除非密碼為「NONE」,否則這個值會直接來自原始記錄中的 tls.version 欄位。
toAddresses network.email.to 如果 toAddresses 中的電子郵件地址有效,系統會將其合併至 network.email.to 欄位。
ts @timestamp 系統會先預先處理額外的秒數小數部分,再使用 ISO8601 或 RFC 3339 格式,從 ts 欄位剖析值。

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。