Mengumpulkan log proxy web Netskope
Dokumen ini menjelaskan cara menyerap log proxy web Netskope ke Google Security Operations menggunakan Google Cloud Storage V2.
Netskope menyediakan gateway web aman cloud-native yang memeriksa dan mengontrol traffic web secara real time. Log transaksi web (WebTx) mencatat data mendetail setiap sesi HTTP dan HTTPS yang diproses oleh proxy Netskope, termasuk identitas pengguna, aplikasi, kategori URL, hasil pemeriksaan ancaman dan DLP, serta metadata jaringan.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Project GCP dengan Cloud Storage API diaktifkan
- Izin untuk membuat dan mengelola bucket GCS
- Izin untuk mengelola kebijakan IAM di bucket GCS
- Akses istimewa ke tenant Netskope dengan kredensial administrator
Opsi - Streaming Log Netskope ke Google Cloud Storage
Gunakan opsi ini jika Anda telah mengaktifkan langganan Netskope Log Streaming di tenant Anda. Netskope Log Streaming mengirimkan file log WebTx langsung ke bucket GCS Anda sebagai file .gzip yang dikompresi pada interval tetap 240 detik.
Membuat bucket Google Cloud Storage
- Buka Konsol Google Cloud.
- Pilih project Anda atau buat project baru.
- Di menu navigasi, buka Cloud Storage > Buckets.
- Klik Create bucket.
Berikan detail konfigurasi berikut:
Setelan Nilai Beri nama bucket Anda Masukkan nama yang unik secara global (misalnya, netskope-webtx-logs)Location type Pilih berdasarkan kebutuhan Anda (Region, Dual-region, Multi-region) Location Pilih lokasi yang paling dekat dengan organisasi Anda (misalnya, us-central1)Kelas penyimpanan Standar (direkomendasikan untuk log yang sering diakses) Access control Seragam (direkomendasikan) Alat perlindungan Opsional: Aktifkan pembuatan versi objek atau kebijakan retensi Klik Create.
Buat akun layanan GCP
Streaming Log Netskope memerlukan akun layanan GCP dengan izin tulis ke bucket GCS Anda. Kunci pribadi dari akun layanan ini digunakan oleh Netskope untuk mengautentikasi saat mengirimkan file log.
- Di GCP Console, buka IAM & Admin > Service Accounts.
- Klik Create Service Account.
- Berikan detail konfigurasi berikut:
- Nama akun layanan: Masukkan
netskope-log-streaming - Deskripsi akun layanan: Masukkan
Service account for Netskope Log Streaming to push WebTx logs to GCS
- Nama akun layanan: Masukkan
- Klik Create and Continue.
- Di bagian Berikan akun layanan ini akses ke project:
- Klik Pilih peran.
- Telusuri dan pilih Storage Object Creator.
- Klik Lanjutkan.
- Klik Done.
Kunci JSON pembuatan
- Di IAM & Admin > Service Accounts, klik akun layanan
netskope-log-streaming. - Pilih tab Keys.
- Klik Tambahkan Kunci > Buat kunci baru.
- Pilih JSON sebagai jenis kunci.
- Klik Create.
- File kunci JSON akan didownload secara otomatis. Simpan file ini dengan aman.
- Buka file kunci JSON di editor teks dan cari kolom
private_key. Anda akan memerlukan nilai ini di bagian berikutnya.
Memberikan izin tulis di bucket GCS
- Buka Cloud Storage > Buckets.
- Klik nama bucket Anda (misalnya,
netskope-webtx-logs). - Buka tab Izin.
- Klik Grant access.
- Berikan detail konfigurasi berikut:
- Tambahkan prinsipal: Masukkan email akun layanan (misalnya,
netskope-log-streaming@YOUR_PROJECT_ID.iam.gserviceaccount.com) - Tetapkan peran: Pilih Storage Object Creator
- Tambahkan prinsipal: Masukkan email akun layanan (misalnya,
- Klik Simpan.
Buat aliran log
- Login ke tenant Netskope dengan kredensial administrator.
- Buka Setelan > Alat > Streaming Log.
- Klik Buat Aliran Data.
- Di kolom Name, masukkan nama yang mudah dibaca untuk aliran (misalnya,
Chronicle WebTx GCS). - Pilih GCP Cloud Storage sebagai jenis tujuan.
Berikan detail konfigurasi berikut:
Bucket: Masukkan nama bucket GCS (misalnya,
netskope-webtx-logs).Jalur (opsional): Masukkan jalur folder dalam bucket tempat log akan disimpan (misalnya,
netskope/webtx/{%Y}).Private Key: Masukkan nilai
private_keydari file kunci JSON yang dibuat di bagian sebelumnya. Masukkan kunci dalam format PEM dengan simbol pemisah baris (\n):-----BEGIN PRIVATE KEY-----\nprivate_key_content\n-----END PRIVATE KEY-----\n
Tinjau Opsi Pengiriman: Frekuensi push adalah 240 detik yang berkelanjutan.
Klik Simpan (atau Buat) untuk mengaktifkan aliran data.
Mengonfigurasi feed di Google SecOps untuk memproses log Netskope WebTx dari GCS
Mengambil akun layanan Google SecOps
Google SecOps menggunakan akun layanan unik untuk membaca data dari bucket GCS Anda. Anda harus memberi akun layanan ini akses ke bucket Anda.
- Buka Setelan SIEM > Feed.
- Klik Tambahkan Feed Baru.
- Klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
Netskope WebTx Logs). - Pilih Google Cloud Storage V2 sebagai Source type.
- Pilih Netskope web proxy sebagai Jenis log.
Klik Get Service Account. Email akun layanan yang unik akan ditampilkan, misalnya:
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.comSalin alamat email ini untuk digunakan di langkah berikutnya.
Klik Berikutnya.
Tentukan nilai untuk parameter input berikut:
URL bucket penyimpanan: Masukkan URI bucket GCS dengan jalur awalan:
gs://netskope-webtx-logs/netskope/webtx/- Ganti:
netskope-webtx-logs: Nama bucket GCS Anda.netskope/webtx/: Awalan jalur yang dikonfigurasi di Streaming Log Netskope (biarkan kosong untuk root).
- Ganti:
Opsi penghapusan sumber: Pilih opsi penghapusan sesuai preferensi Anda:
- Jangan pernah: Tidak pernah menghapus file apa pun setelah transfer (direkomendasikan untuk pengujian).
- Hapus file yang ditransfer: Menghapus file setelah transfer berhasil.
Hapus file yang ditransfer dan direktori kosong: Menghapus file dan direktori kosong setelah transfer berhasil.
Usia File Maksimum: Menyertakan file yang diubah dalam beberapa hari terakhir (defaultnya adalah 180 hari)
Namespace aset: Namespace aset
Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini
Klik Berikutnya.
Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
Memberikan izin IAM ke akun layanan Google SecOps
Akun layanan Google SecOps memerlukan peran Storage Object Viewer di bucket GCS Anda.
- Buka Cloud Storage > Buckets.
- Klik nama bucket Anda (misalnya,
netskope-webtx-logs). - Buka tab Izin.
- Klik Grant access.
- Berikan detail konfigurasi berikut:
- Add principals: Tempel email akun layanan Google SecOps (misalnya,
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com) - Tetapkan peran: Pilih Storage Object Viewer
- Add principals: Tempel email akun layanan Google SecOps (misalnya,
- Klik Simpan.
Opsi - Cloud Exchange Log Shipper ke Google Cloud Storage
Gunakan opsi ini jika Anda telah men-deploy platform Netskope Cloud Exchange dengan modul Log Shipper yang dikonfigurasi. Log Shipper menarik log WebTx dari tenant Netskope Anda dan mengirimkannya sebagai file .gzip yang dikompresi ke bucket GCS, yang kemudian dibaca oleh Google SecOps melalui feed Google Cloud Storage V2.
Sebelum Anda memulai (Cloud Exchange)
Pastikan Anda memiliki prasyarat tambahan berikut untuk opsi ini:
- Tenant Netskope Cloud Exchange dengan plugin Tenant dan modul Log Shipper yang sudah dikonfigurasi.
- Plugin sumber Netskope CLS yang dikonfigurasi di Log Shipper (ini menarik data dari tenant Netskope).
- Bucket GCS yang dibuat untuk menyimpan log WebTx. Jika Anda belum membuatnya, ikuti langkah-langkah di Membuat bucket Google Cloud Storage.
- Akun layanan GCP dengan akses tulis ke bucket GCS. Jika Anda belum membuatnya, ikuti langkah-langkah di Membuat akun layanan GCP, Membuat kunci JSON, dan Memberikan izin tulis di bucket GCS.
Mengonfigurasi plugin tujuan GCS
- Di Cloud Exchange, buka Settings > Plugin Store.
- Telusuri dan pilih kotak plugin Google Cloud SCC (Google GCS).
- Klik Configure New Plugin (atau tambahkan konfigurasi plugin baru).
- Berikan detail konfigurasi berikut:
- Nama Konfigurasi: Masukkan nama deskriptif (misalnya,
GCS WebTx Destination). - Pemetaan: Pilih file pemetaan. Untuk log WebTx yang dikirim sebagai file
.gzipasli, tidak ada transformasi pemetaan yang diterapkan. - Bucket: Masukkan nama bucket GCS (misalnya,
netskope-webtx-logs). - Path (opsional): Masukkan jalur folder (misalnya,
netskope/webtx/). - Kunci Pribadi: Masukkan nilai
private_keydari file kunci JSON akun layanan.
- Nama Konfigurasi: Masukkan nama deskriptif (misalnya,
- Klik Simpan.
- Konfigurasi plugin baru akan muncul di halaman Log Shipper > Plugins.
Mengonfigurasi aturan bisnis (opsional)
Secara default, aturan bisnis Semua memfilter semua pemberitahuan dan peristiwa. Jika Anda ingin memfilter log WebTx secara khusus, buat aturan bisnis baru:
- Di Log Shipper, buka Business Rules.
- Klik Buat Aturan Baru.
- Masukkan Nama Aturan (misalnya,
WebTx Only). - Konfigurasi filter yang diinginkan untuk hanya menyertakan data WebTx.
- Klik Simpan.
Mengonfigurasi Pengiriman Log
- Di Log Shipper, buka Log Delivery.
- Klik Tambahkan Konfigurasi Pengiriman Log.
- Berikan detail konfigurasi berikut:
- Konfigurasi Sumber: Pilih plugin sumber CLS Netskope (misalnya,
WebTxCLSatauNetskope CLS). - Konfigurasi Tujuan: Pilih plugin tujuan GCS yang Anda konfigurasi (misalnya,
GCS WebTx Destination). - Aturan Bisnis: Pilih aturan bisnis (misalnya,
AllatauWebTx Only).
- Konfigurasi Sumber: Pilih plugin sumber CLS Netskope (misalnya,
Klik Simpan.
Untuk mendapatkan data historis tambahan, klik ikon Tarik Data Historis dari tindakan Pengiriman Log.
Pilih rentang tanggal Historis Dari dan Ke, lalu klik Tarik.
Mengonfigurasi feed di Google SecOps untuk memproses log Netskope WebTx dari GCS
Ikuti langkah-langkah yang sama seperti pada opsi Streaming Log Netskope untuk membuat feed Google SecOps dan memberikan izin IAM:
- Mengambil akun layanan Google SecOps — buat feed dengan Google Cloud Storage V2 sebagai jenis sumber dan Netskope web proxy sebagai jenis log.
- Memberikan izin IAM ke akun layanan Google SecOps — berikan peran Storage Object Viewer (atau Storage Object Admin jika menggunakan opsi penghapusan) pada bucket GCS ke akun layanan Google SecOps.
Memverifikasi pengiriman log
Untuk memverifikasi bahwa log WebTx dikirimkan ke bucket GCS:
- Di Cloud Exchange, buka Log Shipper > Log Delivery.
- Periksa kolom Total Log/WebTx yang Dikirim ke Penerima Eksternal dan Total WebTx yang Dikirim ke Bucket Penyimpanan untuk mengonfirmasi bahwa data sedang dikirim ke tujuan.
- Di bucket GCS, pastikan file
.gzipsedang ditulis oleh Log Shipper.
Mengonfigurasi Setelan Global Log Shipper (opsional)
Hanya Admin yang dapat mengubah Setelan Global Log Shipper. Buka Settings > Log Shipper. Ada dua tab: Umum dan Pemetaan.
Di tab Umum, Anda dapat mengonfigurasi strategi percobaan ulang untuk pengiriman log:
- Default (3 Coba Lagi): Jika pengiriman log gagal, Log Shipper akan memulai 3 upaya untuk mengirimkan log ke tujuan. Jika semua 3 upaya percobaan ulang gagal, batch log yang sesuai akan dihapus.
Coba Lagi hingga Pengiriman Berhasil: Percobaan ulang tanpa batas hingga pengiriman log berhasil.
Anda juga dapat mengaktifkan encoding UTF-8 untuk Pemberitahuan, Peristiwa, dan WebTx guna memastikan penanganan data yang dienkode UTF-8 secara lancar. Secara default, fitur ini dinonaktifkan.
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
| applicationType | security_result.detection_fields[].key: "applicationType", security_result.detection_fields[].value: applicationType | Dipetakan langsung dari kolom CEF yang sesuai |
| appcategory | security_result.category_details[]: appcategory | Dipetakan langsung dari kolom CEF yang sesuai |
| browser | security_result.detection_fields[].key: "browser", security_result.detection_fields[].value: browser | Dipetakan langsung dari kolom CEF yang sesuai |
| c-ip | principal.asset.ip[]: c-ip, principal.ip[]: c-ip | Dipetakan langsung dari kolom JSON yang sesuai |
| cci | security_result.detection_fields[].key: "cci", security_result.detection_fields[].value: cci | Dipetakan langsung dari kolom CEF yang sesuai |
| ccl | security_result.confidence: Nilai turunan, security_result.confidence_details: ccl | security_result.confidence berasal dari nilai ccl: "excellent" atau "high" dipetakan ke HIGH_CONFIDENCE, "medium" dipetakan ke MEDIUM_CONFIDENCE, "low" atau "poor" dipetakan ke LOW_CONFIDENCE, dan "unknown" atau "not_defined" dipetakan ke UNKNOWN_CONFIDENCE. security_result.confidence_details dipetakan langsung dari ccl. |
| clientBytes | network.sent_bytes: clientBytes | Dipetakan langsung dari kolom CEF yang sesuai |
| cs-access-method | additional.fields[].key: "accessMethod", additional.fields[].value.string_value: cs-access-method | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-app | additional.fields[].key: "x-cs-app", additional.fields[].value.string_value: cs-app, principal.application: cs-app | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-app-activity | additional.fields[].key: "x-cs-app-activity", additional.fields[].value.string_value: cs-app-activity | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-app-category | additional.fields[].key: "x-cs-app-category", additional.fields[].value.string_value: cs-app-category | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-app-cci | additional.fields[].key: "x-cs-app-cci", additional.fields[].value.string_value: cs-app-cci | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-app-ccl | additional.fields[].key: "x-cs-app-ccl", additional.fields[].value.string_value: cs-app-ccl | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-app-from-user | additional.fields[].key: "x-cs-app-from-user", additional.fields[].value.string_value: cs-app-from-user, principal.user.email_addresses[]: cs-app-from-user | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-app-instance-id | additional.fields[].key: "x-cs-app-instance-id", additional.fields[].value.string_value: cs-app-instance-id | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-app-object-name | additional.fields[].key: "x-cs-app-object-name", additional.fields[].value.string_value: cs-app-object-name | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-app-object-type | additional.fields[].key: "x-cs-app-object-type", additional.fields[].value.string_value: cs-app-object-type | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-app-suite | additional.fields[].key: "x-cs-app-suite", additional.fields[].value.string_value: cs-app-suite | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-app-tags | additional.fields[].key: "x-cs-app-tags", additional.fields[].value.string_value: cs-app-tags | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-bytes | network.sent_bytes: cs-bytes | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-content-type | additional.fields[].key: "sc-content-type", additional.fields[].value.string_value: cs-content-type | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-dns | target.asset.hostname[]: cs-dns, target.hostname: cs-dns | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-host | target.asset.hostname[]: cs-host, target.hostname: cs-host | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-method | network.http.method: cs-method | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-referer | network.http.referral_url: cs-referer | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-uri | additional.fields[].key: "cs-uri", additional.fields[].value.string_value: cs-uri | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-uri-path | additional.fields[].key: "x-cs-uri-path", additional.fields[].value.string_value: cs-uri-path | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-uri-port | additional.fields[].key: "cs-uri-port", additional.fields[].value.string_value: cs-uri-port | Dipetakan langsung dari kolom JSON yang sesuai |
| cs-uri-scheme | network.application_protocol: cs-uri-scheme | Dipetakan langsung dari kolom JSON yang sesuai setelah dikonversi menjadi huruf besar |
| cs-user-agent | network.http.parsed_user_agent: Agen pengguna yang diuraikan, network.http.user_agent: cs-user-agent | network.http.parsed_user_agent berasal dari parsing kolom cs-user-agent menggunakan filter "parseduseragent" |
| cs-username | principal.user.userid: cs-username | Dipetakan langsung dari kolom JSON yang sesuai |
| tanggal | metadata.event_timestamp.seconds: Detik Epoch dari kolom tanggal dan waktu, metadata.event_timestamp.nanos: 0 | Tanggal dan waktu digabungkan dan dikonversi ke detik dan nanodetik epoch. Nanodetik disetel ke 0. |
| device | intermediary.hostname: device | Dipetakan langsung dari kolom CEF yang sesuai |
| dst | target.ip[]: dst | Dipetakan langsung dari kolom CEF yang sesuai |
| dst_country | target.location.country_or_region: dst_country | Dipetakan langsung dari kolom yang sesuai yang telah diproses |
| dst_ip | target.asset.ip[]: dst_ip, target.ip[]: dst_ip | Dipetakan langsung dari kolom yang sesuai yang telah diproses |
| dst_location | target.location.city: dst_location | Dipetakan langsung dari kolom yang sesuai yang telah diproses |
| dst_region | target.location.state: dst_region | Dipetakan langsung dari kolom yang sesuai yang telah diproses |
| dst_zip | Tidak dipetakan | Kolom ini tidak dipetakan ke UDM |
| duser | target.user.email_addresses[]: duser, target.user.user_display_name: duser | Dipetakan langsung dari kolom CEF yang sesuai |
| dvchost | about.hostname: dvchost, target.asset.hostname[]: dvchost, target.hostname: dvchost | Dipetakan langsung dari kolom CEF yang sesuai |
| event_timestamp | metadata.event_timestamp.seconds: event_timestamp | Dipetakan langsung dari kolom yang sesuai yang telah diproses |
| hostname | target.asset.hostname[]: hostname, target.hostname: hostname | Dipetakan langsung dari kolom CEF yang sesuai |
| ID Insiden | security_result.detection_fields[].key: "IncidentID", security_result.detection_fields[].value: IncidentID | Dipetakan langsung dari kolom CEF yang sesuai |
| perantara | perantara: perantara | Dipetakan langsung dari kolom CEF yang sesuai |
| md5 | target.file.md5: md5 | Dipetakan langsung dari kolom CEF yang sesuai |
| pesan | Berbagai kolom UDM | Kolom pesan diuraikan berdasarkan apakah kolom tersebut berisi "CEF". Jika ya, log tersebut akan diperlakukan sebagai log CEF. Jika tidak, nilai akan diuraikan sebagai string atau JSON yang dibatasi spasi. |
| mwDetectionEngine | additional.fields[].key: "mwDetectionEngine", additional.fields[].value.string_value: mwDetectionEngine | Dipetakan langsung dari kolom CEF yang sesuai |
| mwType | metadata.description: mwType | Dipetakan langsung dari kolom CEF yang sesuai |
| os | principal.platform: Nilai turunan | Platform ini berasal dari kolom os: "Windows" dipetakan ke WINDOWS, "MAC" dipetakan ke MAC, dan "LINUX" dipetakan ke LINUX |
| halaman | network.http.referral_url: page | Dipetakan langsung dari kolom CEF yang sesuai |
| perujuk | network.http.referral_url: referer | Dipetakan langsung dari kolom CEF yang sesuai |
| requestClientApplication | network.http.parsed_user_agent: Parsed user agent, network.http.user_agent: requestClientApplication | network.http.parsed_user_agent berasal dari parsing kolom requestClientApplication menggunakan filter "parseduseragent" |
| request_method | network.http.method: request_method | Dipetakan langsung dari kolom yang sesuai yang telah diproses |
| rs-status | additional.fields[].key: "rs-status", additional.fields[].value.string_value: rs-status, network.http.response_code: rs-status | Dipetakan langsung dari kolom JSON yang sesuai |
| s-ip | target.asset.ip[]: s-ip, target.ip[]: s-ip | Dipetakan langsung dari kolom JSON yang sesuai |
| sc-bytes | network.received_bytes: sc-bytes | Dipetakan langsung dari kolom JSON yang sesuai |
| sc-content-type | additional.fields[].key: "sc-content-type", additional.fields[].value.string_value: sc-content-type | Dipetakan langsung dari kolom JSON yang sesuai |
| sc-status | network.http.response_code: sc-status | Dipetakan langsung dari kolom JSON yang sesuai |
| serverBytes | network.received_bytes: serverBytes | Dipetakan langsung dari kolom CEF yang sesuai |
| sha256 | target.file.sha256: sha256 | Dipetakan langsung dari kolom CEF yang sesuai |
| src | principal.ip[]: src | Dipetakan langsung dari kolom CEF yang sesuai |
| src_country | principal.location.country_or_region: src_country | Dipetakan langsung dari kolom yang sesuai yang telah diproses |
| src_ip | principal.asset.ip[]: src_ip, principal.ip[]: src_ip | Dipetakan langsung dari kolom yang sesuai yang telah diproses |
| src_location | principal.location.city: src_location | Dipetakan langsung dari kolom yang sesuai yang telah diproses |
| src_region | principal.location.state: src_region | Dipetakan langsung dari kolom yang sesuai yang telah diproses |
| src_latitude | Tidak dipetakan | Kolom ini tidak dipetakan ke UDM |
| src_longitude | Tidak dipetakan | Kolom ini tidak dipetakan ke UDM |
| src_zip | Tidak dipetakan | Kolom ini tidak dipetakan ke UDM |
| suser | principal.user.user_display_name: suser | Dipetakan langsung dari kolom CEF yang sesuai |
| target_host | target.asset.hostname[]: target_host, target.hostname: target_host | Dipetakan langsung dari kolom yang sesuai yang telah diproses |
| waktu | metadata.event_timestamp.seconds: Detik Epoch dari kolom tanggal dan waktu, metadata.event_timestamp.nanos: 0 | Tanggal dan waktu digabungkan dan dikonversi ke detik dan nanodetik epoch. Nanodetik disetel ke 0. |
| timestamp | metadata.event_timestamp.seconds: timestamp | Dipetakan langsung dari kolom CEF yang sesuai |
| ts | metadata.event_timestamp.seconds: Detik Epoch dari ts, metadata.event_timestamp.nanos: 0 | Stempel waktu dikonversi menjadi detik dan nanodetik epoch. Nanodetik disetel ke 0. |
| url | target.url: url | Dipetakan langsung dari kolom CEF yang sesuai |
| user_agent | network.http.parsed_user_agent: Agen pengguna yang diuraikan, network.http.user_agent: user_agent | network.http.parsed_user_agent berasal dari penguraian kolom user_agent menggunakan filter "parseduseragent" |
| user_key | principal.user.email_addresses[]: user_key | Dipetakan langsung dari kolom yang sesuai yang telah diproses |
| versi | Tidak dipetakan | Kolom ini tidak dipetakan ke UDM |
| x-c-browser | additional.fields[].key: "x-c-browser", additional.fields[].value.string_value: x-c-browser | Dipetakan langsung dari kolom JSON yang sesuai |
| x-c-browser-version | additional.fields[].key: "x-c-browser-version", additional.fields[].value.string_value: x-c-browser-version | Dipetakan langsung dari kolom JSON yang sesuai |
| x-c-country | principal.location.country_or_region: x-c-country | Dipetakan langsung dari kolom JSON yang sesuai |
| x-c-device | additional.fields[].key: "x-c-device", additional.fields[].value.string_value: x-c-device | Dipetakan langsung dari kolom JSON yang sesuai |
| x-c-latitude | principal.location.region_coordinates.latitude: x-c-latitude | Dipetakan langsung dari kolom JSON yang sesuai |
| x-c-local-time | security_result.detection_fields[].key: "x-c-local-time", security_result.detection_fields[].value: x-c-local-time | Dipetakan langsung dari kolom JSON yang sesuai |
| x-c-location | principal.location.name: x-c-location | Dipetakan langsung dari kolom JSON yang sesuai |
| x-c-longitude | principal.location.region_coordinates.longitude: x-c-longitude | Dipetakan langsung dari kolom JSON yang sesuai |
| x-c-os | principal.platform: Nilai turunan | Platform berasal dari kolom x-c-os: "Windows" dipetakan ke WINDOWS, "MAC" dipetakan ke MAC, dan "LINUX" dipetakan ke LINUX |
| x-c-region | principal.location.state: x-c-region | Dipetakan langsung dari kolom JSON yang sesuai |
| x-c-zipcode | additional.fields[].key: "x-c-zipcode", additional.fields[].value.string_value: x-c-zipcode | Dipetakan langsung dari kolom JSON yang sesuai |
| x-category | additional.fields[].key: "x-category", additional.fields[].value.string_value: x-category | Dipetakan langsung dari kolom JSON yang sesuai |
| x-category-id | additional.fields[].key: "x-category-id", additional.fields[].value.string_value: x-category-id | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-access-method | additional.fields[].key: "accessMethod", additional.fields[].value.string_value: x-cs-access-method | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-app | principal.application: x-cs-app, additional.fields[].key: "x-cs-app", additional.fields[].value.string_value: x-cs-app | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-app-activity | additional.fields[].key: "x-cs-app-activity", additional.fields[].value.string_value: x-cs-app-activity | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-app-category | additional.fields[].key: "x-cs-app-category", additional.fields[].value.string_value: x-cs-app-category | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-app-cci | additional.fields[].key: "x-cs-app-cci", additional.fields[].value.string_value: x-cs-app-cci | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-app-from-user | additional.fields[].key: "x-cs-app-from-user", additional.fields[].value.string_value: x-cs-app-from-user | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-app-object-id | additional.fields[].key: "x-cs-app-object-id", additional.fields[].value.string_value: x-cs-app-object-id | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-app-object-name | additional.fields[].key: "x-cs-app-object-name", additional.fields[].value.string_value: x-cs-app-object-name | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-app-object-type | additional.fields[].key: "x-cs-app-object-type", additional.fields[].value.string_value: x-cs-app-object-type | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-app-suite | additional.fields[].key: "x-cs-app-suite", additional.fields[].value.string_value: x-cs-app-suite | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-app-tags | additional.fields[].key: "x-cs-app-tags", additional.fields[].value.string_value: x-cs-app-tags | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-app-to-user | additional.fields[].key: "x-cs-app-to-user", additional.fields[].value.string_value: x-cs-app-to-user | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-dst-ip | security_result.detection_fields[].key: "x-cs-dst-ip", security_result.detection_fields[].value: x-cs-dst-ip, target.asset.ip[]: x-cs-dst-ip, target.ip[]: x-cs-dst-ip | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-dst-port | security_result.detection_fields[].key: "x-cs-dst-port", security_result.detection_fields[].value: x-cs-dst-port, target.port: x-cs-dst-port | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-http-version | security_result.detection_fields[].key: "x-cs-http-version", security_result.detection_fields[].value: x-cs-http-version | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-page-id | additional.fields[].key: "x-cs-page-id", additional.fields[].value.string_value: x-cs-page-id | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-session-id | network.session_id: x-cs-session-id | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-site | additional.fields[].key: "x-cs-site", additional.fields[].value.string_value: x-cs-site | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-sni | network.tls.client.server_name: x-cs-sni | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-src-ip | principal.asset.ip[]: x-cs-src-ip, principal.ip[]: x-cs-src-ip, security_result.detection_fields[].key: "x-cs-src-ip", security_result.detection_fields[].value: x-cs-src-ip | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-src-ip-egress | principal.asset.ip[]: x-cs-src-ip-egress, principal.ip[]: x-cs-src-ip-egress, security_result.detection_fields[].key: "x-cs-src-ip-egress", security_result.detection_fields[].value: x-cs-src-ip-egress | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-src-port | principal.port: x-cs-src-port, security_result.detection_fields[].key: "x-cs-src-port", security_result.detection_fields[].value: x-cs-src-port | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-ssl-cipher | network.tls.cipher: x-cs-ssl-cipher | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-ssl-fronting-error | security_result.detection_fields[].key: "x-cs-ssl-fronting-error", security_result.detection_fields[].value: x-cs-ssl-fronting-error | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-ssl-handshake-error | security_result.detection_fields[].key: "x-cs-ssl-handshake-error", security_result.detection_fields[].value: x-cs-ssl-handshake-error | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-ssl-ja3 | network.tls.client.ja3: x-cs-ssl-ja3 | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-ssl-version | network.tls.version: x-cs-ssl-version | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-timestamp | metadata.event_timestamp.seconds: x-cs-timestamp | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-traffic-type | additional.fields[].key: "trafficType", additional.fields[].value.string_value: x-cs-traffic-type | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-tunnel-src-ip | security_result.detection_fields[].key: "x-cs-tunnel-src-ip", security_result.detection_fields[].value: x-cs-tunnel-src-ip | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-uri-path | additional.fields[].key: "x-cs-uri-path", additional.fields[].value.string_value: x-cs-uri-path | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-url | target.url: x-cs-url | Dipetakan langsung dari kolom JSON yang sesuai |
| x-cs-userip | security_result.detection_fields[].key: "x-cs-userip", security_result.detection_fields[].value: x-cs-userip | Dipetakan langsung dari kolom JSON yang sesuai |
| x-other-category | security_result.category_details[]: x-other-category | Dipetakan langsung dari kolom JSON yang sesuai |
| x-other-category-id | security_result.detection_fields[].key: "x-other-category-id", security_result.detection_fields[].value: x-other-category-id | Dipetakan langsung dari kolom JSON yang sesuai |
| x-policy-action | security_result.action: Nilai turunan, security_result.action_details: x-policy-action | security_result.action berasal dari konversi x-policy-action menjadi huruf besar. Jika nilai huruf besar adalah "ALLOW" atau "BLOCK", nilai tersebut akan digunakan secara langsung. Jika tidak, tindakan tidak dipetakan. security_result.action_details dipetakan langsung dari x-policy-action. |
| x-policy-dst-host | security_result.detection_fields[].key: "x-policy-dst-host", security_result.detection_fields[].value: x-policy-dst-host | Dipetakan langsung dari kolom JSON yang sesuai |
| x-policy-dst-host-source | security_result.detection_fields[].key: "x-policy-dst-host-source", security_result.detection_fields[].value: x-policy-dst-host-source | Dipetakan langsung dari kolom JSON yang sesuai |
| x-policy-dst-ip | security_result.detection_fields[].key: "x-policy-dst-ip", security_result.detection_fields[].value: x-policy-dst-ip | Dipetakan langsung dari kolom JSON yang sesuai |
| x-policy-name | security_result.rule_name: x-policy-name | Dipetakan langsung dari kolom JSON yang sesuai |
| x-policy-src-ip | security_result.detection_fields[].key: "x-policy-src-ip", security_result.detection_fields[].value: x-policy-src-ip | Dipetakan langsung dari kolom JSON yang sesuai |
| x-r-cert-enddate | network.tls.server.certificate.not_after.seconds: Detik Epoch dari x-r-cert-enddate | Tanggal dikonversi menjadi detik epoch |
| x-r-cert-expired | additional.fields[].key: "x-r-cert-expired", additional.fields[].value.string_value: x-r-cert-expired | Dipetakan langsung dari kolom JSON yang sesuai |
| x-r-cert-incomplete-chain | additional.fields[].key: "x-r-cert-incomplete-chain", additional.fields[].value.string_value: x-r-cert-incomplete-chain | Dipetakan langsung dari kolom JSON yang sesuai |
| x-r-cert-issuer-cn | network.tls.server.certificate.issuer: x-r-cert-issuer-cn | Dipetakan langsung dari kolom JSON yang sesuai |
| x-r-cert-mismatch | additional.fields[].key: "x-r-cert-mismatch", additional.fields[].value.string_value: x-r-cert-mismatch | Dipetakan langsung dari kolom JSON yang sesuai |
| x-r-cert-revoked | additional.fields[].key: "x-r-cert-revoked", additional.fields[].value.string_value: x-r-cert-revoked | Dipetakan langsung dari kolom JSON yang sesuai |
| x-r-cert-self-signed | additional.fields[].key: "x-r-cert-self-signed", additional.fields[].value.string_value: x-r-cert-self-signed | Dipetakan langsung dari kolom JSON yang sesuai |
| x-r-cert-startdate | network.tls.server.certificate.not_before.seconds: Detik Epoch dari x-r-cert-startdate | Tanggal dikonversi menjadi detik epoch |
| x-r-cert-subject-cn | network.tls.server.certificate.subject: x-r-cert-subject-cn | Dipetakan langsung dari kolom JSON yang sesuai |
| x-r-cert-untrusted-root | additional.fields[].key: "x-r-cert-untrusted-root", additional.fields[].value.string_value: x-r-cert-untrusted-root | Dipetakan langsung dari kolom JSON yang sesuai |
| x-r-cert-valid | additional.fields[].key: "x-r-cert-valid", additional.fields[].value.string_value: x-r-cert-valid | Dipetakan langsung dari kolom JSON yang sesuai |
| x-request-id | additional.fields[].key: "requestId", additional.fields[].value.string_value: x-request-id | Dipetakan langsung dari kolom JSON yang sesuai |
| x-rs-file-category | additional.fields[].key: "x-rs-file-category", additional.fields[].value.string_value: x-rs-file-category | Dipetakan langsung dari kolom JSON yang sesuai |
| x-rs-file-type | additional.fields[].key: "x-rs-file-type", additional.fields[].value.string_value: x-rs-file-type | Dipetakan langsung dari kolom JSON yang sesuai |
| x-s-country | target.location.country_or_region: x-s-country | Dipetakan langsung dari kolom JSON yang sesuai |
| x-s-dp-name | additional.fields[].key: "x-s-dp-name", additional.fields[].value.string_value: x-s-dp-name | Dipetakan langsung dari kolom JSON yang sesuai |
| x-s-latitude | target.location.region_coordinates.latitude: x-s-latitude | Dipetakan langsung dari kolom JSON yang sesuai |
| x-s-location | target.location.name: x-s-location | Dipetakan langsung dari kolom JSON yang sesuai |
| x-s-longitude | target.location.region_coordinates.longitude: x-s-longitude | Dipetakan langsung dari kolom JSON yang sesuai |
| x-s-region | target.location.state: x-s-region | Dipetakan langsung dari kolom JSON yang sesuai |
| x-s-zipcode | additional.fields[].key: "x-s-zipcode", additional.fields[].value.string_value: x-s-zipcode | Dipetakan langsung dari kolom JSON yang sesuai |
| x-sr-ssl-cipher | security_result.detection_fields[].key: "x-sr-ssl-cipher", security_result.detection_fields[].value: x-sr-ssl-cipher | Dipetakan langsung dari kolom JSON yang sesuai |
| x-sr-ssl-client-certificate-error | security_result.detection_fields[].key: "x-sr-ssl-client-certificate-error", security_result.detection_fields[].value: x-sr-ssl-client-certificate-error | Dipetakan langsung dari kolom JSON yang sesuai |
| x-sr-ssl-engine-action | security_result.detection_fields[].key: "x-sr-ssl-engine-action", security_result.detection_fields[].value: x-sr-ssl-engine-action | Dipetakan langsung dari kolom JSON yang sesuai |
| x-sr-ssl-engine-action-reason | security_result.detection_fields[].key: "x-sr-ssl-engine-action-reason", security_result.detection_fields[].value: x-sr-ssl-engine-action-reason | Dipetakan langsung dari kolom JSON yang sesuai |
| x-sr-ssl-handshake-error | security_result.detection_fields[].key: "x-sr-ssl-handshake-error", security_result.detection_fields[].value: x-sr-ssl-handshake-error | Dipetakan langsung dari kolom JSON yang sesuai |
| x-sr-ssl-ja3s | network.tls.server.ja3s: x-sr-ssl-ja3s | Dipetakan langsung dari kolom JSON yang sesuai |
| x-sr-ssl-malformed-ssl | security_result.detection_fields[].key: "x-sr-ssl-malformed-ssl", security_result.detection_fields[].value: x-sr-ssl-malformed-ssl | Dipetakan langsung dari kolom JSON yang sesuai |
| x-sr-ssl-version | security_result.detection_fields[].key: "x-sr-ssl-version", security_result.detection_fields[].value: x-sr-ssl-version | Dipetakan langsung dari kolom JSON yang sesuai |
| x-s-custom-signing-ca-error | security_result.detection_fields[].key: "x-s-custom-signing-ca-error", security_result.detection_fields[].value: x-s-custom-signing-ca-error | Dipetakan langsung dari kolom JSON yang sesuai |
| x-ssl-bypass | security_result.detection_fields[].key: "SSL BYPASS", security_result.detection_fields[].value: x-ssl-bypass atau x-ssl-bypass-reason | Jika x-ssl-bypass adalah "Yes" dan x-ssl-bypass-reason ada, nilai x-ssl-bypass-reason akan digunakan. Jika tidak, nilai x-ssl-bypass akan digunakan. |
| x-ssl-policy-action | security_result.detection_fields[].key: "x-ssl-policy-action", security_result.detection_fields[].value: x-ssl-policy-action | Dipetakan langsung dari kolom JSON yang sesuai |
| x-ssl-policy-categories | security_result.category_details[]: x-ssl-policy-categories | Dipetakan langsung dari kolom JSON yang sesuai |
| x-ssl-policy-dst-host | security_result.detection_fields[].key: "x-ssl-policy-dst-host", security_result.detection_fields[].value: x-ssl-policy-dst-host | Dipetakan langsung dari kolom JSON yang sesuai |
| x-ssl-policy-dst-host-source | security_result.detection_fields[].key: "x-ssl-policy-dst-host-source", security_result.detection_fields[].value: x-ssl-policy-dst-host-source | Dipetakan langsung dari kolom JSON yang sesuai |
| x-ssl-policy-dst-ip | security_result.detection_fields[].key: "x-ssl-policy-dst-ip", security_result.detection_fields[].value: x-ssl-policy-dst-ip | Dipetakan langsung dari kolom JSON yang sesuai |
| x-ssl-policy-name | security_result.rule_name: x-ssl-policy-name | Dipetakan langsung dari kolom JSON yang sesuai |
| x-ssl-policy-src-ip | security_result.detection_fields[].key: "x-ssl-policy-src-ip", security_result.detection_fields[].value: x-ssl-policy-src-ip | Dipetakan langsung dari kolom JSON yang sesuai |
| x-sr-dst-ip | security_result.detection_fields[].key: "x-sr-dst-ip", security_result.detection_fields[].value: x-sr-dst-ip | Dipetakan langsung dari kolom JSON yang sesuai |
| x-sr-dst-port | security_result.detection_fields[].key: "x-sr-dst-port", security_result.detection_fields[].value: x-sr-dst-port | Dipetakan langsung dari kolom JSON yang sesuai |
| x-type | additional.fields[].key: "xType", additional.fields[].value.string_value: x-type | Dipetakan langsung dari kolom JSON yang sesuai |
| x-transaction-id | additional.fields[].key: "transactionId", additional.fields[].value.string_value: x-transaction-id | Dipetakan langsung dari kolom JSON yang sesuai |
| metadata.vendor_name | Tetapkan ke "Netskope" | |
| metadata.product_name | Disetel ke "Netskope Webproxy" jika belum ada | |
| metadata.log_type | Tetapkan ke "NETSKOPE_WEBPROXY" |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.