Proofpoint On-Demand のログを収集する

以下でサポートされています。

このドキュメントでは、組み込みの API 統合を使用して Proofpoint On-Demand ログを Google Security Operations に取り込む方法について説明します。パーサーは JSON ログからフィールドを抽出し、Chronicle UDM 形式に変換します。メールのメタデータを含むログ形式と SMTP トランザクションの詳細を含むログ形式の 2 つの主要なログ形式を処理します。条件付きロジックを使用してフィールドを適切に解析し、利用可能なデータに基づいて統合データモデル(UDM)フィールドにデータを入力します。また、パーサーは、不要な文字の削除やタイムスタンプの変換などのデータ クリーニングも行います。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • Proofpoint On-Demand Remote Syslog ライセンス
  • Proofpoint への特権アクセス

Proofpoint On-Demand の API アクセスを構成する

  1. Proofpoint Admin ポータルにログインします。
  2. クラスタ ID をコピーします(管理インターフェースの右上隅にリリース番号の横に表示されます)。
  3. [設定] > [API キーの管理] に移動します。
  4. [Create New] をクリックして、[Create New API Key] ダイアログを開きます。
  5. 一意の名前を入力します(例: Google SecOps Key)。
  6. API キーを生成します。
  7. 新しい API キーの省略記号メニューから [View Details] を選択します。
  8. API キーをコピーします。

フィードを設定する

Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。

  • [SIEM 設定] > [フィード]
  • [Content Hub] > [Content Packs]

[SIEM 設定] > [フィード] でフィードを設定する

フィードを構成する手順は次のとおりです。

  1. [SIEM Settings] > [Feeds] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで [単一のフィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: PoD Logs)。
  5. [ソースタイプ] として [サードパーティ API] を選択します。
  6. [Proofpoint On-Demand] ログタイプを選択します。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。

    • Authentication HTTP headers: Proofpoint API キーを Authorization: Bearer {API_KEY} 形式で入力し、次の WebSocket-Key データ Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ== を含む新しい行を追加します。
    • Cluster ID: 先ほどコピーした Proofpoint クラスタ ID を入力します。
  9. [次へ] をクリックします。

  10. [Finalize] 画面でフィードの設定を確認し、[Submit] をクリックします。

コンテンツ ハブからフィードを設定する

次のフィールドに値を指定します。

  • Authentication HTTP headers: Proofpoint API キーを Authorization: Bearer {API_KEY} 形式で入力し、次の WebSocket-Key データ Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ== を新しい行に追加します。
  • Cluster ID: 先ほどコピーした Proofpoint クラスタ ID を入力します。

詳細オプション

  • フィード名: フィードを識別する値が事前入力されています。
  • ソースタイプ: ログを Google SecOps に収集するために使用される方法。
  • アセット Namespace: フィードに関連付けられた Namespace。
  • Ingestion Labels: このフィードのすべてのイベントに適用されるラベル。

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 この値は、有効な IPv4 アドレスであれば、未加工ログの connection.ip フィールドから直接取得されます。また、senderIP が存在する場合は、それと統合されます。
connection.protocol network.application_protocol connection.protocol のコロンの前のプロトコル部分が gsub を使用して抽出され、マッピングされます。たとえば、「smtp:smtp」は「SMTP」になります。
connection.tls.inbound.cipher network.tls.cipher この値は、未加工ログの connection.tls.inbound.cipher フィールドから直接取得されます(「NONE」の場合を除く)。
connection.tls.inbound.version network.tls.version この値は、暗号が「NONE」でない限り、未加工ログの connection.tls.inbound.version フィールドから直接取得されます。
envelope.from network.email.from この値は、未加工ログの envelope.from フィールドから直接取得されます。また、存在する場合は sm.from または fromAddress に置き換えられます。
envelope.rcpts network.email.to envelope.rcpts のメールアドレスが有効な場合、network.email.to フィールドに統合されます。また、sm.to または toAddresses が存在する場合は、それらと統合されます。
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 のエントリごとに 1 つ作成されます。ファイル ハッシュ、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 sm.stat の最初の単語が Grok を使用して抽出され、マッピングされます。
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 の各エントリの Key-Value ペアが検出フィールドとして追加されます。
threatType security_result.detection_fields.threatType この値は、未加工ログの threatType フィールドから直接取得されます。
tls.cipher network.tls.cipher この値は、未加工ログの tls.cipher フィールドから直接取得されます(「NONE」の場合を除く)。
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 のプロフェッショナルから回答を得ることができます。