Palo Alto Networks Traps のログを収集する

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

このドキュメントでは、Bindplane を使用して Palo Alto Networks Traps ログを Google Security Operations に収集する方法について説明します。パーサーは、CSV 形式と Key-Value 形式のログを処理し、UDM に変換します。Grok と CSV 解析を使用してフィールドを抽出し、特定のログ メッセージまたはフィールド値に基づいて条件ロジックを実行して UDM フィールドにマッピングします。また、ステータスの更新、ネットワーク スキャン、プロセスの作成など、さまざまなイベントタイプを処理します。

始める前に

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

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. 鍵ファイルを ingestion-auth.json として Bindplane コレクタ ディレクトリ(Linux の場合は /opt/observiq-otel-collector/ingestion-auth.json、Windows の場合は C:\Program Files\observIQ OpenTelemetry Collector\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 のインストール

  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 では /opt/observiq-otel-collector/ ディレクトリに、Windows ではインストール ディレクトリにあります。
    2. テキスト エディタ(nano、vi、メモ帳など)を使用してファイルを開きます。
  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:
            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: '/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
            ingestion_labels:
                log_type: PAN_EDR
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。

  4. <LOCATION> は、Google SecOps インスタンスのリージョン(us、europe、asia-southeast1 など)に置き換えます。エクスポートでは、この値が chronicle.googleapis.com の接頭辞として使用されます。

  5. <PROJECT_NUMBER> は、[IAM と管理] > [設定] のプロジェクト番号に置き換えます。

  6. <customer_id> は、実際の顧客 ID に置き換えます。

  7. /path/to/ingestion-authentication-file.json の値を、Bindplane エージェントの Google SecOps 認証情報を取得するでサービス アカウント キーファイル(オプション 1)を保存したパスに更新します。

以前の Ingestion API エクスポータ

  • オプション 2 の取り込み認証ファイルを使用する場合は、exporters ブロックを次のように置き換えます。creds を取り込み認証ファイルのパスに設定します。インスタンスが米国以外にある場合は、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: '/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: PAN_EDR
                raw_log_field: body
    

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

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

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Palo Alto Networks Traps を構成する

  1. Cortex XDR ESM コンソールにログインします。
  2. [Settings] > [ESM] > [Syslog] を選択します。
  3. [Syslog を有効にする] チェックボックスをオンにします。
  4. 次の構成情報を指定します。
    • Syslog サーバー: Bindplane エージェントの IP アドレスを入力します。
    • Syslog ポート: Bindplane で構成されたポート番号を入力します(例: 514)。
    • Syslog protocol: [CEF] を選択します。
    • [Keep-alive タイムアウト] を 0 に設定します。
    • 通信プロトコル: [UDP] を選択します。
  5. [セキュリティ イベント] セクションで、次のチェックボックスをオンにします。
    • 防止イベント
    • 通知イベント
    • 検出後のイベント
  6. [接続を確認] > [保存] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
agentId event.idm.read_only_udm.additional.fields.value.string_value 未加工ログの agentId の値は、additional.fields のネストされた構造内の string_value フィールドにマッピングされます。このフィールドの key は Agent ID に設定されています。
agentIp event.idm.read_only_udm.target.ip 未加工ログの agentIp の値は、target.ip フィールドにマッピングされます。
cat event.idm.read_only_udm.security_result.rule_name 未加工ログの cat の値が security_result.rule_name フィールドにマッピングされます。
class event.idm.read_only_udm.security_result.category_details subClass と組み合わせて使用し、security_result.category_details に class: subClass 形式で値を設定します。
cs1 event.idm.read_only_udm.principal.application、event.idm.read_only_udm.principal.user.email_addresses cs1Label が email で、cs1 が有効なメールアドレスの場合、principal.user.email_addresses にマッピングされます。cs1Label が Initiated by の場合は、principal.application にマッピングされます。
cs2 event.idm.read_only_udm.principal.process.command_line、event.idm.read_only_udm.security_result.description cs2Label が subtype の場合、security_result.description にマッピングされます。cs2Label が Initiator CMD の場合、principal.process.command_line にマッピングされます。
cs3 event.idm.read_only_udm.security_result.action_details cs3Label が result の場合、security_result.action_details にマッピングされます。
customerId event.idm.read_only_udm.additional.fields.value.string_value 未加工ログの customerId の値は、additional.fields のネストされた構造内の string_value フィールドにマッピングされます。このフィールドの key は Customer ID に設定されています。
date_time event.idm.read_only_udm.metadata.event_timestamp.seconds 解析されてタイムスタンプに変換され、metadata.event_timestamp.seconds にマッピングされます。
desc event.idm.read_only_udm.metadata.description 未加工ログの desc の値が metadata.description フィールドにマッピングされます。
deviceName event.idm.read_only_udm.target.hostname 未加工ログの deviceName の値は、target.hostname フィールドにマッピングされます。
email_receiver event.idm.read_only_udm.network.email.to msg フィールドにメールアドレスが含まれている場合は、そのフィールドから抽出され、network.email.to にマッピングされます。
endpoint_desc event.idm.read_only_udm.target.resource.attribute.labels.value isEndpoint から取得されます。isEndpoint が 1 の場合は Yes, host is an endpoint.、isEndpoint が 0 の場合は No, host is not an endpoint。key は Is Endpoint に設定します。
eventType event.idm.read_only_udm.metadata.product_event_type、event.idm.read_only_udm.metadata.event_type 未加工ログの eventType の値は、metadata.product_event_type フィールドにマッピングされます。また、その値に基づいて metadata.event_type を導出するためにも使用されます(例: Management Audit Logs の場合は EMAIL_TRANSACTION、XDR Analytics BIOC または Behavioral Threat の場合は SCAN_NETWORK)。
facility event.idm.read_only_udm.additional.fields.value.string_value 未加工ログの facility の値は、additional.fields の下のネストされた構造内の string_value フィールドにマッピングされます。このフィールドの key は Facility に設定されています。
fileHash event.idm.read_only_udm.principal.process.file.sha256 未加工ログの fileHash の値は小文字に変換され、principal.process.file.sha256 フィールドにマッピングされます。
filePath event.idm.read_only_udm.principal.process.file.full_path 未加工ログの filePath の値は、principal.process.file.full_path フィールドにマッピングされます。
friendlyName event.idm.read_only_udm.metadata.description 未加工ログの friendlyName の値が metadata.description フィールドにマッピングされます。
interm_ip event.idm.read_only_udm.intermediary.ip 未加工ログの interm_ip の値が intermediary.ip フィールドにマッピングされます。
isEndpoint event.idm.read_only_udm.target.resource.attribute.labels.value target.resource.attribute.labels.value の派生に使用されます。
isVdi event.idm.read_only_udm.target.resource.resource_type isVdi が 1 の場合、target.resource.resource_type は VIRTUAL_MACHINE に設定されます。
msg event.idm.read_only_udm.security_result.summary 未加工ログの msg の値は、security_result.summary フィールドにマッピングされます。email_receiver の抽出にも使用されます。
msgTextEn event.idm.read_only_udm.security_result.description 未加工ログの msgTextEn の値が security_result.description フィールドにマッピングされます。
osType event.idm.read_only_udm.target.platform、event.idm.read_only_udm.target.resource.attribute.labels.value osType が 1 の場合、target.platform は WINDOWS に設定されます。osType が 2 の場合、target.platform は MAC に設定されます。osType が 4 の場合、target.platform は LINUX に設定されます。osType が 3 の場合、その値は key OS を使用して target.resource.attribute.labels.value にマッピングされます。
osVersion event.idm.read_only_udm.target.platform_version 未加工ログの osVersion の値が target.platform_version フィールドにマッピングされます。
product_version event.idm.read_only_udm.metadata.product_version 未加工ログの product_version の値が metadata.product_version フィールドにマッピングされます。
proto event.idm.read_only_udm.network.ip_protocol proto が udp の場合、network.ip_protocol は UDP に設定されます。
recordType event.idm.read_only_udm.additional.fields.value.string_value 未加工ログの recordType の値は、additional.fields の下のネストされた構造内の string_value フィールドにマッピングされます。このフィールドの key は Record Type に設定されています。
regionId event.idm.read_only_udm.principal.location.country_or_region regionId が 10 の場合、principal.location.country_or_region は Americas (N. Virginia) に設定されます。regionId が 70 の場合、principal.location.country_or_region は EMEA (Frankfurt) に設定されます。
request event.idm.read_only_udm.target.url 未加工ログの request の値は、target.url フィールドにマッピングされます。
sec_category_details event.idm.read_only_udm.security_result.category_details 未加工ログの sec_category_details の値が security_result.category_details フィールドにマッピングされます。
sec_desc event.idm.read_only_udm.security_result.description 未加工ログの sec_desc の値は、security_result.description フィールドにマッピングされます。
serverHost event.idm.read_only_udm.principal.hostname 未加工ログの serverHost の値が principal.hostname フィールドにマッピングされます。
severity event.idm.read_only_udm.security_result.severity 次のロジックで security_result.severity にマッピングされます。2 -> CRITICAL、3 -> ERROR、4 -> MEDIUM、5 -> LOW、6 -> INFORMATIONAL。
severity_val event.idm.read_only_udm.security_result.severity、event.idm.read_only_udm.security_result.severity_details severity_val が 0 の場合、security_result.severity_details は UNKNOWN_SEVERITY に設定されます。それ以外の場合は、次のロジックで security_result.severity にマッピングされます。6 -> LOW、8 -> MEDIUM、9 -> HIGH。
shost event.idm.read_only_udm.principal.hostname 未加工ログの shost の値が principal.hostname フィールドにマッピングされます。
src_ip event.idm.read_only_udm.principal.ip 未加工ログの src_ip の値は、principal.ip フィールドにマッピングされます。
subClass event.idm.read_only_udm.security_result.category_details class と組み合わせて使用し、security_result.category_details に値を設定します。
suser event.idm.read_only_udm.principal.user.user_display_name 未加工ログの suser の値(角かっこ、バックスラッシュ、一重引用符が削除されたもの)が principal.user.user_display_name フィールドにマッピングされます。
targetprocesscmd event.idm.read_only_udm.target.process.command_line 未加工ログの targetprocesscmd の値は、target.process.command_line フィールドにマッピングされます。
targetprocessname event.idm.read_only_udm.target.application 未加工ログの targetprocessname の値は、target.application フィールドにマッピングされます。
targetprocesssha256 event.idm.read_only_udm.target.process.file.sha256 未加工ログの targetprocesssha256 の値は小文字に変換され、target.process.file.sha256 フィールドにマッピングされます。
tenantname event.idm.read_only_udm.target.resource.attribute.labels.value 未加工ログの tenantname の値は、target.resource.attribute.labels のネストされた構造内の value フィールドにマッピングされます。このフィールドの key は Tenant name に設定されています。
event.idm.read_only_udm.metadata.event_type デフォルトでは STATUS_UPDATE に設定されています。eventType が Management Audit Logs の場合、EMAIL_TRANSACTION に変更されます。eventType が XDR Analytics BIOC または Behavioral Threat の場合、または desc が Behavioral Threat の場合は、SCAN_NETWORK に変更されます。desc が Suspicious Process Creation の場合、SCAN_PROCESS に変更されます。Palo Alto Networks に設定します。Cortex XDR に設定します。PAN_EDR に設定します。eventType が XDR Analytics BIOC または Behavioral Threat の場合、あるいは desc が Behavioral Threat の場合、NETWORK_SUSPICIOUS に設定します。

変更ログ

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

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