Palo Alto Cortex XDR イベントのログを収集する
このドキュメントでは、 Google Cloud Storage を使用して Palo Alto Cortex XDR イベントログを Google Security Operations に取り込む方法について説明します。パーサーは、Palo Alto Networks Cortex XDR JSON ログからセキュリティ イベントデータを抽出します。フィールドをマッピングし、データ型を変換し、event_type
フィールドと event_sub_type
フィールドに関連付けられた条件付きロジックに基づいて、ベンダー、プロダクト、イベントタイプなどのメタデータでイベントを拡充することで、データを統合データモデル(UDM)に正規化します。また、ネットワーク接続、ファイルとレジストリの操作、プロセス情報、ユーザー アクティビティも処理します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Google Cloud 環境でストレージが設定され、有効になっている Google Cloud
- Google Cloud への特権アクセスと適切な権限
- Palo Alto Cortex XDR への特権アクセス
Google Cloud Storage バケットの作成
- Google Cloud コンソールにログインします。
[Cloud Storage バケット] のページに移動します。
[作成] をクリックします。
[バケットの作成] ページでユーザーのバケット情報を入力します。以下のステップでは、操作を完了した後に [続行] をクリックして、次のステップに進みます。
[始める] セクションで、次の操作を行います。 * バケット名の要件を満たす一意の名前を入力します(例: cortex-xdr-events-googlesecops)。 * 階層型名前空間を有効にするには、展開矢印をクリックして [Optimize for file oriented and data-intensive workloads] セクションを開き、[このバケットで階層的な名前空間を有効にする] を選択します。
Note: You can't enable hierarchical namespace in an existing bucket. * To add a bucket label, click the expander arrow to expand the **Labels** section. * Click **Add label** and specify a key and a value for your label.
[データの保存場所の選択] セクションで、次の操作を行います。 * [ロケーション タイプ] を選択します。 * ロケーション タイプのメニューを使用して、バケット内のオブジェクト データが永続的に保存されるロケーションを選択します。
Note: If you select the **dual-region** location type, you can also choose to enable **turbo replication** by selecting the relevant checkbox. * To set up cross-bucket replication, expand the **Set up cross-bucket replication** section.
[データのストレージ クラスを選択する] セクションで、バケットのデフォルトのストレージ クラスを選択します。あるいは、Autoclass を選択して、バケットデータのストレージ クラスを自動的に管理します。
[オブジェクトへのアクセスを制御する方法を選択する] セクションで、[なし] を選択して公開アクセスの防止を適用し、バケットのオブジェクトの [アクセス制御モデル] を選択します。
[オブジェクト データを保護する方法を選択する] セクションで、次の操作を行います。 * [データ保護] で、バケットに設定するオプションを選択します。 * オブジェクト データの暗号化方法を選択するには、[データ暗号化] 展開矢印をクリックし、データ暗号化方法を選択します。
[作成] をクリックします。
Cortex XDR イベント転送を構成する
- Cortex XDR ウェブ UI にログインします。
- [Settings] > [Configurations] > [Data Management] > [Event Forwarding] に移動します。
- [有効化] セクションでライセンスを有効にします。
- GB イベント転送を有効にして、Cortex XDR Pro の解析済みログを GB 単位で外部 SIEM にエクスポートし、保存します。
- エンドポイント イベント転送を有効にして、Cortex XDR Pro EP と Cloud Endpoints の未加工エンドポイント データをエクスポートします。
- 選択内容を保存します。
- 表示されたストレージ パスをコピーします。
- アクセス キーを含むサービス アカウントの JSON Web Token を生成してダウンロードします。
- 安全な場所に保存します。
Google Cloud Secret Manager を構成する
- GCP にログインします。
- [Secret Manager] ページに移動します。
- 初めて使用する場合は、Secret Manager API を有効にするよう求められます。
- EVENT_FRWD_CRTX_KEY という Secret を作成し、ダウンロードした JSON xdr_sa_key.json の内容を Secret の値としてコピーします。
Palo Alto Cortex XDR イベントログを取り込むように Google SecOps でフィードを構成する
- [SIEM Settings] > [Feeds] に移動します。
- [新しく追加] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: PANW Cortex XDR Event Logs)。
- [Source type] として [Google Cloud Storage] を選択します。
- [ログタイプ] として [Palo Alto Cortex XDR Events] を選択します。
- [Chronicle サービス アカウント] として [サービス アカウントを取得する] をクリックします。
- [次へ] をクリックします。
次の入力パラメータの値を指定します。
- Storage Bucket URI: Google Cloud ストレージ バケットの URL(
gs://cortex-xdr-events-chronicle
など)。 - URI Is A: [サブディレクトリを含むディレクトリ] を選択します。
- Source deletion options: 必要に応じて削除オプションを選択します。
- Asset namespace: アセットの名前空間。
- Ingestion labels: このフィードのイベントに適用されるラベル。
- Storage Bucket URI: Google Cloud ストレージ バケットの URL(
[次へ] をクリックします。
[Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
フィードが作成されたら、[フィード] リストでそのフィードを探し、行の右側にあるその他アイコンをクリックします。
[フィードを無効にする] を選択します。
Cloud Storage への Secret JSON アクセスを構成する
- GCP にログインします。
- [Secret Manager] ページに移動します。
- シークレット EVENT_FRWD_CRTX_KEY を選択します。
- [権限] タブに移動します。
- 前に作成したバケット cortex-xdr-events-chronicle に対する ストレージ オブジェクト管理者と ストレージ レガシー バケット リーダーのアクセス権を付与します。
Cloud Storage の Google SecOps 権限を構成する
- [IAM と管理] > [IAM] に移動します。
- Chronicle サービス アカウントを見つけます。
- 前に作成したバケット cortex-xdr-events-chronicle へのアクセス権を Storage オブジェクト閲覧者(roles/storage.objectViewer)に付与します。
PANW Cortex XDR イベントログのプロジェクト Cloud Storage への取り込みを構成する
- Google Cloudで、[API とサービス] > [ライブラリ] に移動します。
- Cloud Run API と Artifact Registry API を有効にします。
- 上部のナビゲーション バーにあるアイコンをクリックして Cloud Shell を開きます。
次のコマンドを使用してカスタムコードをダウンロードします。
git clone https://github.com/PaloAltoNetworks/google-cloud-cortex-chronicle.git
次のコマンドを実行して、ディレクトリに移動します。
cd google-cloud-cortex-chronicle/
vi
などのエディタでenv.properties
ファイルを開きます。次の構成情報を提供してください。
REGION=us-central1 # Update according to your project region REPO_NAME=panw-chronicle IMAGE_NAME=sync_cortex_bucket GCP_PROJECT_ID=chrxxxxxxxxx # Update according to your project ID JOB_NAME=cloud-run-job-cortex-data-sync # The Cloud Job name ROJECT_NUMBER=80xxxxx9 # Update according to your project number # JOB ENV VARIABLES SRC_BUCKET=xdr-us-xxxxx-event-forwarding # Update with the Cortex XDR GCS bucket name DEST_BUCKET=cortex-xdr-events-chronicle # Update with the GCS name of the bucket you created SECRET_NAME=EVENT_FRWD_CRTX_KEY # Need to match the secret you created JOB_SCHEDULE_MINS=30
deploy.sh
スクリプトに必要な権限を付与します。chmod 744 deploy.sh
deploy.sh
スクリプトを実行します。./deploy.sh
スクリプト出力から、使用されている Cloud Job サービス アカウントを特定します。
前に作成したシークレット(この例では EVENT_FRWD_CRTX_KEY)にアクセスするための Secret Manager シークレット アンセスター権限を Cloud Job サービス アカウントに付与します。
[Secret Manager] > [EVENT_FRWD_CRTX_KEY](シークレット)> [権限] に移動します。
Google SecOps プラットフォームで、[SIEM 設定] > [フィード] > [XDR イベント フィード名] > [フィードを有効にする] に移動します。
UDM マッピング テーブル
ログフィールド | UDM マッピング | 論理 |
---|---|---|
action_file_path |
target.file.full_path |
直接マッピングされます。 |
action_file_size |
target.file.size |
直接マッピングされ、符号なし整数に変換されます。 |
action_local_ip |
principal.ip |
直接マッピングされ、他の IP アドレスと統合されている |
action_local_port |
principal.port |
直接マッピングされ、整数に変換されます。 |
action_module_path |
target.process.file.full_path |
直接マッピングされます。 |
action_network_connection_id |
network.session_id |
直接マッピングされます。 |
action_network_protocol |
network.ip_protocol |
名前を protocol_number_src に変更し、parse_ip_protocol.include を使用して解析し、network.ip_protocol にマッピング |
action_process_image_command_line |
target.process.command_line |
直接マッピングされます。 |
action_process_image_md5 |
target.process.file.md5 |
直接マッピングされます。 |
action_process_image_path |
target.process.file.full_path |
直接マッピングされます。 |
action_process_image_sha256 |
target.process.file.sha256 |
直接マッピングされます。 |
action_process_os_pid |
target.process.pid |
直接マッピングされ、文字列に変換されます。 |
action_process_user_sid |
target.user.windows_sid |
直接マッピングされます。 |
action_process_username |
target.user.userid 、target.administrative_domain |
小文字に変換され、ドメインとユーザーが解析され、それに応じてマッピングされます。 |
action_registry_data |
target.registry.registry_value_data |
直接マッピングされます。 |
action_registry_key_name |
target.registry.registry_key |
直接マッピングされます。 |
action_registry_value_name |
target.registry.registry_value_name |
直接マッピングされます。 |
action_remote_ip |
target.ip |
直接マッピングされ、他の IP アドレスと統合されている |
action_remote_port |
target.port |
直接マッピングされ、整数に変換されます。 |
action_total_download |
network.received_bytes |
直接マッピングされ、符号なし整数に変換されます。 |
action_total_upload |
network.sent_bytes |
直接マッピングされ、符号なし整数に変換されます。 |
agent_hostname |
principal.hostname 、observer.hostname |
小文字に変換され、マッピング済み |
agent_ip_addresses |
observer.ip |
JSON として解析され、個々の IP に分割されて統合されます。 |
agent_os_sub_type |
target.platform_version |
直接マッピングされます。 |
event_id |
metadata.product_log_id |
直接マッピングされます。 |
event_sub_type |
metadata.product_event_type |
文字列に変換され、metadata.event_type と metadata.product_event_type の条件付きマッピングに使用されます。 |
event_timestamp |
metadata.event_timestamp 、timestamp |
文字列に変換され、UNIX_MS タイムスタンプとして解析され、マッピングされます。 |
event_type |
metadata.event_type |
文字列に変換され、metadata.event_type と metadata.product_event_type の条件付きマッピングに使用されます。 |
os_actor_process_command_line |
principal.process.command_line |
直接マッピングされます。 |
os_actor_process_image_md5 |
principal.process.file.md5 |
直接マッピングされます。 |
os_actor_process_image_path |
principal.process.file.full_path |
直接マッピングされます。 |
os_actor_process_image_sha256 |
principal.process.file.sha256 |
直接マッピングされます。 |
os_actor_process_instance_id |
principal.process.product_specific_process_id |
「PAN:」の接頭辞が付いてマッピングされている |
os_actor_process_os_pid |
principal.process.pid |
文字列に変換され、マッピングされる |
os_actor_primary_user_sid |
principal.user.windows_sid |
「S-」または「s-」で始まる場合はマッピングされます。 |
os_actor_primary_username |
principal.user.userid 、principal.administrative_domain |
小文字に変換され、ドメインとユーザーが解析され、それに応じてマッピングされます。 |
_action |
security_result.action |
_security_result に統合され、マッピングされます。 |
metadata.log_type |
metadata.log_type |
「PAN_CORTEX_XDR_EVENTS」にハードコードされています。 |
metadata.product_name |
metadata.product_name |
「Cortex XDR」にハードコードされています。 |
metadata.vendor_name |
metadata.vendor_name |
「PAN」にハードコードされています。 |
target.platform |
target.platform |
agent_os_sub_type に「Windows」が含まれている場合は、「WINDOWS」に設定します。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。