Mengumpulkan log Palo Alto Networks Traps
Dokumen ini menjelaskan cara mengumpulkan log Palo Alto Networks Traps ke Google Security Operations menggunakan Bindplane. Parser menangani log dalam format CSV dan kunci-nilai, lalu mengubahnya menjadi UDM. Parser menggunakan grok dan parsing CSV untuk mengekstrak kolom, melakukan logika kondisional berdasarkan pesan log atau nilai kolom tertentu untuk dipetakan ke kolom UDM, dan menangani berbagai jenis peristiwa seperti update status, pemindaian jaringan, dan pembuatan proses.
Sebelum memulai
- Pastikan Anda memiliki instance Google Security Operations.
- Pastikan Anda menggunakan Windows 2016 atau yang lebih baru, atau host Linux dengan
systemd. - Jika beroperasi dari balik proxy, pastikan port firewall terbuka.
- Pastikan Anda memiliki akses istimewa ke Cortex XDR.
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka SIEM Settings > Collection Agents.
- Download Ingestion Authentication File. Simpan file dengan aman di sistem tempat Bindplane akan diinstal.
Mendapatkan ID pelanggan Google SecOps
- Login ke konsol Google SecOps.
- Buka SIEM Settings > Profile.
- Salin dan simpan Customer ID dari bagian Organization Details.
Menginstal agen Bindplane
Penginstalan Windows
- Buka Command Prompt atau PowerShell sebagai administrator.
Jalankan perintah berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Penginstalan Linux
- Buka terminal dengan hak istimewa root atau sudo.
Jalankan perintah berikut:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Referensi penginstalan tambahan
- Untuk opsi penginstalan tambahan, lihat panduan penginstalan ini.
Mengonfigurasi agen Bindplane untuk menyerap Syslog dan mengirim ke Google SecOps
Akses file konfigurasi:
- Cari file
config.yaml. Biasanya, file ini berada di direktori/etc/bindplane-agent/di Linux atau di direktori penginstalan di Windows. - Buka file menggunakan editor teks (misalnya,
nano,vi, atau Notepad).
- Cari file
Edit file
config.yamlsebagai berikut:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" 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 service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labelsGanti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.
Ganti
<customer_id>dengan ID pelanggan sebenarnya.Ganti
/path/to/ingestion-authentication-file.jsondengan jalur tempat file autentikasi disimpan di bagian Mendapatkan file autentikasi penyerapan Google SecOps.
Memulai ulang agen Bindplane untuk menerapkan perubahan
Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:
sudo systemctl restart bindplane-agentUntuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:
net stop BindPlaneAgent && net start BindPlaneAgent
Mengonfigurasi Palo Alto Networks Traps
- Login ke konsol Cortex XDR ESM.
- Pilih Settings > ESM > Syslog.
- Centang kotak Enable syslog.
- Berikan detail konfigurasi berikut:
- Syslog server: masukkan alamat IP agen Bindplane.
- Port syslog: masukkan nomor port yang dikonfigurasi di Bindplane; misalnya,
514. - Syslog protocol: pilih CEF.
- Tetapkan Keep-alive timeout sebagai 0.
- Communication protocol: pilih UDP.
- Di bagian Security events, centang kotak berikut:
- Prevention event
- Notification event
- Post detection event
- Klik Check connectivity > Save.
Tabel Pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
agentId |
event.idm.read_only_udm.additional.fields.value.string_value |
Nilai agentId dari log mentah dipetakan ke kolom string_value dalam struktur bertingkat di bagian additional.fields. key untuk kolom ini ditetapkan ke Agent ID. |
agentIp |
event.idm.read_only_udm.target.ip |
Nilai agentIp dari log mentah dipetakan ke kolom target.ip. |
cat |
event.idm.read_only_udm.security_result.rule_name |
Nilai cat dari log mentah dipetakan ke kolom security_result.rule_name. |
class |
event.idm.read_only_udm.security_result.category_details |
Digunakan bersama dengan subClass untuk mengisi security_result.category_details dengan format class: subClass. |
cs1 |
event.idm.read_only_udm.principal.application, event.idm.read_only_udm.principal.user.email_addresses |
Jika cs1Label adalah email, dan cs1 adalah alamat email yang valid, alamat tersebut akan dipetakan ke principal.user.email_addresses. Jika cs1Label adalah Initiated by, alamat tersebut akan dipetakan ke principal.application. |
cs2 |
event.idm.read_only_udm.principal.process.command_line, event.idm.read_only_udm.security_result.description |
Jika cs2Label adalah subtype, alamat tersebut akan dipetakan ke security_result.description. Jika cs2Label adalah Initiator CMD, alamat tersebut akan dipetakan ke principal.process.command_line. |
cs3 |
event.idm.read_only_udm.security_result.action_details |
Jika cs3Label adalah result, alamat tersebut akan dipetakan ke security_result.action_details. |
customerId |
event.idm.read_only_udm.additional.fields.value.string_value |
Nilai customerId dari log mentah dipetakan ke kolom string_value dalam struktur bertingkat di bagian additional.fields. key untuk kolom ini ditetapkan ke Customer ID. |
date_time |
event.idm.read_only_udm.metadata.event_timestamp.seconds |
Diuraikan dan dikonversi ke stempel waktu, lalu dipetakan ke metadata.event_timestamp.seconds. |
desc |
event.idm.read_only_udm.metadata.description |
Nilai desc dari log mentah dipetakan ke kolom metadata.description. |
deviceName |
event.idm.read_only_udm.target.hostname |
Nilai deviceName dari log mentah dipetakan ke kolom target.hostname. |
email_receiver |
event.idm.read_only_udm.network.email.to |
Diekstrak dari kolom msg jika berisi alamat email dan dipetakan ke network.email.to. |
endpoint_desc |
event.idm.read_only_udm.target.resource.attribute.labels.value |
Diturunkan dari isEndpoint: Yes, host is an endpoint. jika isEndpoint adalah 1, No, host is not an endpoint jika isEndpoint adalah 0. key ditetapkan ke Is Endpoint. |
eventType |
event.idm.read_only_udm.metadata.product_event_type, event.idm.read_only_udm.metadata.event_type |
Nilai eventType dari log mentah dipetakan ke kolom metadata.product_event_type. Juga digunakan untuk mendapatkan metadata.event_type berdasarkan nilainya (misalnya, Management Audit Logs menghasilkan EMAIL_TRANSACTION, XDR Analytics BIOC atau Behavioral Threat menghasilkan SCAN_NETWORK). |
facility |
event.idm.read_only_udm.additional.fields.value.string_value |
Nilai facility dari log mentah dipetakan ke kolom string_value dalam struktur bertingkat di bagian additional.fields. key untuk kolom ini ditetapkan ke Facility. |
fileHash |
event.idm.read_only_udm.principal.process.file.sha256 |
Nilai fileHash dari log mentah, yang dikonversi menjadi huruf kecil, dipetakan ke kolom principal.process.file.sha256. |
filePath |
event.idm.read_only_udm.principal.process.file.full_path |
Nilai filePath dari log mentah dipetakan ke kolom principal.process.file.full_path. |
friendlyName |
event.idm.read_only_udm.metadata.description |
Nilai friendlyName dari log mentah dipetakan ke kolom metadata.description. |
interm_ip |
event.idm.read_only_udm.intermediary.ip |
Nilai interm_ip dari log mentah dipetakan ke kolom intermediary.ip. |
isEndpoint |
event.idm.read_only_udm.target.resource.attribute.labels.value |
Digunakan untuk mendapatkan target.resource.attribute.labels.value. |
isVdi |
event.idm.read_only_udm.target.resource.resource_type |
Jika isVdi adalah 1, target.resource.resource_type ditetapkan ke VIRTUAL_MACHINE. |
msg |
event.idm.read_only_udm.security_result.summary |
Nilai msg dari log mentah dipetakan ke kolom security_result.summary. Juga digunakan untuk mengekstrak email_receiver. |
msgTextEn |
event.idm.read_only_udm.security_result.description |
Nilai msgTextEn dari log mentah dipetakan ke kolom security_result.description. |
osType |
event.idm.read_only_udm.target.platform, event.idm.read_only_udm.target.resource.attribute.labels.value |
Jika osType adalah 1, target.platform ditetapkan ke WINDOWS. Jika osType adalah 2, target.platform ditetapkan ke MAC. Jika osType adalah 4, target.platform ditetapkan ke LINUX. Jika osType adalah 3, nilainya dipetakan ke target.resource.attribute.labels.value dengan key OS. |
osVersion |
event.idm.read_only_udm.target.platform_version |
Nilai osVersion dari log mentah dipetakan ke kolom target.platform_version. |
product_version |
event.idm.read_only_udm.metadata.product_version |
Nilai product_version dari log mentah dipetakan ke kolom metadata.product_version. |
proto |
event.idm.read_only_udm.network.ip_protocol |
Jika proto adalah udp, network.ip_protocol ditetapkan ke UDP. |
recordType |
event.idm.read_only_udm.additional.fields.value.string_value |
Nilai recordType dari log mentah dipetakan ke kolom string_value dalam struktur bertingkat di bagian additional.fields. key untuk kolom ini ditetapkan ke Record Type. |
regionId |
event.idm.read_only_udm.principal.location.country_or_region |
Jika regionId adalah 10, principal.location.country_or_region ditetapkan ke Americas (N. Virginia). Jika regionId adalah 70, principal.location.country_or_region ditetapkan ke EMEA (Frankfurt). |
request |
event.idm.read_only_udm.target.url |
Nilai request dari log mentah dipetakan ke kolom target.url. |
sec_category_details |
event.idm.read_only_udm.security_result.category_details |
Nilai sec_category_details dari log mentah dipetakan ke kolom security_result.category_details. |
sec_desc |
event.idm.read_only_udm.security_result.description |
Nilai sec_desc dari log mentah dipetakan ke kolom security_result.description. |
serverHost |
event.idm.read_only_udm.principal.hostname |
Nilai serverHost dari log mentah dipetakan ke kolom principal.hostname. |
severity |
event.idm.read_only_udm.security_result.severity |
Dipetakan ke security_result.severity dengan logika berikut: 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 |
Jika severity_val adalah 0, security_result.severity_details ditetapkan ke UNKNOWN_SEVERITY. Jika tidak, nilai tersebut akan dipetakan ke security_result.severity dengan logika berikut: 6 -> LOW, 8 -> MEDIUM, 9 -> HIGH. |
shost |
event.idm.read_only_udm.principal.hostname |
Nilai shost dari log mentah dipetakan ke kolom principal.hostname. |
src_ip |
event.idm.read_only_udm.principal.ip |
Nilai src_ip dari log mentah dipetakan ke kolom principal.ip. |
subClass |
event.idm.read_only_udm.security_result.category_details |
Digunakan bersama dengan class untuk mengisi security_result.category_details. |
suser |
event.idm.read_only_udm.principal.user.user_display_name |
Nilai suser dari log mentah, dengan tanda kurung, garis miring terbalik, dan tanda kutip tunggal dihapus, dipetakan ke kolom principal.user.user_display_name. |
targetprocesscmd |
event.idm.read_only_udm.target.process.command_line |
Nilai targetprocesscmd dari log mentah dipetakan ke kolom target.process.command_line. |
targetprocessname |
event.idm.read_only_udm.target.application |
Nilai targetprocessname dari log mentah dipetakan ke kolom target.application. |
targetprocesssha256 |
event.idm.read_only_udm.target.process.file.sha256 |
Nilai targetprocesssha256 dari log mentah, yang dikonversi menjadi huruf kecil, dipetakan ke kolom target.process.file.sha256. |
tenantname |
event.idm.read_only_udm.target.resource.attribute.labels.value |
Nilai tenantname dari log mentah dipetakan ke kolom value dalam struktur bertingkat di bagian target.resource.attribute.labels. key untuk kolom ini ditetapkan ke Tenant name. |
event.idm.read_only_udm.metadata.event_type |
Ditetapkan ke STATUS_UPDATE secara default. Diubah menjadi EMAIL_TRANSACTION jika eventType adalah Management Audit Logs. Diubah menjadi SCAN_NETWORK jika eventType adalah XDR Analytics BIOC atau Behavioral Threat, atau jika desc adalah Behavioral Threat. Diubah menjadi SCAN_PROCESS jika desc adalah Suspicious Process Creation. Ditetapkan ke Palo Alto Networks. Ditetapkan ke Cortex XDR. Ditetapkan ke PAN_EDR. Ditetapkan ke NETWORK_SUSPICIOUS jika eventType adalah XDR Analytics BIOC atau Behavioral Threat, atau jika desc adalah Behavioral Threat. |
Log Perubahan
Lihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.