Forcepoint DLP ログを収集する

パーサーのバージョン: 10.0

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

このドキュメントでは、Bindplane を使用して Forcepoint DLP ログを Google Security Operations に取り込む方法について説明します。

Forcepoint DLP(データ損失防止)は、企業環境全体でセンシティブ データを特定、モニタリング、保護するデータ保護ソリューションです。コンテンツ認識ポリシーと機械学習を使用して、メール、ウェブ、エンドポイント、クラウド アプリケーションを介した不正なデータ転送を検出して防止します。パーサーは、Forcepoint DLP CEF 形式のログからフィールドを抽出します。次に、これらの値を Unified Data Model(UDM)にマッピングします。また、イベントのソースとタイプのデフォルトのメタデータ値も設定します。

始める前に

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

  • Google SecOps インスタンス
  • Windows Server 2016 以降、または systemd を使用する Linux ホスト
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
  • Forcepoint Security Manager ウェブ コンソールへの特権アクセス

Bindplane エージェントの Google SecOps 認証情報を取得する

Bindplane エージェントを Google SecOps に対して認証するには、次のいずれかの方法を選択します。

  • 新規デプロイ: Chronicle API を使用します(オプション 1)。
  • 以前のデプロイ: 2027 年 7 月 20 日に Ingestion API が廃止されるまで、取り込み認証ファイル(オプション 2)を引き続き使用します。
  1. Google Cloud コンソールにログインし、Google SecOps インスタンスにリンクされている Google Cloud プロジェクトを選択します。
  2. [IAM と管理> サービス アカウント] に移動します。
  3. [サービス アカウントを作成] をクリックします。
  4. 次の構成情報を指定します。
    • サービス アカウント名: アカウントの名前を入力します(例: bindplane-ingest)。
    • サービス アカウントの説明: 説明を入力します(例: Bindplane agent log ingestion)。
  5. [作成して続行] をクリックします。
  6. [このサービス アカウントにプロジェクトへのアクセスを許可する] セクションで、[ロールを選択] をクリックし、[Chronicle 編集者] を選択します。
  7. [続行] をクリックして [完了] をクリックします。
  8. 作成したサービス アカウントをクリックし、[キー] タブに移動します。
  9. [鍵を追加] > [新しい鍵を作成] の順にクリックします。
  10. [JSON] を選択し、[作成] をクリックします。鍵ファイルがパソコンにダウンロードされます。
  11. 鍵ファイルを 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 を保存先のパスと一致するように更新します。
  12. [IAM と管理] > [設定] に移動し、[プロジェクト番号] をコピーします。エクスポーターの構成に必要になります。

オプション 2: 取り込み認証ファイルをダウンロードする(レガシー)

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [収集エージェント] に移動します。
  3. 取り込み認証ファイルをダウンロードします。
  4. Bindplane エージェントがインストールされるシステムにファイルを安全に保存します。

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

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

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

次の手順に沿って、Windows または Linux オペレーティング システムに Bindplane エージェントをインストールします。

Windows のインストール

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

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. インストールが完了するまで待ちます。

  4. 次のコマンドを実行して、インストールの内容を確認します。

    sc query observiq-otel-collector
    

サービスが RUNNING と表示されます。

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
    
  3. インストールが完了するまで待ちます。

  4. 次のコマンドを実行して、インストールの内容を確認します。

    sudo systemctl status observiq-otel-collector
    

サービスが active (running) と表示されます。

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

その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。

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

構成ファイルを探す

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

構成ファイルを編集します。

  • config.yaml の内容全体を次の構成に置き換えます。

    receivers:
      tcplog:
        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
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: chronicle.googleapis.com
        log_type: 'FORCEPOINT_DLP'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - tcplog
          exporters:
            - chronicle/chronicle_w_labels
    

構成パラメータ

  • 各プレースホルダを次のように置き換えます。

    • レシーバーの構成:

      • tcplog: UDP Syslog には udplog を使用し、TCP Syslog には tcplog を使用します。
      • 0.0.0.0: リッスンする IP アドレス(すべてのインターフェースでリッスンする場合は 0.0.0.0)
      • 514: リッスンするポート番号(標準の syslog ポート)
    • エクスポータの構成:

      • creds_file_path: サービス アカウントの JSON キーファイルのフルパス(オプション 1):
        • Linux: /opt/observiq-otel-collector/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • YOUR_CUSTOMER_ID: 「顧客 ID を取得する」セクションの顧客 ID
      • location: <LOCATION> は、Google SecOps インスタンスのリージョン(us、europe、asia-southeast1 など)に置き換えます。エクスポーターは、chronicle.googleapis.com の先頭にこの値を付加します。完全なリストについては、リージョン エンドポイントをご覧ください。
      • project: <PROJECT_NUMBER> を [IAM と管理] > [設定] のプロジェクト番号に置き換えます。
      • endpoint: chronicle.googleapis.com に設定したままにします。
      • log_type: Chronicle に表示されるログタイプ(FORCEPOINT_DLP)

以前の Ingestion API エクスポータ

  • オプション 2 の取り込み認証ファイルを使用する場合は、exporters ブロックを次のように置き換えます。creds_file_path を取り込み認証ファイルのパスに設定します。インスタンスが米国以外にある場合は、malachiteingestion-pa.googleapis.com をリージョン エンドポイント(例: europe-malachiteingestion-pa.googleapis.com)に置き換えます。

    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: 'FORCEPOINT_DLP'
        raw_log_field: body
        ingestion_labels:
    

構成ファイルを保存する

  • 編集後、ファイルを保存します。
    • Linux: Ctrl+O、Enter、Ctrl+X の順に押します。
    • Windows の場合: [ファイル] > [保存] をクリックします。

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

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

    sudo systemctl restart observiq-otel-collector
    
    1. サービスが実行されていることを確認します。

        sudo systemctl status observiq-otel-collector
      
    2. ログでエラーを確認します。

        sudo journalctl -u observiq-otel-collector -f
      
  • Windows で Bindplane エージェントを再起動するには、次のいずれかのオプションを選択します。

    • 管理者としてコマンド プロンプトまたは PowerShell を開きます。

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • サービス コンソール:

      1. Win+R キーを押し、「services.msc」と入力して Enter キーを押します。
      2. observIQ OpenTelemetry Collector を見つけます。
      3. 右クリックして [再起動] を選択します。

      4. サービスが実行されていることを確認します。

        sc query observiq-otel-collector
        
      5. ログでエラーを確認します。

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Forcepoint DLP の syslog 転送を構成する

  1. Forcepoint Security Manager ウェブコンソールにログインします。
  2. [設定] > [全般] > [SIEM 統合] に移動します。
  3. [SIEM 統合を有効にする] を選択します。
  4. 次の構成情報を指定します。
    • Syslog サーバーの IP アドレス: Bindplane エージェント ホストの IP アドレスを入力します。
    • ポート: 「514」と入力します。
    • プロトコル: [TCP] を選択します。
    • 形式: [CEF](Common Event Format)を選択します。
    • TLS Enabled: チェックを外します(TLS を使用している場合を除く)。
  5. [インシデント データ] セクションで、syslog メッセージに含めるデータを選択します。
    • 対応
    • 重大度
    • ポリシー名
    • ソース情報
    • リンク先の情報
    • コンテンツの詳細
  6. [OK] をクリックして保存します。
  7. [Main] > [Policy Management] > [DLP Policies] に移動します。
  8. イベントを転送するポリシーごとに、syslog 通知が有効になっていることを確認します。
    1. ポリシーを選択します。
    2. [アクション プラン] タブに移動します。
    3. アクション プランに [Send to SIEM] が含まれていることを確認します。
  9. [デプロイ] をクリックして、ポリシーの変更を適用します。
  10. Bindplane エージェント ログをチェックして、syslog メッセージが送信されていることを確認します。

UDM マッピング テーブル

ログフィールド UDM マッピング 論理
act security_result.description actionPerformed が空の場合、act の値が security_result.description に割り当てられます。
actionID metadata.product_log_id actionID の値は metadata.product_log_id に割り当てられます。
actionPerformed security_result.description actionPerformed の値は security_result.description に割り当てられます。
管理者 principal.user.userid administrator の値は principal.user.userid に割り当てられます。
analyzedBy additional.fields.key 文字列「analyzedBy」が additional.fields.key に割り当てられます。
analyzedBy additional.fields.value.string_value analyzedBy の値は、additional.fields.value.string_value に割り当てられます。
猫 security_result.category_details cat の値は、リストとして security_result.category_details フィールドに統合されます。
destinationHosts target.hostname destinationHosts の値が target.hostname に割り当てられます。
destinationHosts target.asset.hostname destinationHosts の値は target.asset.hostname に割り当てられます。
詳細 security_result.description actionPerformed と act の両方が空の場合、details の値が security_result.description に割り当てられます。
duser target.user.userid duser の値は、target.user.userid に入力するために使用されます。「; 」で区切られた複数の値は、メールの正規表現と一致する場合は分割されて個々のメールアドレスとして割り当てられ、それ以外の場合はユーザー ID として扱われます。
eventId metadata.product_log_id actionID が空の場合、eventId の値が metadata.product_log_id に割り当てられます。
fname target.file.full_path fname の値が target.file.full_path に割り当てられます。
logTime metadata.event_timestamp logTime の値が解析され、metadata.event_timestamp に入力されます。
loginName principal.user.user_display_name loginName の値は principal.user.user_display_name に割り当てられます。
msg metadata.description msg の値が metadata.description に割り当てられます。
productVersion additional.fields.key 文字列「productVersion」が additional.fields.key に割り当てられます。
productVersion additional.fields.value.string_value productVersion の値は、additional.fields.value.string_value に割り当てられます。
ロール principal.user.attribute.roles.name ロールの値は principal.user.attribute.roles.name に割り当てられます。
severityType security_result.severity severityType の値は security_result.severity にマッピングされます。「high」は「HIGH」に、「med」は「MEDIUM」に、「low」は「LOW」にマッピングされます(大文字と小文字は区別されません)。
sourceHost principal.hostname sourceHost の値が principal.hostname に割り当てられます。
sourceHost principal.asset.hostname sourceHost の値が principal.asset.hostname に割り当てられます。
sourceIp principal.ip sourceIp の値が principal.ip フィールドに追加されます。
sourceIp principal.asset.ip sourceIp の値が principal.asset.ip フィールドに追加されます。
sourceServiceName principal.application sourceServiceName の値が principal.application に割り当てられます。
suser principal.user.userid administrator が空の場合、suser の値が principal.user.userid に割り当てられます。
timestamp metadata.event_timestamp timestamp の値は、metadata.event_timestamp に入力するために使用されます。
トピック security_result.rule_name トピックの値は、カンマが削除された後、security_result.rule_name に割り当てられます。「FORCEPOINT_DLP」にハードコードされます。「Forcepoint」にハードコードされています。CEF メッセージから抽出されます。「Forcepoint DLP」または「Forcepoint DLP Audit」にできます。CEF メッセージから抽出されます。device_event_class_id と event_name を連結したもので、「[device_event_class_id] - event_name」という形式になります。「GENERIC_EVENT」に初期化されます。is_principal_user_present が「true」の場合、「USER_UNCATEGORIZED」に変更しました。
destinationDnsDomain event.idm.read_only_udm.target.hostname と event.idm.read_only_udm.target.asset.hostname 変更履歴からマッピング
inter_host intermediary.hostname 変更履歴からマッピング
violationTriggers.VZ CPNI" and "violationTriggers.Controlled Unclassified Information: Portion Marking additional.fields 変更履歴からマッピング
act security_result.action_details 変更履歴からマッピング
caseDescription metadata.description 変更履歴からマッピング
eventIDs metadata.product_event_type 変更履歴からマッピング
sourceServiceName network.application_protocol 変更履歴からマッピング
productVersion metadata.product_version 変更履歴からマッピング
riskScore additional.fields 変更履歴からマッピング
productVersion" and "analyzedBy additional.fields 変更履歴からマッピング
timeStamp metadata.event_timestamp 変更履歴からマッピング

変更ログ

このパーサーの変更ログを表示する

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