收集 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 金鑰

設定動態饋給

在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:

  • 「SIEM 設定」>「動態消息」
  • 內容中心 > 內容包

依序前往「SIEM 設定」>「動態饋給」,設定動態饋給

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

  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」

從內容中心設定動態饋給

為下列欄位指定值:

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

進階選項

  • 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
  • 來源類型:將記錄收集到 Google SecOps 的方法。
  • 資產命名空間:與動態饋給相關聯的命名空間。
  • 擷取標籤:套用至這個動態饋給所有事件的標籤。

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 專業人員尋求答案。