Forcepoint Proxy ログを収集する
このドキュメントでは、Bindplane を使用して Forcepoint Proxy ログを Google Security Operations に取り込む方法について説明します。パーサーは、まず入力ログ メッセージをクリーンアップし、Grok パターンと正規表現を使用して Key-Value ペアを抽出します。次に、特定の条件とフィールド値に基づいて、抽出されたフィールドを統合データモデル(UDM)にマッピングし、さまざまなログ形式とエッジケースを処理して、一貫したデータ表現を確保します。
始める前に
- Google Security Operations インスタンスがあることを確認します。
- Windows 2016 以降、または
systemdを使用する Linux ホストを使用していることを確認します。 - プロキシの背後で実行している場合は、ファイアウォール ポートが開いていることを確認します。
- Forcepoint Proxy への特権アクセス権があることを確認します。
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
- Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
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
その他のインストール リソース
- その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
構成ファイルにアクセスします。
config.yamlファイルを見つけます。通常、Linux では/etc/bindplane-agent/ディレクトリに、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: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds: '/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 ingestion_labels: log_type: FORCEPOINT_WEBPROXY raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
<customer_id>は、実際の顧客 ID に置き換えます。/path/to/ingestion-authentication-file.jsonの値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。
Bindplane エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。
sudo systemctl restart bindplane-agentWindows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。
net stop BindPlaneAgent && net start BindPlaneAgent
Forcepoint Web Security Suite を構成する
- Forcepoint コンソールにログインします。
- [ウェブ > 設定 > 一般] に移動します。
- [SIEM 統合] をクリックします。
- [このポリシー サーバーの SIEM 統合を有効にする] チェックボックスをオンにします。
- 次の構成の詳細を指定します。
- IP アドレスまたはホスト名: Bindplane エージェントの IP アドレスを入力します。
- ポート番号: Bindplane エージェントで構成されたポート番号(
514など)を入力します。 - トランスポート プロトコル: UDP プロトコルを選択します。
- SIEM 形式: [Syslog/CEF(Arcsight)] を選択します。
- [OK] をクリックします。
- [保存してデプロイ] をクリックします。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
| アクション | security_result.summary | action_msg が空でない場合は、security_result.summary にマッピングされます。それ以外の場合、action が空でなければ、security_result.summary にマッピングされます。それ以外の場合、act が空でなければ、security_result.summary にマッピングされます。 |
| action_msg | security_result.summary | action_msg が空でない場合は、security_result.summary にマッピングされます。それ以外の場合、action が空でなければ、security_result.summary にマッピングされます。それ以外の場合、act が空でなければ、security_result.summary にマッピングされます。 |
| アプリ | target.application | destinationServiceName が空でない場合は、app_name にマッピングされます。それ以外の場合、アプリが空ではなく、http または HTTP を含まない場合は、app_name にマッピングされます。最後に、app_name は target.application にマッピングされます。 |
| bytes_in | network.received_bytes | in が空でない場合、bytes_in にマッピングされます。最後に、bytes_in は network.received_bytes にマッピングされます。 |
| bytes_out | network.sent_bytes | out が空でない場合、bytes_out にマッピングされます。最後に、bytes_out は network.sent_bytes にマッピングされます。 |
| 猫 | security_result.category_details | cat が空でない場合、category にマッピングされます。最後に、category が security_result.category_details にマッピングされます。 |
| cn1 | security_result.detection_fields.value | cn1 が空でない場合、キー Disposition Number を使用して security_result.detection_fields.value にマッピングされます。 |
| ContentType | target.file.mime_type | contentType が空でない場合は、ContentType にマッピングされます。最後に、ContentType が target.file.mime_type にマッピングされます。 |
| cs1 | target_role.description | cs1 は target_role.description にマッピングされます。 |
| cs2 | security_result.category_details | cs2 が空ではなく、0 でもない場合、接頭辞 Dynamic Category: 付きで security_result.category_details にマッピングされます。 |
| cs3 | target.file.mime_type | cs3 は target.file.mime_type にマッピングされます。 |
| 説明 | metadata.description | 説明が空でない場合は、metadata.description にマッピングされます。 |
| destinationServiceName | target.application | destinationServiceName が空でない場合は、app_name にマッピングされます。最後に、app_name は target.application にマッピングされます。 |
| deviceFacility | metadata.product_event_type | product_event と deviceFacility が空でない場合は、- で連結され、metadata.product_event_type にマッピングされます。それ以外の場合、product_event は metadata.product_event_type にマッピングされます。 |
| disposition | security_result.detection_fields.value | 処分が空でない場合、キー Disposition Number を使用して security_result.detection_fields.value にマッピングされます。 |
| dst | target.ip | dst が空ではなく、dvchost が空の場合、dst_ip にマッピングされます。最後に、dst_ip が target.ip にマッピングされます。 |
| dst_host | target.hostname | dst が空ではなく、dvchost が空の場合、dst_host にマッピングされます。最後に、dst_host は target.hostname にマッピングされます。 |
| dst_ip | target.ip | dst が空ではなく、dvchost が空の場合、dst_ip にマッピングされます。最後に、dst_ip が target.ip にマッピングされます。 |
| dst_port | target.port | dst が空ではなく、dvchost が空の場合、dst_port にマッピングされます。最後に、dst_port が target.port にマッピングされます。 |
| duration | network.session_duration.seconds | 期間が空でなく、0 でない場合、network.session_duration.seconds にマッピングされます。 |
| dvchost | intermediary.ip | dvchost が空でない場合、int_ip にマッピングされます。最後に、int_ip が有効な IP アドレスの場合は intermediary.ip にマッピングされ、それ以外の場合は intermediary.hostname にマッピングされます。 |
| file_path | target.file.full_path | file_path が空でない場合は、target.file.full_path にマッピングされます。 |
| ホスト | principal.ip | ホストが空でない場合、src にマッピングされます。最後に、src は principal.ip にマッピングされます。 |
| http_method | network.http.method | requestMethod が空でない場合、http_method にマッピングされます。それ以外の場合、method が空でなければ、http_method にマッピングされます。最後に、http_method は network.http.method にマッピングされます。 |
| http_proxy_status_code | network.http.response_code | http_response が空、0、または - で、http_proxy_status_code が空でない場合、network.http.response_code にマッピングされます。 |
| http_response | network.http.response_code | http_response が空でなく、0 でもなく、- でもない場合、network.http.response_code にマッピングされます。 |
| http_user_agent | network.http.user_agent | http_user_agent が空でなく、- でない場合、network.http.user_agent にマッピングされます。 |
| in | network.received_bytes | in が空でない場合、bytes_in にマッピングされます。最後に、bytes_in は network.received_bytes にマッピングされます。 |
| int_host | intermediary.hostname | int_ip が空ではなく、int_host が空ではなく、int_ip と異なる場合、intermediary.hostname にマッピングされます。 |
| int_ip | intermediary.ip | dvchost が空でない場合、int_ip にマッピングされます。最後に、int_ip が有効な IP アドレスの場合は intermediary.ip にマッピングされ、それ以外の場合は intermediary.hostname にマッピングされます。 |
| level | target_role.name | level が空ではなく、role が空の場合、role にマッピングされます。最後に、role は target_role.name にマッピングされます。 |
| log_level | security_result.severity | 重大度が 1 の場合、log_level に info が含まれている場合、またはメッセージに notice が含まれている場合、security_result.severity は INFORMATIONAL に設定されます。重大度が 7 の場合、security_result.severity は HIGH に設定されます。 |
| loginID | principal.user.userid | loginID が空でない場合は、user にマッピングされます。最後に、user が空でなく、- でなく、LDAP を含まない場合、principal.user.userid にマッピングされます。 |
| method | network.http.method | requestMethod が空でない場合、http_method にマッピングされます。それ以外の場合、method が空でなければ、http_method にマッピングされます。最後に、http_method は network.http.method にマッピングされます。 |
| NatRuleId | security_result.detection_fields.value | NatRuleId が空でない場合、キー NatRuleId を使用して security_result.detection_fields.value にマッピングされます。 |
| どうなるでしょうか | network.sent_bytes | out が空でない場合、bytes_out にマッピングされます。最後に、bytes_out は network.sent_bytes にマッピングされます。 |
| pid | target.process.pid | pid が空でない場合、target.process.pid にマッピングされます。 |
| ポリシー | target_role.description | Policy が空でない場合、policy にマッピングされます。ポリシーが空でなく、- でない場合、target_role.description にマッピングされます。 |
| ポリシー | target_role.description | Policy が空でない場合、policy にマッピングされます。ポリシーが空でなく、- でない場合、target_role.description にマッピングされます。 |
| product_event | metadata.product_event_type | 商品が空でない場合、product_event にマッピングされます。product_event と deviceFacility が空でない場合は、- で連結され、metadata.product_event_type にマッピングされます。それ以外の場合、product_event は metadata.product_event_type にマッピングされます。 |
| proxyStatus-code | network.http.response_code | http_response が空、0、または - で、http_proxy_status_code が空で、proxyStatus-code が空でない場合、network.http.response_code にマッピングされます。 |
| refererUrl | network.http.referral_url | refererUrl が空でなく、- でない場合、network.http.referral_url にマッピングされます。 |
| requestClientApplication | network.http.user_agent | requestMethod が空でない場合、http_user_agent にマッピングされます。最後に、http_user_agent は network.http.user_agent にマッピングされます。 |
| requestMethod | network.http.method | requestMethod が空でない場合、http_method にマッピングされます。最後に、http_method は network.http.method にマッピングされます。 |
| ロール | target_role.name | level が空ではなく、role が空の場合、role にマッピングされます。最後に、role は target_role.name にマッピングされます。 |
| RuleID | security_result.rule_id | RuleID が空でない場合、security_result.rule_id にマッピングされます。 |
| serverStatus-code | network.http.response_code | http_response が空、0、または - で、http_proxy_status_code が空で、proxyStatus-code が空でない場合、network.http.response_code にマッピングされます。 |
| 重要度 | security_result.severity | 重大度が 1 の場合、log_level に info が含まれている場合、またはメッセージに notice が含まれている場合、security_result.severity は INFORMATIONAL に設定されます。重大度が 7 の場合、security_result.severity は HIGH に設定されます。 |
| spt | principal.port | spt が空でない場合は、src_port にマッピングされます。最後に、src_port が principal.port にマッピングされます。 |
| src | principal.ip | src_host が空でない場合、source_ip_temp にマッピングされます。source_ip_temp が有効な IP アドレスで、src が空の場合、src にマッピングされます。ホストが空でない場合、src にマッピングされます。最後に、src は principal.ip にマッピングされます。 |
| src_host | principal.hostname | src_host が空でない場合、source_ip_temp にマッピングされます。source_ip_temp が有効な IP アドレスでない場合は、principal.hostname にマッピングされます。source_ip_temp が有効な IP アドレスで、src が空の場合、src にマッピングされます。最後に、src は principal.ip にマッピングされます。 |
| src_port | principal.port | src_port が空でない場合、principal.port にマッピングされます。 |
| suser | principal.user.userid | loginID が空でない場合は、user にマッピングされます。suser が空でない場合、user にマッピングされます。最後に、user が空でなく、- でなく、LDAP を含まない場合、principal.user.userid にマッピングされます。 |
| URL | target.url | url が空でない場合、target.url にマッピングされます。 |
| ユーザー | principal.user.userid | loginID が空でない場合は、user にマッピングされます。suser が空でない場合、user にマッピングされます。それ以外の場合、usrName が空でなければ、user にマッピングされます。最後に、user が空でなく、- でなく、LDAP を含まない場合、principal.user.userid にマッピングされます。 |
| usrName | principal.user.userid | loginID が空でない場合は、user にマッピングされます。suser が空でない場合、user にマッピングされます。それ以外の場合、usrName が空でなければ、user にマッピングされます。最後に、user が空でなく、- でなく、LDAP を含まない場合、principal.user.userid にマッピングされます。 |
| when | metadata.event_timestamp | when が空でない場合は、解析されて metadata.event_timestamp にマッピングされます。 |
| metadata.log_type | 値 FORCEPOINT_WEBPROXY は metadata.log_type にハードコードされています。 |
|
| metadata.product_name | 値 Forcepoint Webproxy は metadata.product_name にハードコードされています。 |
|
| metadata.vendor_name | 値 Forcepoint は metadata.vendor_name にハードコードされています。 |
|
| network.application_protocol | dst_port が 80 の場合、network.application_protocol は HTTP に設定されます。dst_port が 443 の場合、network.application_protocol は HTTPS に設定されます。 |
|
| principal.user.group_identifiers | ユーザーが空ではなく、- でもなく、LDAP を含む場合、ユーザー文字列の OU 部分が抽出され、principal.user.group_identifiers にマッピングされます。 |
|
| principal.user.user_display_name | user が空ではなく、- でもなく、LDAP を含む場合、ユーザー文字列のユーザー名部分が抽出され、principal.user.user_display_name にマッピングされます。 |
|
| security_result.action | action_msg、action、act のいずれかが空でない場合、それらの値に基づいて sec_action が ALLOW または BLOCK に設定されます。最後に、sec_action は security_result.action にマッピングされます。 |
|
| security_result.category_details | cat が空でない場合、category にマッピングされます。最後に、category が security_result.category_details にマッピングされます。cs2 が空ではなく、0 でもない場合、接頭辞 Dynamic Category: 付きで security_result.category_details にマッピングされます。 |
|
| security_result.detection_fields.key | 処分または cn1 をマッピングするときに、値 Disposition Number が security_result.detection_fields.key にハードコードされます。NatRuleId をマッピングするときに、値 NatRuleId が security_result.detection_fields.key にハードコードされます。category_no をマッピングするときに、値 Category Number が security_result.detection_fields.key にハードコードされます。 |
|
| security_result.severity | 重大度が 1 の場合、log_level に info が含まれている場合、またはメッセージに notice が含まれている場合、security_result.severity は INFORMATIONAL に設定されます。重大度が 7 の場合、security_result.severity は HIGH に設定されます。 |
|
| target_role.description | Policy が空でない場合、policy にマッピングされます。ポリシーが空でなく、- でない場合、target_role.description にマッピングされます。 |
|
| target_role.name | level が空ではなく、role が空の場合、role にマッピングされます。最後に、role は target_role.name にマッピングされます。 | |
| category_no | security_result.detection_fields.value | category_no が空でない場合、キー Category Number を使用して security_result.detection_fields.value にマッピングされます。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。