Forcepoint Email Security のログを収集する
パーサーのバージョン: 2.0
このドキュメントでは、BindPlane を使用して Forcepoint Email Security ログを Google Security Operations に取り込む方法について説明します。パーサーはまず、JSON 形式のログからフィールドを抽出し、一部の UDM フィールドを空の値で初期化します。次に、特定の条件とデータ操作に基づいて、抽出されたフィールドを Chronicle UDM 構造内の対応するフィールドにマッピングし、最終的にメール セキュリティ イベントの統合表現を作成します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows 2016 以降、または
systemdを使用する Linux ホスト - プロキシの背後で実行している場合は、BindPlane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
- Forcepoint Email Security アプライアンスまたは管理コンソールへの特権アクセス
Bindplane エージェントの Google SecOps 認証情報を取得する
Bindplane エージェントを Google SecOps に対して認証するには、次のいずれかの方法を選択します。
- 新規デプロイ: Chronicle API を使用します(オプション 1)。
- 以前のデプロイ: 2027 年 7 月 20 日に Ingestion API が廃止されるまで、取り込み認証ファイル(オプション 2)を引き続き使用します。
オプション 1: Chronicle API のサービス アカウントを作成する(推奨)
- Google Cloud コンソールにログインし、Google SecOps インスタンスにリンクされている Google Cloud プロジェクトを選択します。
- [IAM と管理> サービス アカウント] に移動します。
- [サービス アカウントを作成] をクリックします。
- 次の構成情報を指定します。
- サービス アカウント名: アカウントの名前を入力します(例:
bindplane-ingest)。 - サービス アカウントの説明: 説明を入力します(例:
Bindplane agent log ingestion)。
- サービス アカウント名: アカウントの名前を入力します(例:
- [作成して続行] をクリックします。
- [このサービス アカウントにプロジェクトへのアクセスを許可する] セクションで、[ロールを選択] をクリックし、[Chronicle 編集者] を選択します。
- [続行] をクリックして [完了] をクリックします。
- 作成したサービス アカウントをクリックし、[キー] タブに移動します。
- [鍵を追加] > [新しい鍵を作成] の順にクリックします。
- [JSON] を選択し、[作成] をクリックします。キーファイルがパソコンにダウンロードされます。
- 鍵ファイルを Bindplane コレクタ ディレクトリ(Linux の場合は
/opt/observiq-otel-collector/ingestion-auth.json、Windows の場合はC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json)にingestion-auth.jsonとして保存するか、config.yamlのcreds_file_pathを保存先のパスと一致するように更新します。 - [IAM と管理] > [設定] に移動し、[プロジェクト番号] をコピーします。これはエクスポータの構成に必要です。
オプション 2: 取り込み認証ファイルをダウンロードする(レガシー)
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [収集エージェント] に移動します。
- 取り込み認証ファイルをダウンロードします。
- Bindplane エージェントがインストールされるシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
BindPlane Agent をインストールする
次の手順に沿って、Windows または Linux オペレーティング システムに BindPlane エージェントをインストールします。
Windows へのインストール
- 管理者として コマンド プロンプトまたは PowerShell を開きます。
次のコマンドを実行します。
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux へのインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
その他のインストール リソース
- その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。
- 代替手段: エージェントの一元管理に BindPlane OP マネージド インストール ワークフローを使用することもできます。
Syslog を取り込んで Google SecOps に送信するように BindPlane Agent を構成する
構成ファイルにアクセスします。
config.yamlファイルを見つけます。通常、Linux の場合は/opt/observiq-otel-collector/ディレクトリ、Windows の場合はインストール ディレクトリにあります。- テキスト エディタ(
nano、vi、メモ帳など)を使用してファイルを開きます。
config.yamlファイルを次のように編集します。receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <CUSTOMER_ID> endpoint: chronicle.googleapis.com # Add optional ingestion labels for better organization log_type: 'FORCEPOINT_EMAILSECURITY' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
<LOCATION>は、Google SecOps インスタンスのリージョン(us、europe、asia-southeast1など)に置き換えます。エクスポータは、chronicle.googleapis.comの先頭にこの値を付加します。<PROJECT_NUMBER>は、[IAM と管理>設定] のプロジェクト番号に置き換えます。<CUSTOMER_ID>は、実際のお客様 ID に置き換えます。/path/to/ingestion-authentication-file.jsonを、手順 1 でサービス アカウント キー ファイル(オプション 1)を保存したファイルパスに更新します。
以前の Ingestion API エクスポータ
オプション 2 の取り込み認証ファイルを使用する場合は、
exportersブロックを次のように置き換えます。creds_file_pathを取り込み認証ファイルのパスに設定します。インスタンスが米国以外にある場合は、malachiteingestion-pa.googleapis.comをリージョン エンドポイント(例:europe-malachiteingestion-pa.googleapis.com)に置き換えます。exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <CUSTOMER_ID> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'FORCEPOINT_EMAILSECURITY' raw_log_field: body ingestion_labels:
BindPlane Agent を再起動して変更を適用する
Linux で BindPlane Agent を再起動するには、次のコマンドを実行します。
sudo systemctl restart observiq-otel-collectorWindows で BindPlane エージェントを再起動するには、サービス コンソールを使用するか、次のコマンドを入力します。
net stop observiq-otel-collector && net start observiq-otel-collector
Forcepoint Email Security で Syslog 転送を構成する
- Forcepoint Email Security Management Console にログインします。
- [Settings] > [Integrations] > [SIEM Integration] に移動します。
- [Enable SIEM Integration] をクリックします。
次の構成情報を提供してください。
- 形式: [LEEF](Log Event Extended Format)を選択します。
- Syslog サーバー: BindPlane Agent の IP アドレスを入力します。
- Syslog ポート: BindPlane Agent のポート番号(
514など)を入力します。 - プロトコル: 実際の BindPlane Agent の構成に応じて、[UDP] または [TCP] を選択します。
- ファシリティ: syslog ファシリティ コード(
Local0など)を選択します。 - 重大度: ログイベントの重大度レベルを選択します。
[保存] をクリックします。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
| アクション | security_result.action_details | 未加工ログの「Action」フィールドから直接マッピングされます。 |
| AttachmentFilename | additional.fields.value.list_value.values.string_value(キー: Attachments_FileNames) | 「AttachmentFilename」フィールドはカンマで分割され、各値はキー「Attachments_FileNames」で「additional.fields」配列に string_value として追加されます。 |
| AttachmentFileType | additional.fields.value.list_value.values.string_value(キー: AttachmentsFileType) | 「AttachmentFileType」フィールドはカンマで分割され、各値はキー「AttachmentsFileType」で「additional.fields」配列に string_value として追加されます。 |
| AttachmentSize | additional.fields.value.list_value.values.string_value(キー: AttachmentsSize) | 「AttachmentSize」フィールドはカンマで分割され、各値はキー「AttachmentsSize」で「additional.fields」配列に string_value として追加されます。 |
| DateTime | 提供された UDM にマッピングされていません。 | |
| EnvelopeSender | network.email.from | 未加工ログの「EnvelopeSender」フィールドから直接マッピングされます。 |
| EventReceivedTime | metadata.event_timestamp | タイムスタンプ形式に解析され、「metadata.event_timestamp」にマッピングされます。 |
| FilteringReason | security_result.category_details | 未加工ログの「FilteringReason」フィールドから直接マッピングされます。 |
| MessageSandboxing | security_result.detection_fields.value(キー: MessageSandboxing) | 未加工ログの「MessageSandboxing」フィールドから直接マッピングされ、Key-Value ペアとして「security_result.detection_fields」配列に追加されます。 |
| MessageSize | security_result.detection_fields.value(キー: MessageSize) | 未加工ログの「MessageSize」フィールドから直接マッピングされ、「security_result.detection_fields」配列に Key-Value ペアとして追加されます。 |
| nxlog_filename | additional.fields.value.string_value(キー: nxlog_filename) | 未加工ログの「nxlog_filename」フィールドから直接マッピングされ、「additional.fields」配列に Key-Value ペアとして追加されます。 |
| RecipientAddress | network.email.to | 未加工ログの「RecipientAddress」フィールドから直接マッピングされます。 |
| SenderIP | principal.asset.ip、principal.ip | 未加工ログの「SenderIP」フィールドから直接マッピングされます。 |
| SenderIPCountry | principal.location.country_or_region | 未加工ログの「SenderIPCountry」フィールドから直接マッピングされます。 |
| SourceModuleName | principal.resource.attribute.labels.value(キー: SourceModuleName) | 未加工ログの「SourceModuleName」フィールドから直接マッピングされ、Key-Value ペアとして「principal.resource.attribute.labels」配列に追加されます。 |
| SourceModuleType | principal.resource.attribute.labels.value(キー: SourceModuleType) | 未加工ログの「SourceModuleType」フィールドから直接マッピングされ、「principal.resource.attribute.labels」配列に Key-Value ペアとして追加されます。 |
| SpamScore | security_result.detection_fields.value(キー: SpamScore) | 未加工ログの「SpamScore」フィールドから直接マッピングされ、Key-Value ペアとして「security_result.detection_fields」配列に追加されます。 |
| 件名 | network.email.subject | 未加工ログの「Subject」フィールドから直接マッピングされます。 |
| VirusName | security_result.detection_fields.value(キー: VirusName) | 未加工ログの「VirusName」フィールドから直接マッピングされ、「security_result.detection_fields」配列に Key-Value ペアとして追加されます。 |
| metadata.event_type | 値は、他のフィールドの存在に基づいて決定されます。「has_network_email_data」が true の場合、値は「EMAIL_TRANSACTION」に設定されます。「has_principal」が true の場合、値は「STATUS_UPDATE」に設定されます。それ以外の場合は、デフォルトで「GENERIC_EVENT」になります。 | |
| metadata.product_name | 値は「FORCEPOINT EMAILSECURITY」に設定されます。 | |
| metadata.vendor_name | 値は「FORCEPOINT EMAILSECURITY」に設定されます。 |
変更ログ
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。