Forcepoint Web Security のログを収集する
パーサーのバージョン: 12.0
このドキュメントでは、Bindplane エージェントを使用して Forcepoint Web Security ログを Google Security Operations に取り込む方法について説明します。
Forcepoint Web Security は、ウェブ アクセス、セキュリティ イベント、認証、ポリシー適用に関する syslog メッセージを CEF(Common Event Format)で生成するウェブ プロキシとセキュリティ ゲートウェイです。パーサーは、CEF 形式と Syslog 形式のログからフィールドを抽出し、Unified Data Model(UDM)にマッピングします。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows Server 2016 以降、または
systemdを使用する Linux ホスト - Bindplane エージェントと Forcepoint Web Security 間のネットワーク接続
- プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します
- Forcepoint Security Manager またはアプライアンス管理インターフェースへの管理者アクセス権
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [収集エージェント] に移動します。
- 取り込み認証ファイルをダウンロードします。
Bindplane エージェントがインストールされるシステムに、ファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
[組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
次の手順に沿って、Windows または Linux オペレーティング システムに Bindplane エージェントをインストールします。
Windows のインストール
- 管理者としてコマンド プロンプトまたは PowerShell を開きます。
次のコマンドを実行します。
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietインストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sc query observiq-otel-collectorサービスは RUNNING と表示されます。
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shインストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sudo systemctl status observiq-otel-collectorサービスが [アクティブ(実行中)] と表示されます。
その他のインストール リソース
その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。
syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
Bindplane エージェントを構成して、TCP(推奨)または UDP 経由で syslog メッセージを受信できます。
構成ファイルを探す
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
構成ファイルを編集します。
config.yaml の内容全体を、選択したプロトコルの構成に置き換えます。
オプション A: TCP 構成(推奨)
receivers: tcplog: listen_address: "0.0.0.0:514" exporters: chronicle/forcepoint_webproxy: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: FORCEPOINT_WEBPROXY raw_log_field: body service: pipelines: logs/forcepoint_tcp_to_chronicle: receivers: - tcplog exporters: - chronicle/forcepoint_webproxyオプション B: UDP 構成
receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/forcepoint_webproxy: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: FORCEPOINT_WEBPROXY raw_log_field: body service: pipelines: logs/forcepoint_udp_to_chronicle: receivers: - udplog exporters: - chronicle/forcepoint_webproxy
構成パラメータ
各プレースホルダを次のように置き換えます。
レシーバーの構成:
listen_address: リッスンする IP アドレスとポート:- すべてのインターフェースでリッスンする
0.0.0.0(推奨) - ポート
514は標準の syslog ポートです(Linux で root が必要。root 以外の場合は1514を使用)
- すべてのインターフェースでリッスンする
エクスポータの構成:
creds_file_path: 取り込み認証ファイルのフルパス:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: Google SecOps コンソールからコピーしたお客様 IDendpoint: リージョナル エンドポイント URL:- 米国:
malachiteingestion-pa.googleapis.com - ヨーロッパ:
europe-malachiteingestion-pa.googleapis.com - アジア:
asia-southeast1-malachiteingestion-pa.googleapis.com - 完全なリストについては、リージョン エンドポイントをご覧ください。
- 米国:
構成ファイルを保存する
- 編集後、ファイルを保存します。
- Linux:
Ctrl+O、Enter、Ctrl+Xの順に押します。 - Windows: [ファイル> 保存] をクリックします。
- Linux:
Bindplane エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。
sudo systemctl restart observiq-otel-collectorサービスが実行されていることを確認します。
sudo systemctl status observiq-otel-collectorログでエラーを確認します。
sudo journalctl -u observiq-otel-collector -f
Windows で Bindplane エージェントを再起動するには、次のいずれかのオプションを選択します。
管理者としてコマンド プロンプトまたは PowerShell を開きます。
net stop observiq-otel-collector && net start observiq-otel-collectorサービス コンソール:
Win+Rキーを押して「services.msc」と入力し、Enter キーを押します。- observIQ OpenTelemetry Collector を見つけます。
- 右クリックして [再起動] を選択します。
サービスが実行されていることを確認します。
sc query observiq-otel-collectorログでエラーを確認します。
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Forcepoint Web Security で syslog 転送を構成する
CEF(Common Event Format)形式でログを Bindplane エージェントに転送するように Forcepoint Web Security を構成します。
Forcepoint Security Manager の使用
- 管理者認証情報を使用して Forcepoint Security Manager にログインします。
- [設定] > [ロギング] に移動します。
- 左側のナビゲーションで、[ログサーバー] を選択します。
- [追加] をクリックして、新しいログサーバー構成を作成します。
- 次の構成の詳細を指定します。
- サーバータイプ: [Syslog Server] または [CEF Server] を選択します。
- 名前: わかりやすい名前を入力します(例:
Google Security Operations Bindplane CEF)。 - ホスト: Bindplane エージェントの IP アドレスまたはホスト名を入力します。
- ポート: Bindplane エージェントのポート番号(
514など)を入力します。 - プロトコル: Bindplane の構成と一致するプロトコルを選択します。
- Bindplane で
tcplogレシーバを構成した場合は、[TCP] を選択します(推奨)。 - Bindplane で
udplogレシーバーを構成した場合は、[UDP] を選択します。
- Bindplane で
- 形式: [CEF](Common Event Format)を選択します。
- ファシリティ: Local0(または使用可能な別のファシリティ)を選択します。
- 重大度: [Informational] を選択します(すべてのログレベルをキャプチャするため)。
- [ログカテゴリ] または [イベントタイプ] で、転送するイベントを選択します。
- ウェブアクセスログ(トランザクション ログ)
- セキュリティ イベント(脅威の検出)
- 認証イベント(ユーザーのログイン/ログアウト)
- システム イベント(システムと構成の変更)
- または、[All Events] を選択して、利用可能なすべてのログタイプを転送します。
- 省略可: その他の設定を構成します。
- バッチサイズ: リアルタイム転送の場合は
1に設定し、バッチ処理の場合はそれより大きい値に設定します。 - メッセージ形式: CEF 形式が選択されていることを確認します。
- ユーザー情報を含める: ユーザー ID をログに含める場合に有効にします。
- バッチサイズ: リアルタイム転送の場合は
- [Test Connection] をクリックして、Bindplane エージェントへの接続を確認します。
- [保存] をクリックして、構成を適用します。
- [Deploy] をクリックして、構成をすべての Forcepoint Web Security ゲートウェイにプッシュします。
Forcepoint Web Security Appliance の使用(直接構成)
アプライアンスで直接構成する場合:
- Forcepoint Web Security Appliance の管理インターフェースにログインします。
- [System > Log Server] に移動します。
- [追加] または [編集] をクリックして、ログサーバーを作成または変更します。
- 次の構成の詳細を指定します。
- サーバー アドレス: Bindplane エージェントの IP アドレスを入力します。
- ポート:
514(またはカスタムポート)を入力します。 - プロトコル: Bindplane の構成に合わせて、TCP または UDP を選択します。
- 形式: [CEF] または [Common Event Format] を選択します。
- ファシリティ: [Local0] を選択します。
- [ログの種類] で、転送するログを選択します。
- アクセスログ
- セキュリティ ログ
- 管理ログ
- [適用] または [保存] をクリックします。
- 複数のアプライアンスを使用している場合は、各アプライアンスでこの構成を繰り返します。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
action |
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 にマッピングされます。 |
app |
target.application |
destinationServiceName が空でない場合、app_name にマッピングされます。それ以外の場合、app が空ではなく、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 にマッピングされます。 |
cat |
security_result.category_details |
cat が空でない場合、category にマッピングされます。最後に、category が security_result.category_details にマッピングされます。 |
category_no |
security_result.detection_fields.value |
category_no が空でない場合、キー Category Number を使用して security_result.detection_fields.value にマッピングされます。 |
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 にマッピングされます。 |
description |
metadata.description |
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 が空でない場合、キー 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 |
duration が空でなく、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 にマッピングされます。 |
host |
principal.ip |
host が空でない場合、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 |
severity が 1 の場合、log_level に info が含まれている場合、または message に notice が含まれている場合、security_result.severity は INFORMATIONAL に設定されます。severity が 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 にマッピングされます。 |
out |
network.sent_bytes |
out が空でない場合、bytes_out にマッピングされます。最後に、bytes_out が network.sent_bytes にマッピングされます。 |
pid |
target.process.pid |
pid が空でない場合、target.process.pid にマッピングされます。 |
policy |
target_role.description |
Policy が空でない場合、policy にマッピングされます。policy が空でなく、- でない場合、target_role.description にマッピングされます。 |
Policy |
target_role.description |
Policy が空でない場合、policy にマッピングされます。policy が空でなく、- でない場合、target_role.description にマッピングされます。 |
product_event |
metadata.product_event_type |
product が空でない場合、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 にマッピングされます。 |
role |
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 にマッピングされます。 |
severity |
security_result.severity |
severity が 1 の場合、log_level に info が含まれている場合、または message に notice が含まれている場合、security_result.severity は INFORMATIONAL に設定されます。severity が 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 にマッピングされます。host が空でない場合、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 にマッピングされます。 |
user |
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 |
user が空でなく、- でなく、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.detection_fields.key |
disposition または cn1 をマッピングするときに、値 Disposition Number が security_result.detection_fields.key にハードコードされます。NatRuleId をマッピングするときに、値 NatRuleId が security_result.detection_fields.key にハードコードされます。category_no をマッピングするときに、値 Category Number が security_result.detection_fields.key にハードコードされます。 |
reason |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
extension |
event.idm.read_only_udm.target.process.file.mime_type |
変更履歴からマッピング |
filetype |
event.idm.read_only_udm.target.file.mime_type |
変更履歴からマッピング |
method |
event.idm.read_only_udm.network.http.method |
変更履歴からマッピング |
received_bytes |
event.idm.read_only_udm.network.received_bytes |
変更履歴からマッピング |
sent_bytes |
event.idm.read_only_udm.network.sent_bytes |
変更履歴からマッピング |
response_code |
event.idm.read_only_udm.network.http.response_code |
変更履歴からマッピング |
region |
event.idm.read_only_udm.principal.location.country_or_region |
変更履歴からマッピング |
protocol |
event.idm.read_only_udm.network.application_protocol |
変更履歴からマッピング |
sec_description |
event.idm.read_only_udm.security_result.description |
変更履歴からマッピング |
version |
event.idm.read_only_udm.network.http.user_agent |
変更履歴からマッピング |
city |
event.idm.read_only_udm.principal.location.city |
変更履歴からマッピング |
turl |
event.idm.read_only_udm.target.url |
変更履歴からマッピング |
userid |
event.idm.read_only_udm.principal.user.userid |
変更履歴からマッピング |
email |
event.idm.read_only_udm.principal.user.email_addresses |
変更履歴からマッピング |
_action |
event.idm.read_only_udm.security_result.action |
変更履歴からマッピング |
descrip |
event.idm.read_only_udm.metadata.description |
変更履歴からマッピング |
status |
event.idm.read_only_udm.security_result.action_details |
変更履歴からマッピング |
appname |
event.idm.read_only_udm.principal.application |
変更履歴からマッピング |
tip |
event.idm.read_only_udm.target.ip |
変更履歴からマッピング |
tip |
event.idm.read_only_udm.target.asset.ip |
変更履歴からマッピング |
pip |
event.idm.read_only_udm.principal.ip |
変更履歴からマッピング |
pip |
event.idm.read_only_udm.principal.asset.ip |
変更履歴からマッピング |
p_ip |
event.idm.read_only_udm.principal.ip |
変更履歴からマッピング |
p_ip |
event.idm.read_only_udm.principal.asset.ip |
変更履歴からマッピング |
log_timestamp |
event.idm.read_only_udm.metadata.event_timestamp |
変更履歴からマッピング |
port |
event.idm.read_only_udm.target.port |
変更履歴からマッピング |
status |
event.idm.read_only_udm.security_result.action |
変更履歴からマッピング |
dhost |
event.idm.read_only_udm.target.hostname |
変更履歴からマッピング |
rt |
event.timestamp |
変更履歴からマッピング |
host-url |
principal.url |
変更履歴からマッピング |
cs-uri |
target.url |
変更履歴からマッピング |
cs-uri-query" , "time-taken" , "filter-category" , "cs-uri-path" , "cs-uri-extension" and "rs_content_type |
additional.fields |
変更履歴からマッピング |
cs-auth-group |
principal.user_group_identifiers |
変更履歴からマッピング |
cs-method |
network.http.method |
変更履歴からマッピング |
sc-status |
response_code |
変更履歴からマッピング |
s-action |
security_result.detection_fields |
変更履歴からマッピング |
srcport |
principal.port |
変更履歴からマッピング |
dstport |
target.port |
変更履歴からマッピング |
sc-bytes |
network.received_bytes |
変更履歴からマッピング |
cs-bytes |
network.sent_bytes |
変更履歴からマッピング |
cs_referer |
network.http.referral_url |
変更履歴からマッピング |
cs-host |
target.hostname |
変更履歴からマッピング |
変更履歴
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。