Mengumpulkan log pemberitahuan Palo Alto Prisma Cloud
Ringkasan
Parser ini mengekstrak log pemberitahuan dari Palo Alto Prisma Cloud dalam format JSON, lalu mengubahnya menjadi UDM. Parser melakukan normalisasi data, konversi jenis, dan logika bersyarat untuk mengisi kolom UDM yang sesuai. Selain itu, alat ini juga menangani struktur JSON bertingkat dan array dalam data log untuk mengekstrak informasi yang relevan.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps.
- Akses istimewa ke Palo Alto Prisma Cloud.
Menyiapkan feed
Ada dua titik entri berbeda untuk menyiapkan feed di platform Google SecOps:
- Setelan SIEM > Feed
- Hub Konten > Paket Konten
Menyiapkan feed dari Setelan SIEM > Feed
Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:
- Buka Setelan SIEM > Feed.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed; misalnya, Pemberitahuan PAN Prisma Cloud.
- Pilih Webhook sebagai Jenis sumber.
- Pilih Payload pemberitahuan Prisma Cloud Palo Alto sebagai Jenis log.
- Klik Berikutnya.
- Opsional: Tentukan nilai untuk parameter input berikut:
- Pemisah pemisahan: pemisah yang digunakan untuk memisahkan baris log, seperti
\n
.
- Pemisah pemisahan: pemisah yang digunakan untuk memisahkan baris log, seperti
- Klik Berikutnya.
- Tinjau konfigurasi feed di layar Selesaikan, lalu klik Kirim.
- Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.
- 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.
- Dari tab Detail, salin URL endpoint feed dari kolom Informasi Endpoint. Anda perlu menentukan URL endpoint ini di aplikasi klien Anda.
- Klik Selesai.
Menyiapkan feed dari Hub Konten
Tentukan nilai untuk kolom berikut:
- Pemisah pemisahan: pemisah yang digunakan untuk memisahkan baris log, seperti
\n
.
Opsi lanjutan
- Nama Feed: Nilai yang telah diisi otomatis yang mengidentifikasi feed.
- Jenis Sumber: Metode yang digunakan untuk mengumpulkan log ke Google SecOps.
- Namespace Aset: Namespace yang terkait dengan feed.
Label Penyerapan: Label yang diterapkan ke semua peristiwa dari feed ini.
Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.
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.
Dari tab Detail, salin URL endpoint feed dari kolom Informasi Endpoint. Anda perlu menentukan URL endpoint ini di aplikasi klien Anda.
Membuat kunci API untuk feed webhook
Buka konsolGoogle Cloud > Kredensial.
Klik Create credentials, lalu pilih API key.
Batasi akses kunci API ke Google Security Operations API.
Tentukan URL endpoint
- Di aplikasi klien Anda, tentukan URL endpoint HTTPS yang disediakan di feed webhook.
Aktifkan autentikasi dengan menentukan kunci API dan kunci rahasia 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.
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
- Login ke Palo Alto Prisma Cloud.
- Pilih Setelan > Integrasi & Notifikasi ((and_then)) Integrasi.
- Klik Tambahkan Integrasi.
- Pilih Webhook.
- 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.
- Klik Berikutnya.
- Uji dan Simpan Integrasi.
Mengonfigurasi Pemberitahuan Palo Alto Prisma Cloud
- Di konsol Palo Alto Prisma Cloud, buka Alerts > View Alert Rules.
- Pilih aturan pemberitahuan yang ada untuk diedit.
- Opsional: Buat Pemberitahuan baru untuk Infrastruktur Cloud.
- Opsional: Buat Pemberitahuan baru untuk Cloud Workload.
- Buka Konfigurasi Notifikasi.
- Pilih Webhook.
- Opsional: Pilih Channel yang ingin Anda kirimi notifikasi peringatan yang dipicu oleh aturan peringatan.
- Klik Berikutnya.
- 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. Tindakan ini akan menggantikan kolom resource.id yang tidak digunakan lagi. |
alertId |
security_result.detection_fields[].key |
Kuncinya ditetapkan ke "ID pemberitahuan". |
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 |
Kuncinya disetel ke "status pemberitahuan". |
alertStatus |
security_result.detection_fields[].value |
Nilai alertStatus dari log mentah. |
alertTs |
security_result.detection_fields[].key |
Kuncinya ditetapkan ke "alertTs". |
alertTs |
security_result.detection_fields[].value |
Nilai alertTs dari log mentah, 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), nilai akan ditetapkan ke "GOOGLE_CLOUD_PLATFORM". |
complianceMetadata[].complianceId |
security_result.detection_fields[].key |
Kuncinya ditetapkan ke "complianceId". |
complianceMetadata[].complianceId |
security_result.detection_fields[].value |
Nilai complianceMetadata[].complianceId dari log mentah. |
complianceMetadata[].customAssigned |
security_result.detection_fields[].key |
Kuncinya ditetapkan ke "customAssigned". |
complianceMetadata[].customAssigned |
security_result.detection_fields[].value |
Nilai complianceMetadata[].customAssigned dari log mentah, dikonversi menjadi string. |
complianceMetadata[].policyId |
security_result.detection_fields[].key |
Kuncinya ditetapkan ke "Policy Id". |
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 |
Kuncinya ditetapkan ke "requirementViewOrder". |
complianceMetadata[].requirementViewOrder |
security_result.detection_fields[].value |
Nilai complianceMetadata[].requirementViewOrder dari log mentah, dikonversi menjadi string. |
complianceMetadata[].sectionDescription |
security_result.detection_fields[].key |
Kuncinya ditetapkan ke "sectionDescription". |
complianceMetadata[].sectionDescription |
security_result.detection_fields[].value |
Nilai complianceMetadata[].sectionDescription dari log mentah. |
complianceMetadata[].sectionId |
security_result.detection_fields[].key |
Kuncinya ditetapkan ke "sectionId". |
complianceMetadata[].sectionId |
security_result.detection_fields[].value |
Nilai complianceMetadata[].sectionId dari log mentah. |
complianceMetadata[].sectionLabel |
security_result.detection_fields[].key |
Kuncinya ditetapkan ke "sectionLabel". |
complianceMetadata[].sectionLabel |
security_result.detection_fields[].value |
Nilai complianceMetadata[].sectionLabel dari log mentah. |
complianceMetadata[].sectionViewOrder |
security_result.detection_fields[].key |
Kuncinya ditetapkan ke "sectionViewOrder". |
complianceMetadata[].sectionViewOrder |
security_result.detection_fields[].value |
Nilai complianceMetadata[].sectionViewOrder dari log mentah, 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 |
Kuncinya ditetapkan ke "systemDefault". |
complianceMetadata[].systemDefault |
security_result.detection_fields[].value |
Nilai complianceMetadata[].systemDefault dari log mentah, 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 disetel ke "dihapus". |
deleted |
additional.fields[].value.string_value |
Nilai deleted dari log mentah, 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 |
Kuncinya ditetapkan ke "hasFinding". |
hasFinding |
security_result.detection_fields[].value |
Nilai hasFinding dari log mentah, 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 |
Disetel ke "USER_RESOURCE_ACCESS" jika tidak diganti oleh jenis peristiwa tertentu dari log. Jika tidak, tetapkan ke "GENERIC_EVENT". |
T/A | metadata.product_name |
Dikodekan secara permanen ke "CASB". |
T/A | metadata.vendor_name |
Dikodekan secara permanen ke "Palo Alto Networks". |
policyDescription |
security_result.detection_fields[].key |
Kuncinya ditetapkan ke "policyDescription". |
policyDescription |
security_result.detection_fields[].value |
Nilai policyDescription dari log mentah. |
policyId |
security_result.detection_fields[].key |
Kuncinya ditetapkan ke "Policy Id". |
policyId |
security_result.detection_fields[].value |
Nilai policyId dari log mentah. |
policyLabels |
additional.fields[].key |
Kuncinya 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 |
Kuncinya ditetapkan ke "Jenis Kebijakan". |
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 |
Kuncinya ditetapkan ke "Recommendation". |
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 |
Kuncinya 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 |
Kuncinya ditetapkan ke "resource cloudType". |
resource.cloudType |
principal.resource.attribute.labels[].value |
Nilai resource.cloudType dari log mentah. |
resource.data |
principal.resource.attribute.labels[].key |
Kuncinya ditetapkan ke "data resource {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 |
Kuncinya ditetapkan ke "resource resourceApiName". |
resource.resourceApiName |
principal.resource.attribute.labels[].value |
Nilai resource.resourceApiName dari log mentah. |
resource.resourceTags |
principal.resource.attribute.labels[].key |
Kuncinya 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 |
Kuncinya disetel 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 |
Kuncinya disetel ke "resource cloud service". |
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, dikonversi menjadi huruf besar. Dipetakan ke nilai tingkat keparahan UDM (CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL). |
source |
principal.application |
Nilai source dari log mentah. |
unifiedAssetId |
principal.asset.asset_id |
Nilai unifiedAssetId dari log mentah, dengan awalan "ASSETID:". |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.