Forcepoint Proxy のログを収集する

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

このドキュメントでは、Bindplane を使用して Forcepoint Proxy のログを Google Security Operations に取り込む方法について説明します。パーサーはまず、入力ログ メッセージをクリーンアップし、grok パターンと正規表現を使用して Key-Value ペアを抽出します。次に、抽出されたフィールドを特定の条件とフィールド値に基づいて統合データモデル(UDM)にマッピングし、さまざまなログ形式とエッジケースを処理して、一貫したデータ表現を実現します。

始める前に

  • Google Security Operations インスタンスがあることを確認します。
  • Windows 2016 以降、または systemd を使用する Linux ホストを使用していることを確認します。
  • プロキシの背後で実行している場合は、ファイアウォールのポートが開いていることを確認します。
  • Forcepoint Proxy への特権アクセス権があることを確認します。

Google SecOps の取り込み認証ファイルを取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. Ingestion Authentication File をダウンロードします。ファイルを、Bindplane をインストールするシステムに安全に保存します。

Google SecOps のお客様 ID を取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [プロファイル] に移動します。
  3. [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。

Bindplane エージェントをインストールする

Windows へのインストール

  1. 管理者として コマンド プロンプトまたは PowerShell を開きます。
  2. 次のコマンドを実行します。

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux へのインストール

  1. root 権限または sudo 権限でターミナルを開きます。
  2. 次のコマンドを実行します。

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

その他のインストール リソース

Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する

  1. 構成ファイルにアクセスします。

    1. config.yaml ファイルを見つけます。通常、Linux では /etc/bindplane-agent/ ディレクトリ、Windows ではインストール ディレクトリにあります。
    2. テキスト エディタ(nanovi、メモ帳など)を使用してファイルを開きます。
  2. 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
    
  3. 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。

  4. <customer_id> は、実際のお客様 ID に置き換えます。

  5. /path/to/ingestion-authentication-file.json の値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。

Bindplane エージェントを再起動して変更を適用する

  • Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。

    sudo systemctl restart bindplane-agent
    
  • Windows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Forcepoint Web Security Suite を構成する

  1. Forcepoint コンソールにログインします。
  2. [ウェブ] > [設定] > [全般] に移動します。
  3. [SIEM 統合] をクリックします。
  4. [このポリシー サーバーの SIEM 統合を有効にする] チェックボックスをオンにします。
  5. 次の構成情報を提供してください。
    • IP アドレスまたはホスト名: Bindplane エージェントの IP アドレスを入力します。
    • ポート番号: Bindplane エージェントで構成されたポート番号を入力します(例: 514)。
    • Transport protocol: UDP プロトコルを選択します。
    • SIEM 形式: [Syslog/CEF(Arcsight)] を選択します。
  6. [OK] をクリックします。
  7. [保存してデプロイ] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
アクション security_result.summary action_msg が空でない場合、security_result.summary にマッピングされます。それ以外の場合、action が空でない場合、action は security_result.summary にマッピングされます。それ以外の場合、act が空でない場合、act は security_result.summary にマッピングされます。
action_msg security_result.summary action_msg が空でない場合、security_result.summary にマッピングされます。それ以外の場合、action が空でない場合、action は security_result.summary にマッピングされます。それ以外の場合、act が空でない場合、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 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 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 にマッピングされます。
ホスト principal.ip host が空でない場合、src にマッピングされます。最後に、src は principal.ip にマッピングされます。
http_method network.http.method requestMethod が空でない場合、http_method にマッピングされます。それ以外の場合、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 が空の場合、level は 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 が空でないか - でないか、LDAP が含まれていない場合は、principal.user.userid にマッピングされます。
method network.http.method requestMethod が空でない場合、http_method にマッピングされます。それ以外の場合、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 が空でない場合、pid は target.process.pid にマッピングされます。
ポリシー target_role.description Policy が空でない場合、Policy はポリシーにマッピングされます。policy が空でないか - でない場合、target_role.description にマッピングされます。
ポリシー 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 にマッピングされます。
ロール target_role.name level が空で、role が空の場合、level は 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 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 が空でない場合、ユーザーにマッピングされます。suser が空でない場合、user にマッピングされます。最後に、user が空でないか - でないか、LDAP が含まれていない場合は、principal.user.userid にマッピングされます。
URL target.url url が空でない場合、target.url にマッピングされます。
ユーザー principal.user.userid loginID が空でない場合、ユーザーにマッピングされます。suser が空でない場合、user にマッピングされます。それ以外の場合、usrName が空でない場合、user にマッピングされます。最後に、user が空でないか - でないか、LDAP が含まれていない場合は、principal.user.userid にマッピングされます。
usrName principal.user.userid loginID が空でない場合、ユーザーにマッピングされます。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 が含まれている場合、user 文字列のユーザー名部分が抽出され、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 severity が 1 の場合、または log_level に info が含まれている場合、または message に notice が含まれている場合、security_result.severity は INFORMATIONAL に設定されます。severity が 7 の場合、security_result.severity は HIGH に設定されます。
target_role.description Policy が空でない場合、Policy はポリシーにマッピングされます。policy が空でないか - でない場合、target_role.description にマッピングされます。
target_role.name level が空で、role が空の場合、level は role にマッピングされます。最後に、role は target_role.name にマッピングされます。
category_no security_result.detection_fields.value category_no が空でない場合、キー Category Number を使用して security_result.detection_fields.value にマッピングされます。

変更点

2025-01-16

機能強化:

  • s-actionTCP_DENIED の場合に security_result.actionBLOCK にマッピングしました。

2024-10-18

機能強化:

  • 未解析の CSV ログの解析サポートを追加しました。
  • 無効な CSV ログを破棄するサポートを追加しました。
  • host-urlprincipal.url にマッピングしました。

2024-07-10

機能強化:

  • 新しい KV 形式のログの Grok パターンを追加しました。
  • usernameprincipal.user.userid にマッピングしました。
  • cs-uritarget.url にマッピングしました。
  • cs-uri-querytime-takenfilter-categorycs-uri-pathcs-uri-extensionrs_content_typeadditional.fields にマッピングしました。
  • sc-filter-resultOBSERVED の場合は security_result.actionALLOW に設定します。sc-filter-resultDENIED の場合は security_result.actionBLOCK に設定します。それ以外の場合は security_result.actionALLOW に設定します。
  • cs-auth-groupprincipal.user_group_identifiers にマッピングしました。
  • cs-methodnetwork.http.method にマッピングしました。
  • sc-statusresponse_code にマッピングしました。
  • s-actionsecurity_result.detection_fields にマッピングしました。
  • srcportprincipal.port にマッピングしました。
  • dstporttarget.port にマッピングしました。
  • sc-bytesnetwork.received_bytes にマッピングしました。
  • cs-bytesnetwork.sent_bytes にマッピングしました。
  • cssecurity_result.summary にマッピングしました。
  • cs_referernetwork.http.referral_url にマッピングしました。
  • cs-hosttarget.hostname にマッピングしました。

2024-06-10

機能強化:

  • CSV 形式のログのサポートを追加しました。

2023-06-12

機能強化:

  • 一部の値が「-」として存在する失敗したログを解析するように Grok パターンを変更しました。
  • マッピング前にフィールド「http_response」の条件チェックを追加しました。

2022-08-11

機能強化:

  • syslog ヘッダーのない CEF タイプのログを解析するように grok を変更しました。

2022-05-16

機能強化:

  • カテゴリ番号を security_result.detection_fields にマッピングしました。

2022-05-05

機能強化:

  • フィールドのマッピングを追加しました。requestClientApplication を http.user_agent、proxyStatus-code を http.response_code、dispositioncn1 を security_result.detection_fields にマッピングしました。
  • 「cs2Label」の値が「DynCat」の場合、「cs2」フィールドを「security_result.category_details」にマッピングしました。
  • 「cs2Label」の値が「NatRuleId」の場合、「cs2」フィールドを「security_result.detection_fields」にマッピングしました。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。