Palo Alto Prisma Cloud のアラートログを収集する
以下でサポートされています。
Google SecOpsSIEM
概要
このパーサーは、Palo Alto Prisma Cloud からアラートログを JSON 形式で抽出し、UDM に変換します。パーサーは、データの正規化、型変換、条件付きロジックを実行して、適切な UDM フィールドにデータを入力します。また、ログデータ内のネストされた JSON 構造と配列を処理して、関連情報を抽出します。
始める前に
- Google SecOps インスタンスがあることを確認します。
- Palo Alto Prisma Cloud に対する特権アクセス権があることを確認します。
Palo Alto Prisma Cloud のアラートを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [新しく追加] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: PAN Prisma Cloud アラート)。
- [ソースタイプ] として [Webhook] を選択します。
- [Log type] として [Palo Alto Prisma Cloud Alerts payload] を選択します。
- [次へ] をクリックします。
- 省略可: 次の入力パラメータの値を指定します。
- 分割区切り文字: ログ行を区切るために使用される区切り文字(
\n
など)。 - アセットの名前空間: アセットの名前空間。
- 取り込みラベル: このフィードのイベントに適用されるラベル。
- 分割区切り文字: ログ行を区切るために使用される区切り文字(
- [次へ] をクリックします。
- [Finalize] 画面でフィードの設定を確認し、[送信] をクリックします。
- [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。
- シークレット キーをコピーして保存します。この秘密鍵を再び表示することはできません。必要に応じて、新しい秘密鍵を再生成できますが、この操作により、以前の秘密鍵は無効になります。
- [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。このエンドポイント URL は、クライアント アプリケーションで指定する必要があります。
- [完了] をクリックします。
Webhook フィードの API キーを作成する
Google Cloud コンソール > [認証情報] に移動します。
[認証情報を作成] をクリックして [API キー] を選択します。
API キーのアクセスを Google Security Operations API に制限します。
エンドポイント URL を指定する
- クライアント アプリケーションで、Webhook フィードで指定された HTTPS エンドポイント URL を指定します。
次の形式でカスタム ヘッダーの一部として API キーとシークレット キーを指定して、認証を有効にします。
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
推奨事項: API キーは URL ではなくヘッダーとして指定してください。
Webhook クライアントがカスタム ヘッダーをサポートしていない場合は、次の形式のクエリ パラメータを使用して API キーとシークレット キーを指定できます。
ENDPOINT_URL?key=API_KEY&secret=SECRET
次のように置き換えます。
ENDPOINT_URL
: フィードのエンドポイント URL。API_KEY
: Google Security Operations の認証に使用する API キー。SECRET
: フィードの認証用に生成したシークレット キー。
Palo Alto Prisma Cloud Webhook を Google SecOps に構成する
- Palo Alto Prisma Cloud にログインします。
- [設定] > [統合と通知] ((and_then)) [統合] を選択します。
- [Add Integration] をクリックします。
- [Webhook] を選択します。
- 次の入力パラメータの値を指定します。
- 統合名: 一意でわかりやすい名前を指定します(例: Google SecOps)。
- Webhook URL: ENDPOINT_URL を入力します。
- 省略可: 統合の説明を指定します。
- 省略可: [カスタム ペイロード] を有効にして > [次へ] をクリックし、カスタム ペイロードを確認または修正します。
- [次へ] をクリックします。
- [テスト] と [統合を保存] をクリックします。
Palo Alto Prisma Cloud アラートを構成する
- Palo Alto Prisma Cloud コンソールで、[アラート] > [アラートルールを表示] に移動します。
- 編集する既存のアラートルールを選択します。
- 省略可: Cloud Infrastructure の新しいアラートを作成します。
- 省略可: Cloud Workload の新しいアラートを作成します。
- [通知を設定] に移動します。
- [Webhook] を選択します。
- 省略可: アラートルールによってトリガーされたアラートの通知を送信するチャネルを選択します。
- [次へ] をクリックします。
- [保存] をクリックします。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
accountId |
target.resource.id |
未加工ログの accountId の値。 |
accountId |
target.resource.product_object_id |
未加工ログの accountId の値。これは、非推奨の resource.id フィールドをオーバーライドします。 |
alertId |
security_result.detection_fields[].key |
キーは「alert id」に設定されています。 |
alertId |
security_result.detection_fields[].value |
未加工ログの alertId の値。 |
alertRuleId |
security_result.rule_id |
未加工ログの alertRuleId の値。 |
alertRuleName |
security_result.rule_name |
未加工ログの alertRuleName の値。 |
alertStatus |
security_result.detection_fields[].key |
キーは「アラート ステータス」に設定されています。 |
alertStatus |
security_result.detection_fields[].value |
未加工ログの alertStatus の値。 |
alertTs |
security_result.detection_fields[].key |
キーは「alertTs」に設定されています。 |
alertTs |
security_result.detection_fields[].value |
未加工ログの alertTs の値を文字列に変換したもの。 |
callbackUrl |
metadata.url_back_to_product |
未加工ログの callbackUrl の値。 |
cloudType |
principal.cloud.environment |
cloudType が「gcp」(大文字と小文字は区別されません)の場合、値は「GOOGLE_CLOUD_PLATFORM」に設定されます。 |
complianceMetadata[].complianceId |
security_result.detection_fields[].key |
キーは「complianceId」に設定されています。 |
complianceMetadata[].complianceId |
security_result.detection_fields[].value |
未加工ログの complianceMetadata[].complianceId の値。 |
complianceMetadata[].customAssigned |
security_result.detection_fields[].key |
キーは「customAssigned」に設定されています。 |
complianceMetadata[].customAssigned |
security_result.detection_fields[].value |
未加工ログの complianceMetadata[].customAssigned の値を文字列に変換したもの。 |
complianceMetadata[].policyId |
security_result.detection_fields[].key |
キーは「ポリシー ID」に設定されています。 |
complianceMetadata[].policyId |
security_result.detection_fields[].value |
未加工ログの complianceMetadata[].policyId の値。 |
complianceMetadata[].requirementId |
security_result.rule_id |
未加工ログの complianceMetadata[].requirementId の値。 |
complianceMetadata[].requirementName |
security_result.summary |
未加工ログの complianceMetadata[].requirementName の値。 |
complianceMetadata[].requirementViewOrder |
security_result.detection_fields[].key |
キーは「requirementViewOrder」に設定されています。 |
complianceMetadata[].requirementViewOrder |
security_result.detection_fields[].value |
未加工ログの complianceMetadata[].requirementViewOrder の値を文字列に変換したもの。 |
complianceMetadata[].sectionDescription |
security_result.detection_fields[].key |
キーは「sectionDescription」に設定されています。 |
complianceMetadata[].sectionDescription |
security_result.detection_fields[].value |
未加工ログの complianceMetadata[].sectionDescription の値。 |
complianceMetadata[].sectionId |
security_result.detection_fields[].key |
キーは「sectionId」に設定されています。 |
complianceMetadata[].sectionId |
security_result.detection_fields[].value |
未加工ログの complianceMetadata[].sectionId の値。 |
complianceMetadata[].sectionLabel |
security_result.detection_fields[].key |
キーは「sectionLabel」に設定されています。 |
complianceMetadata[].sectionLabel |
security_result.detection_fields[].value |
未加工ログの complianceMetadata[].sectionLabel の値。 |
complianceMetadata[].sectionViewOrder |
security_result.detection_fields[].key |
キーは「sectionViewOrder」に設定されています。 |
complianceMetadata[].sectionViewOrder |
security_result.detection_fields[].value |
未加工ログの complianceMetadata[].sectionViewOrder の値を文字列に変換したもの。 |
complianceMetadata[].standardDescription |
security_result.detection_fields[].key |
キーは「standardDescription」に設定されています。 |
complianceMetadata[].standardDescription |
security_result.detection_fields[].value |
未加工ログの complianceMetadata[].standardDescription の値。 |
complianceMetadata[].standardName |
security_result.rule_name |
未加工ログの complianceMetadata[].standardName の値。 |
complianceMetadata[].systemDefault |
security_result.detection_fields[].key |
キーが「systemDefault」に設定されている。 |
complianceMetadata[].systemDefault |
security_result.detection_fields[].value |
未加工ログの complianceMetadata[].systemDefault の値を文字列に変換したもの。 |
create_time |
metadata.event_timestamp 、events[].timestamp |
未加工ログの create_time の値。 |
data.allocationId |
principal.resource.product_object_id |
未加工ログの data.allocationId の値。 |
data.publicIp |
principal.ip |
未加工ログの data.publicIp の値。 |
deleted |
additional.fields[].key |
キーが「deleted」に設定されている。 |
deleted |
additional.fields[].value.string_value |
未加工ログの deleted の値を文字列に変換したもの。 |
description |
metadata.description |
未加工ログの description の値。 |
firstSeen |
principal.asset.first_seen_time |
タイムスタンプ(UNIX_MS 形式または UNIX 形式)として解析された、未加工ログの firstSeen の値。 |
hasFinding |
security_result.detection_fields[].key |
キーは「hasFinding」に設定されています。 |
hasFinding |
security_result.detection_fields[].value |
未加工ログの hasFinding の値を文字列に変換したもの。 |
lastSeen |
principal.asset.last_discover_time |
タイムスタンプ(UNIX_MS 形式または UNIX 形式)として解析された、未加工ログの lastSeen の値。 |
なし | metadata.event_type |
ログ内の特定のイベントタイプでオーバーライドされていない場合は、「USER_RESOURCE_ACCESS」に設定します。それ以外の場合は「GENERIC_EVENT」に設定します。 |
なし | metadata.product_name |
「CASB」にハードコードされました。 |
なし | metadata.vendor_name |
「Palo Alto Networks」にハードコードされています。 |
policyDescription |
security_result.detection_fields[].key |
キーは「policyDescription」に設定されています。 |
policyDescription |
security_result.detection_fields[].value |
未加工ログの policyDescription の値。 |
policyId |
security_result.detection_fields[].key |
キーは「ポリシー ID」に設定されています。 |
policyId |
security_result.detection_fields[].value |
未加工ログの policyId の値。 |
policyLabels |
additional.fields[].key |
キーは「policyLabels」に設定されています。 |
policyLabels |
additional.fields[].value.string_value |
未加工ログの policyLabels の値。 |
policyName |
security_result.description |
未加工ログの policyName の値。 |
policyRecommendation |
security_result.detection_fields[].key |
キーが「ポリシーに関する推奨事項」に設定されている。 |
policyRecommendation |
security_result.detection_fields[].value |
未加工ログの policyRecommendation の値。 |
policyType |
security_result.detection_fields[].key |
キーが「ポリシータイプ」に設定されている。 |
policyType |
security_result.detection_fields[].value |
未加工ログの policyType の値。 |
reason |
security_result.summary |
未加工ログの reason の値。 |
recommendation |
security_result.detection_fields[].key |
キーは「Recommendation」に設定されています。 |
recommendation |
security_result.detection_fields[].value |
未加工ログの recommendation の値。 |
resource.additionalInfo |
principal.resource.attribute.labels[].key |
キーは「resource additionalInfo」に設定されています。 |
resource.additionalInfo |
principal.resource.attribute.labels[].value |
未加工ログの resource.additionalInfo の値。 |
resource.cloudAccountGroups |
principal.resource.attribute.labels[].key |
キーは「resource cloudAccountGroups {index}」に設定されています。 |
resource.cloudAccountGroups |
principal.resource.attribute.labels[].value |
未加工ログの resource.cloudAccountGroups[] の値。 |
resource.cloudType |
principal.resource.attribute.labels[].key |
キーは「resource cloudType」に設定されています。 |
resource.cloudType |
principal.resource.attribute.labels[].value |
未加工ログの resource.cloudType の値。 |
resource.data |
principal.resource.attribute.labels[].key |
キーは「resource data {nested_key}」に設定されています。 |
resource.data |
principal.resource.attribute.labels[].value |
未加工ログの resource.data[] の値。 |
resource.id |
principal.resource.product_object_id |
未加工ログの resource.id の値。 |
resource.name |
principal.resource.name |
未加工ログの resource.name の値。 |
resource.region |
principal.location.country_or_region |
未加工ログの resource.region の値。 |
resource.regionId |
principal.cloud.availability_zone |
未加工ログの resource.regionId の値。 |
resource.resourceApiName |
principal.resource.attribute.labels[].key |
キーは「resource resourceApiName」に設定されています。 |
resource.resourceApiName |
principal.resource.attribute.labels[].value |
未加工ログの resource.resourceApiName の値。 |
resource.resourceTags |
principal.resource.attribute.labels[].key |
キーは「resource resourceTags {nested_key}」に設定されています。 |
resource.resourceTags |
principal.resource.attribute.labels[].value |
未加工ログの resource.resourceTags[] の値。 |
resource.resourceTs |
principal.resource.attribute.labels[].key |
キーは「resource resourceTs」に設定されています。 |
resource.resourceTs |
principal.resource.attribute.labels[].value |
未加工ログの resource.resourceTs の値。 |
resource.resourceType |
principal.resource.attribute.labels[].key |
キーは「resource resourceType」に設定されています。 |
resource.resourceType |
principal.resource.attribute.labels[].value |
未加工ログの resource.resourceType の値。 |
resource.rrn |
principal.resource.attribute.labels[].key |
キーは「resource rrn」に設定されています。 |
resource.rrn |
principal.resource.attribute.labels[].value |
未加工ログの resource.rrn の値。 |
resource.url |
principal.url |
未加工ログの resource.url の値。 |
resourceCloudService |
principal.resource.attribute.labels[].key |
キーは「リソース クラウド サービス」に設定されています。 |
resourceCloudService |
principal.resource.attribute.labels[].value |
未加工ログの resourceCloudService の値。 |
resourceName |
principal.resource.name |
未加工ログの resourceName の値。 |
resourceRegion |
principal.location.country_or_region |
未加工ログの resourceRegion の値。 |
resourceRegionId |
principal.cloud.availability_zone |
未加工ログの resourceRegionId の値。 |
resourceType |
target.resource.resource_subtype |
未加工ログの resourceType の値。 |
severity |
security_result.severity |
未加工ログの severity の値(大文字に変換)。UDM の重大度値(CRITICAL、HIGH、MEDIUM、LOW、INFORMATIONAL)にマッピングされます。 |
source |
principal.application |
未加工ログの source の値。 |
unifiedAssetId |
principal.asset.asset_id |
未加工ログの unifiedAssetId の値。接頭辞は「ASSETID:」です。 |
変更点
2023-12-10
- JSON 部分を抽出する Grok パターンを追加しました。
- 「resourceId」を「principal.resource.product_object_id」にマッピングしました。
- 「accountId」を「target.resource.product_object_id」にマッピングしました。
- 「alertRuleName」を「security_result.rule_name」にマッピングしました。
- 「accountName」を「target.resource.name」にマッピングしました。
- 「hasFinding」を「security_result.detection_fields」にマッピングしました。
- 「resourceRegionId」を「principal.cloud.availability_zone」にマッピングしました。
- 「source」を「principal.application」にマッピングしました。
- 「callbackUrl」を「metadata.url_back_to_product」にマッピングしました。
- 「alertRuleId」を「security_result.rule_id」にマッピングしました。
- 「alertId」を「security_result.detection_fields」にマッピングしました。
- 「policyLabels」を「additional.fields」にマッピングしました。
- 「policyName」を「security_result.description」にマッピングしました。
- 「resourceName」を「principal.resource.name」にマッピングしました。
- 「resourceRegion」を「principal.location.country_or_region」にマッピングしました。
- 「policyDescription」を「security_result.detection_fields」にマッピングしました。
- 「policyRecommendation」を「security_result.detection_fields」にマッピングしました。
- 「resourceCloudService」を「principal.resource.attribute.labels」にマッピングしました。
- 「resource.url」を「principal.url」にマッピングしました。
- 「alertTs」を「security_result.detection_fields」にマッピングしました。
- 「firstSeen」を「principal.asset.first_seen_time」にマッピングしました。
- 「lastSeen」を「principal.asset.last_discover_time」にマッピングしました。
- 「reason」を「security_result.summary」にマッピングしました。
- 「alertStatus」を「security_result.detection_fields」にマッピングしました。
- 「severity」値が「HIGH」の場合は、「security_result.severity」を「HIGH」に設定します。
- 「cloudType」の値が「gcp」の場合は、「principal.cloud.environment」を「GOOGLE_CLOUD_PLATFORM」に設定します。
2023-08-17
- 新しく作成されたパーサー。