Mengumpulkan log pemberitahuan Palo Alto Prisma Cloud

Didukung di:

Ringkasan

Parser ini mengekstrak log pemberitahuan dari Palo Alto Prisma Cloud dalam format JSON, yang mengubahnya menjadi UDM. Parser melakukan normalisasi data, konversi jenis, dan logika kondisional untuk mengisi kolom UDM yang sesuai. JSONPath juga menangani struktur dan array JSON bertingkat dalam data log untuk mengekstrak informasi yang relevan.

Sebelum memulai

  • Pastikan Anda memiliki instance Google Chronicle.
  • Pastikan Anda memiliki akses dengan hak istimewa ke Palo Alto Prisma Cloud.

Mengonfigurasi feed di Google SecOps untuk menyerap Pemberitahuan Palo Alto Prisma Cloud

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan baru.
  3. Di kolom Nama feed, masukkan nama untuk feed (misalnya, PAN Prisma Cloud Alerts).
  4. Pilih Webhook sebagai Jenis sumber.
  5. Pilih Payload pemberitahuan Palo Alto Prisma Cloud sebagai Jenis log.
  6. Klik Berikutnya.
  7. Opsional: Tentukan nilai untuk parameter input berikut:
    • Pemisah pemisahan: pembatas yang digunakan untuk memisahkan baris log, seperti \n.
    • Namespace aset: namespace aset.
    • Label penyerapan: label yang diterapkan ke peristiwa dari feed ini.
  8. Klik Berikutnya.
  9. Tinjau konfigurasi feed di layar Finalize, lalu klik Submit.
  10. Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.
  11. Salin dan simpan kunci rahasia. Anda tidak dapat melihat kunci rahasia ini lagi. Jika perlu, Anda dapat membuat ulang kunci rahasia baru, tetapi tindakan ini akan membuat kunci rahasia sebelumnya tidak berlaku lagi.
  12. Dari tab Detail, salin URL endpoint feed dari kolom Endpoint Information. Anda perlu menentukan URL endpoint ini di aplikasi klien.
  13. Klik Done.

Membuat kunci API untuk feed webhook

  1. Buka Konsol Google Cloud > Kredensial.

    Buka Kredensial

  2. Klik Create credentials, lalu pilih API key.

  3. Batasi akses kunci API ke Google Security Operations API.

Menentukan URL endpoint

  1. Di aplikasi klien, tentukan URL endpoint HTTPS yang diberikan di feed webhook.
  2. Aktifkan autentikasi dengan menentukan kunci API dan kunci secret sebagai bagian dari header kustom dalam format berikut:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Rekomendasi: Tentukan kunci API sebagai header, bukan menentukannya di URL.

  3. Jika klien webhook Anda tidak mendukung header kustom, Anda dapat menentukan kunci API dan kunci rahasia menggunakan parameter kueri dalam format berikut:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Ganti kode berikut:

    • ENDPOINT_URL: URL endpoint feed.
    • API_KEY: kunci API untuk mengautentikasi ke Google Security Operations.
    • SECRET: kunci rahasia yang Anda buat untuk mengautentikasi feed.

Mengonfigurasi webhook Palo Alto Prisma Cloud ke Google SecOps

  1. Login ke Palo Alto Prisma Cloud.
  2. Pilih Setelan > Integrasi & Notifikasi ((and_then)) Integrasi.
  3. Klik Tambahkan Integrasi.
  4. Pilih Webhook.
  5. Tentukan nilai untuk parameter input berikut:
    • Nama Integrasi: Berikan nama yang unik dan deskriptif (misalnya, Google SecOps)
    • URL Webhook: Masukkan ENDPOINT_URL.
    • Opsional: Berikan Deskripsi integrasi.
    • Opsional: Aktifkan Payload Kustom > klik Berikutnya untuk meninjau atau merevisi payload kustom.
  6. Klik Berikutnya.
  7. Uji dan Simpan Integrasi.

Mengonfigurasi Pemberitahuan Palo Alto Prisma Cloud

  1. Di konsol Palo Alto Prisma Cloud, buka Alerts > View Alert Rules.
  2. Pilih aturan pemberitahuan yang ada untuk diedit.
  3. Opsional: Buat Notifikasi baru untuk Cloud Infrastructure.
  4. Opsional: Buat Pemberitahuan baru untuk Beban Kerja Cloud.
  5. Buka Configure Notifications.
  6. Pilih Webhook.
  7. Opsional: Pilih Saluran yang ingin Anda kirimi notifikasi pemberitahuan yang dipicu oleh aturan pemberitahuan.
  8. Klik Berikutnya.
  9. Klik Simpan.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
accountId target.resource.id Nilai accountId dari log mentah.
accountId target.resource.product_object_id Nilai accountId dari log mentah. Opsi ini akan mengganti kolom resource.id yang tidak digunakan lagi.
alertId security_result.detection_fields[].key Kunci ditetapkan ke "alert id".
alertId security_result.detection_fields[].value Nilai alertId dari log mentah.
alertRuleId security_result.rule_id Nilai alertRuleId dari log mentah.
alertRuleName security_result.rule_name Nilai alertRuleName dari log mentah.
alertStatus security_result.detection_fields[].key Kunci ditetapkan ke "status pemberitahuan".
alertStatus security_result.detection_fields[].value Nilai alertStatus dari log mentah.
alertTs security_result.detection_fields[].key Kunci ditetapkan ke "alertTs".
alertTs security_result.detection_fields[].value Nilai alertTs dari log mentah, yang dikonversi menjadi string.
callbackUrl metadata.url_back_to_product Nilai callbackUrl dari log mentah.
cloudType principal.cloud.environment Jika cloudType adalah "gcp" (tidak peka huruf besar/kecil), nilainya ditetapkan ke "GOOGLE_CLOUD_PLATFORM".
complianceMetadata[].complianceId security_result.detection_fields[].key Kunci ditetapkan ke "complianceId".
complianceMetadata[].complianceId security_result.detection_fields[].value Nilai complianceMetadata[].complianceId dari log mentah.
complianceMetadata[].customAssigned security_result.detection_fields[].key Kunci ditetapkan ke "customAssigned".
complianceMetadata[].customAssigned security_result.detection_fields[].value Nilai complianceMetadata[].customAssigned dari log mentah, yang dikonversi menjadi string.
complianceMetadata[].policyId security_result.detection_fields[].key Kunci ditetapkan ke "ID Kebijakan".
complianceMetadata[].policyId security_result.detection_fields[].value Nilai complianceMetadata[].policyId dari log mentah.
complianceMetadata[].requirementId security_result.rule_id Nilai complianceMetadata[].requirementId dari log mentah.
complianceMetadata[].requirementName security_result.summary Nilai complianceMetadata[].requirementName dari log mentah.
complianceMetadata[].requirementViewOrder security_result.detection_fields[].key Kunci ditetapkan ke "requirementViewOrder".
complianceMetadata[].requirementViewOrder security_result.detection_fields[].value Nilai complianceMetadata[].requirementViewOrder dari log mentah, yang dikonversi menjadi string.
complianceMetadata[].sectionDescription security_result.detection_fields[].key Kunci ditetapkan ke "sectionDescription".
complianceMetadata[].sectionDescription security_result.detection_fields[].value Nilai complianceMetadata[].sectionDescription dari log mentah.
complianceMetadata[].sectionId security_result.detection_fields[].key Kunci ditetapkan ke "sectionId".
complianceMetadata[].sectionId security_result.detection_fields[].value Nilai complianceMetadata[].sectionId dari log mentah.
complianceMetadata[].sectionLabel security_result.detection_fields[].key Kunci ditetapkan ke "sectionLabel".
complianceMetadata[].sectionLabel security_result.detection_fields[].value Nilai complianceMetadata[].sectionLabel dari log mentah.
complianceMetadata[].sectionViewOrder security_result.detection_fields[].key Kunci ditetapkan ke "sectionViewOrder".
complianceMetadata[].sectionViewOrder security_result.detection_fields[].value Nilai complianceMetadata[].sectionViewOrder dari log mentah, yang dikonversi menjadi string.
complianceMetadata[].standardDescription security_result.detection_fields[].key Kunci ditetapkan ke "standardDescription".
complianceMetadata[].standardDescription security_result.detection_fields[].value Nilai complianceMetadata[].standardDescription dari log mentah.
complianceMetadata[].standardName security_result.rule_name Nilai complianceMetadata[].standardName dari log mentah.
complianceMetadata[].systemDefault security_result.detection_fields[].key Kunci ditetapkan ke "systemDefault".
complianceMetadata[].systemDefault security_result.detection_fields[].value Nilai complianceMetadata[].systemDefault dari log mentah, yang dikonversi menjadi string.
create_time metadata.event_timestamp, events[].timestamp Nilai create_time dari log mentah.
data.allocationId principal.resource.product_object_id Nilai data.allocationId dari log mentah.
data.publicIp principal.ip Nilai data.publicIp dari log mentah.
deleted additional.fields[].key Kunci ditetapkan ke "dihapus".
deleted additional.fields[].value.string_value Nilai deleted dari log mentah, yang dikonversi menjadi string.
description metadata.description Nilai description dari log mentah.
firstSeen principal.asset.first_seen_time Nilai firstSeen dari log mentah, diuraikan sebagai stempel waktu (format UNIX_MS atau UNIX).
hasFinding security_result.detection_fields[].key Kunci ditetapkan ke "hasFinding".
hasFinding security_result.detection_fields[].value Nilai hasFinding dari log mentah, yang dikonversi menjadi string.
lastSeen principal.asset.last_discover_time Nilai lastSeen dari log mentah, diuraikan sebagai stempel waktu (format UNIX_MS atau UNIX).
T/A metadata.event_type Tetapkan ke "USER_RESOURCE_ACCESS" jika tidak diganti oleh jenis peristiwa tertentu dari log. Jika tidak, tetapkan ke "GENERIC_EVENT".
T/A metadata.product_name Di-hardcode ke "CASB".
T/A metadata.vendor_name Di-hardcode ke "Palo Alto Networks".
policyDescription security_result.detection_fields[].key Kunci ditetapkan ke "policyDescription".
policyDescription security_result.detection_fields[].value Nilai policyDescription dari log mentah.
policyId security_result.detection_fields[].key Kunci ditetapkan ke "ID Kebijakan".
policyId security_result.detection_fields[].value Nilai policyId dari log mentah.
policyLabels additional.fields[].key Kunci ditetapkan ke "policyLabels".
policyLabels additional.fields[].value.string_value Nilai policyLabels dari log mentah.
policyName security_result.description Nilai policyName dari log mentah.
policyRecommendation security_result.detection_fields[].key Kunci ditetapkan ke "rekomendasi kebijakan".
policyRecommendation security_result.detection_fields[].value Nilai policyRecommendation dari log mentah.
policyType security_result.detection_fields[].key Kunci ditetapkan ke "Policy Type".
policyType security_result.detection_fields[].value Nilai policyType dari log mentah.
reason security_result.summary Nilai reason dari log mentah.
recommendation security_result.detection_fields[].key Kunci ditetapkan ke "Rekomendasi".
recommendation security_result.detection_fields[].value Nilai recommendation dari log mentah.
resource.additionalInfo principal.resource.attribute.labels[].key Kunci ditetapkan ke "resource additionalInfo".
resource.additionalInfo principal.resource.attribute.labels[].value Nilai resource.additionalInfo dari log mentah.
resource.cloudAccountGroups principal.resource.attribute.labels[].key Kunci ditetapkan ke "resource cloudAccountGroups {index}".
resource.cloudAccountGroups principal.resource.attribute.labels[].value Nilai resource.cloudAccountGroups[] dari log mentah.
resource.cloudType principal.resource.attribute.labels[].key Kunci ditetapkan ke "resource cloudType".
resource.cloudType principal.resource.attribute.labels[].value Nilai resource.cloudType dari log mentah.
resource.data principal.resource.attribute.labels[].key Kunci ditetapkan ke "resource data {nested_key}".
resource.data principal.resource.attribute.labels[].value Nilai resource.data[] dari log mentah.
resource.id principal.resource.product_object_id Nilai resource.id dari log mentah.
resource.name principal.resource.name Nilai resource.name dari log mentah.
resource.region principal.location.country_or_region Nilai resource.region dari log mentah.
resource.regionId principal.cloud.availability_zone Nilai resource.regionId dari log mentah.
resource.resourceApiName principal.resource.attribute.labels[].key Kunci ditetapkan ke "resource resourceApiName".
resource.resourceApiName principal.resource.attribute.labels[].value Nilai resource.resourceApiName dari log mentah.
resource.resourceTags principal.resource.attribute.labels[].key Kunci ditetapkan ke "resource resourceTags {nested_key}".
resource.resourceTags principal.resource.attribute.labels[].value Nilai resource.resourceTags[] dari log mentah.
resource.resourceTs principal.resource.attribute.labels[].key Kunci ditetapkan ke "resource resourceTs".
resource.resourceTs principal.resource.attribute.labels[].value Nilai resource.resourceTs dari log mentah.
resource.resourceType principal.resource.attribute.labels[].key Kunci ditetapkan ke "resource resourceType".
resource.resourceType principal.resource.attribute.labels[].value Nilai resource.resourceType dari log mentah.
resource.rrn principal.resource.attribute.labels[].key Kunci ditetapkan ke "resource rrn".
resource.rrn principal.resource.attribute.labels[].value Nilai resource.rrn dari log mentah.
resource.url principal.url Nilai resource.url dari log mentah.
resourceCloudService principal.resource.attribute.labels[].key Kunci ditetapkan ke "layanan cloud resource".
resourceCloudService principal.resource.attribute.labels[].value Nilai resourceCloudService dari log mentah.
resourceName principal.resource.name Nilai resourceName dari log mentah.
resourceRegion principal.location.country_or_region Nilai resourceRegion dari log mentah.
resourceRegionId principal.cloud.availability_zone Nilai resourceRegionId dari log mentah.
resourceType target.resource.resource_subtype Nilai resourceType dari log mentah.
severity security_result.severity Nilai severity dari log mentah, yang dikonversi ke huruf besar. Dipetakan ke nilai keparahan UDM (KRITIS, TINGGI, SEDANG, RENDAH, INFORMASI).
source principal.application Nilai source dari log mentah.
unifiedAssetId principal.asset.asset_id Nilai unifiedAssetId dari log mentah, diawali dengan "ASSETID:".

Perubahan

2023-12-10

  • Menambahkan pola Grok untuk mengekstrak bagian JSON.
  • Memetakan "resourceId" ke "principal.resource.product_object_id".
  • Memetakan "accountId" ke "target.resource.product_object_id".
  • Memetakan "alertRuleName" ke "security_result.rule_name".
  • Memetakan "accountName" ke "target.resource.name".
  • Memetakan "hasFinding" ke "security_result.detection_fields".
  • Memetakan "resourceRegionId" ke "principal.cloud.availability_zone".
  • Memetakan "source" ke "principal.application".
  • Memetakan "callbackUrl" ke "metadata.url_back_to_product".
  • Memetakan "alertRuleId" ke "security_result.rule_id".
  • Memetakan "alertId" ke "security_result.detection_fields".
  • Memetakan "policyLabels" ke "additional.fields".
  • Memetakan "policyName" ke "security_result.description".
  • Memetakan "resourceName" ke "principal.resource.name".
  • Memetakan "resourceRegion" ke "principal.location.country_or_region".
  • Memetakan "policyDescription" ke "security_result.detection_fields".
  • Memetakan "policyRecommendation" ke "security_result.detection_fields".
  • Memetakan "resourceCloudService" ke "principal.resource.attribute.labels".
  • Memetakan "resource.url" ke "principal.url".
  • Memetakan "alertTs" ke "security_result.detection_fields".
  • Memetakan "firstSeen" ke "principal.asset.first_seen_time".
  • Memetakan "lastSeen" ke "principal.asset.last_discover_time".
  • Memetakan "reason" ke "security_result.summary".
  • Memetakan "alertStatus" ke "security_result.detection_fields".
  • Jika nilai "severity" adalah "HIGH", tetapkan "security_result.severity" ke "HIGH".
  • Jika nilai "cloudType" adalah "gcp", tetapkan "principal.cloud.environment" ke "GOOGLE_CLOUD_PLATFORM".

2023-08-17

  • Parser yang baru dibuat.