Mengumpulkan log proxy web Netskope
Dokumen ini menjelaskan cara menyerap log proxy web Netskope ke Google Security Operations menggunakan Cloud Storage V2.
Netskope menyediakan gateway web aman berbasis cloud yang memeriksa dan mengontrol traffic web secara real time. Log transaksi web (WebTx) mencatat detail setiap sesi HTTP dan HTTPS yang diproses oleh proxy Netskope, termasuk identitas pengguna, aplikasi, kategori URL, hasil keputusan ancaman dan DLP, serta metadata jaringan.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Project Google Cloud dengan Cloud Storage API diaktifkan
- Izin untuk membuat dan mengelola bucket Cloud Storage
- Izin untuk mengelola kebijakan Identity and Access Management (IAM) di bucket Cloud Storage
- Akses istimewa ke tenant Netskope dengan kredensial administrator
Opsi 1: Netskope Log Streaming ke 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 Cloud Storage Anda sebagai file .gzip yang dikompresi pada interval tetap 240 detik.
Membuat bucket Cloud Storage
- Buka Google Cloud console.
- Pilih project Anda atau buat project baru.
- Di menu navigasi, buka Cloud Storage > Buckets.
- Klik Create bucket.
Berikan detail konfigurasi berikut:
Setelan Nilai Memberi 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) Kontrol akses Seragam (direkomendasikan) Alat perlindungan Opsional: Aktifkan pembuatan versi objek atau kebijakan retensi Klik Create.
Buat akun layanan Google Cloud
Netskope Log Streaming memerlukan akun layanan Google Cloud dengan izin tulis ke bucket Cloud Storage Anda. File kunci JSON akun layanan ini digunakan oleh Netskope untuk mengautentikasi saat mengirimkan file log.
- Di konsol Google Cloud , buka IAM & Admin > Service Accounts.
- Klik Create Service Account.
- Berikan detail konfigurasi berikut:
- Service account name: Masukkan
netskope-log-streaming - Deskripsi akun layanan: Masukkan
Service account for Netskope Log Streaming to push WebTx logs to GCS
- Service account name: Masukkan
- Klik Create and Continue.
- Di bagian Grant this service account access to project:
- Klik Pilih peran.
- Telusuri dan pilih Storage Object Creator.
- Klik Lanjutkan.
- Klik Done.
Membuat kunci JSON
- Di konsol Google Cloud , buka IAM & Admin > Service Accounts, lalu klik akun layanan
netskope-log-streaming. - Pilih tab Keys.
- Klik Add Key > Create new key.
- Pilih JSON sebagai jenis kunci.
- Klik Create.
File kunci JSON akan otomatis didownload. Simpan file ini dengan aman. Anda akan menempelkan seluruh isi file ini ke Netskope di bagian berikutnya.
Memberikan izin tulis di bucket Cloud Storage
- Di konsol Google Cloud , buka Cloud Storage > Buckets.
- Klik nama bucket Anda (misalnya,
netskope-webtx-logs). - Buka tab Izin.
- Klik Grant access.
- Berikan detail konfigurasi berikut:
- Tambahkan entitas: Masukkan email akun layanan (misalnya,
netskope-log-streaming@YOUR_PROJECT_ID.iam.gserviceaccount.com) - Tetapkan peran: Pilih Storage Object Creator
- Tambahkan entitas: Masukkan email akun layanan (misalnya,
Klik Simpan.
Membuat aliran log
- Login ke tenant Netskope dengan kredensial administrator.
- Buka Settings > Tools > Log Streaming.
- Klik Create Stream.
- Di kolom Name, masukkan nama yang dapat dibaca manusia untuk aliran. Contoh,
Google SecOps WebTx GCS. - Pilih GCP Cloud Storage sebagai jenis tujuan.
Berikan detail konfigurasi berikut:
Bucket: Masukkan nama bucket Cloud Storage (misalnya,
netskope-webtx-logs).- Jalur (opsional): Masukkan jalur folder dalam bucket tempat log akan disimpan (misalnya, `netskope/webtx/{%Y}`).
Private Key: Tempelkan konten lengkap file kunci JSON yang dibuat di bagian sebelumnya, sebagai satu objek JSON yang diawali dengan
{dan diakhiri dengan}. Hal ini mencakup kolomtype,project_id,private_key_id,private_key,client_email, danclient_id.
Tinjau Opsi Pengiriman: Frekuensi push adalah 240 detik yang berkelanjutan.
Klik Save (atau Create) untuk mengaktifkan streaming. Netskope memvalidasi kredensial dengan menulis objek pengujian bernama
netskope-test-file.txtke bucket.
Mengonfigurasi feed di Google SecOps untuk menyerap log Netskope WebTx dari Cloud Storage
Lihat langkah-langkah berikut untuk membuat feed Google SecOps dan memberikan izin IAM:
Mengambil akun layanan Google SecOps
Google SecOps menggunakan akun layanan unik untuk membaca data dari bucket Cloud Storage Anda. Anda harus memberi akun layanan ini akses ke bucket Anda.
- Buka SIEM Settings > Feeds.
- 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 Log type.
- 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 Cloud Storage dengan jalur awalan:
gs://netskope-webtx-logs/netskope/webtx/- Ganti:
netskope-webtx-logs: Nama bucket Cloud Storage Anda.netskope/webtx/: Awalan jalur yang dikonfigurasi di Netskope Log Streaming (biarkan kosong untuk root).
- Ganti:
Opsi penghapusan sumber: Pilih opsi penghapusan sesuai preferensi Anda:
- Jangan pernah menghapus file: Jangan pernah menghapus file dari sumber (direkomendasikan untuk pengujian).
- Hapus file yang ditransfer dan direktori kosong: Menghapus file dan direktori kosong dari sumber setelah pengambilan yang berhasil selesai.
Usia File Maksimum: Menyertakan file yang diubah dalam beberapa hari terakhir (default adalah 180 hari)
Namespace aset: Namespace aset
Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini
Klik Berikutnya.
Tinjau konfigurasi feed berita baru Anda di layar Finalize, lalu klik Submit.
Memberikan izin IAM ke akun layanan Google SecOps
Akun layanan Google SecOps memerlukan dua peran di bucket Cloud Storage Anda: Storage Object Viewer untuk membaca objek log, dan peran level bucket untuk membaca metadata bucket.
- 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) - Assign roles: Pilih kedua opsi berikut:
- Storage Object Viewer: membaca objek log.
- Storage Legacy Bucket Reader: membaca metadata bucket. Jika Anda memilih opsi penghapusan Hapus file yang ditransfer dan direktori kosong, pilih Storage Legacy Bucket Writer, yang juga memberikan izin penghapusan.
- Add principals: Tempel email akun layanan Google SecOps (misalnya,
- Klik Simpan.
Opsi 2: Menggunakan Netskope Cloud Exchange Log Shipper ke Cloud Storage
Gunakan opsi ini jika Anda telah men-deploy platform Netskope Cloud Exchange dengan modul Log Shipper yang dikonfigurasi. Log Shipper mengambil log WebTx dari tenant Netskope Anda dan mengirimkannya sebagai file .gzip yang dikompresi ke bucket Cloud Storage, yang kemudian dibaca oleh Google SecOps melalui feed 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 Cloud Storage yang dibuat untuk menyimpan log WebTx. Jika Anda belum membuatnya, ikuti langkah-langkah di bagian Membuat bucket Cloud Storage.
- Akun layanan Google Cloud dengan akses tulis ke bucket Cloud Storage. Jika Anda belum membuatnya, ikuti langkah-langkah di Membuat akun layanan Google Cloud , Membuat kunci JSON, dan Memberikan izin tulis di bucket Cloud Storage.
Mengonfigurasi plugin tujuan Cloud Storage
- Di Cloud Exchange, buka Settings > Plugin Store.
- Telusuri dan pilih 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 Cloud Storage (misalnya,
netskope-webtx-logs). - Path (opsional): Masukkan jalur folder (misalnya,
netskope/webtx/). - File Kunci: Tempelkan seluruh konten file kunci JSON akun layanan, bukan hanya nilai
private_key.
- 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). - Konfigurasikan filter Anda 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:
- Source Configuration: Pilih plugin sumber Netskope CLS (misalnya,
WebTxCLSatauNetskope CLS). - Konfigurasi Tujuan: Pilih plugin tujuan Cloud Storage yang Anda konfigurasi (misalnya,
GCS WebTx Destination). - Aturan Bisnis: Pilih aturan bisnis (misalnya,
AllatauWebTx Only).
- Source Configuration: Pilih plugin sumber Netskope CLS (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 menyerap log Netskope WebTx dari Cloud Storage
Ikuti langkah-langkah yang sama seperti pada opsi Streaming Log Netskope untuk membuat feed Google SecOps dan memberikan izin IAM:
- Ambil akun layanan Google SecOps — buat feed dengan Google Cloud Storage V2 sebagai jenis sumber dan proxy web Netskope sebagai jenis log.
- Memberikan izin IAM ke akun layanan Google SecOps — berikan peran Storage Object Viewer dan Storage Legacy Bucket Reader (gunakan Storage Legacy Bucket Writer jika menggunakan opsi penghapusan) di bucket Cloud Storage ke akun layanan Google SecOps.
Memverifikasi pengiriman log
Untuk memverifikasi bahwa log WebTx dikirimkan ke bucket Cloud Storage:
- 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: General dan Mappings.
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 ketiga 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 berenkode UTF-8 yang 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 penguraian 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 menjadi 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 grok yang sesuai |
| dst_ip | target.asset.ip[]: dst_ip, target.ip[]: dst_ip | Dipetakan langsung dari kolom grok yang sesuai |
| dst_location | target.location.city: dst_location | Dipetakan langsung dari kolom yang sesuai yang telah di-grok |
| dst_region | target.location.state: dst_region | Dipetakan langsung dari kolom yang sesuai yang telah di-grok |
| dst_zip | Belum 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 di-grok |
| 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 | intermediary: intermediary | 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 berisi "CEF". Jika ya, maka akan diperlakukan sebagai log CEF. Jika tidak, string akan diuraikan sebagai string yang dipisahkan spasi atau JSON. |
| 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 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 diperoleh dengan mengurai kolom requestClientApplication menggunakan filter "parseduseragent" |
| request_method | network.http.method: request_method | Dipetakan langsung dari kolom yang sesuai yang telah di-grok |
| 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 di-grok |
| src_ip | principal.asset.ip[]: src_ip, principal.ip[]: src_ip | Dipetakan langsung dari kolom yang sesuai yang telah di-grok |
| src_location | principal.location.city: src_location | Dipetakan langsung dari kolom yang sesuai yang telah di-grok |
| src_region | principal.location.state: src_region | Dipetakan langsung dari kolom yang sesuai yang telah di-grok |
| src_latitude | Tidak dipetakan | Kolom ini tidak dipetakan ke UDM |
| src_longitude | Belum 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 di-grok |
| waktu | metadata.event_timestamp.seconds: Detik Epoch dari kolom tanggal dan waktu, metadata.event_timestamp.nanos: 0 | Tanggal dan waktu digabungkan dan dikonversi menjadi 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 ditetapkan 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 grokked yang sesuai |
| 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 ini 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 kapital. Jika nilai huruf besar adalah "ALLOW" atau "BLOCK", nilai tersebut akan digunakan secara langsung. Jika tidak, kolom ini tidak akan 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 | Setel ke "Netskope" | |
| metadata.product_name | Disetel ke "Netskope Webproxy" jika belum ada | |
| metadata.log_type | Tetapkan ke "NETSKOPE_WEBPROXY" |
Log Perubahan
Melihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.