Mengumpulkan log peringatan Netskope v1

Didukung di:

Ringkasan

Parser ini mengekstrak log peringatan Netskope dari pesan berformat JSON, lalu mengubahnya menjadi UDM Google Security Operations. Proses ini menormalisasi kolom, mengurai stempel waktu, menangani pemberitahuan dan tingkat keparahan, mengekstrak informasi jaringan (IP, port, protokol), memperkaya data pengguna dan file, serta memetakan kolom ke struktur UDM. Parser juga menangani aktivitas Netskope tertentu seperti login dan peristiwa DLP serta menambahkan label kustom untuk konteks yang lebih baik.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps.
  • Akses istimewa ke Netskope.

Mengaktifkan akses Netskope REST API

  1. Login ke tenant Netskope menggunakan kredensial administrator Anda.
  2. Buka Setelan > Alat > REST API v1.
  3. Buat kunci API baru khusus untuk Google SecOps.
  4. Berikan nama deskriptif (misalnya, Kunci Google SecOps).
  5. Salin dan simpan kunci dan rahasia yang dihasilkan.

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:

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan Feed Baru.
  3. Di halaman berikutnya, klik Konfigurasi satu feed.
  4. Di kolom Feed name, masukkan nama untuk feed; misalnya, Netskope Alert Logs.
  5. Pilih Third party API sebagai Source type.
  6. Pilih Netskope sebagai Jenis log.
  7. Klik Berikutnya.
  8. Tentukan nilai untuk parameter input berikut:
    • Header HTTP Autentikasi: pasangan kunci yang dihasilkan sebelumnya dalam format <key>:<secret>, digunakan untuk melakukan autentikasi terhadap Netskope API.
    • Nama Host API: FQDN (nama domain yang sepenuhnya memenuhi syarat) endpoint Netskope REST API Anda (misalnya myinstance.goskope.com).
    • Endpoint API: Masukkan alerts.
    • Jenis Konten: Masukkan all.
  9. Klik Berikutnya.
  10. Tinjau konfigurasi feed di layar Selesaikan, lalu klik Kirim.

Menyiapkan feed dari Hub Konten

Tentukan nilai untuk kolom berikut:

  • Header HTTP Autentikasi: pasangan kunci yang dihasilkan sebelumnya dalam format <key>:<secret>, digunakan untuk melakukan autentikasi terhadap Netskope API.
  • Nama Host API: FQDN (nama domain yang sepenuhnya memenuhi syarat) endpoint Netskope REST API Anda (misalnya myinstance.goskope.com).
  • Endpoint API: Masukkan alerts.
  • Jenis Konten: Masukkan all.

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.

Opsional: Tambahkan konfigurasi feed untuk menyerap log Peristiwa Netskope

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan baru.
  3. Di kolom Nama feed, masukkan nama untuk feed (misalnya, Log Peristiwa Netskope).
  4. Pilih Third party API sebagai Source type.
  5. Pilih Netskope sebagai Jenis log.
  6. Klik Berikutnya.
  7. Tentukan nilai untuk parameter input berikut:
    • Header HTTP Autentikasi: pasangan kunci yang dihasilkan sebelumnya dalam format <key>:<secret>, digunakan untuk melakukan autentikasi terhadap Netskope API.
    • Nama Host API: FQDN (nama domain yang sepenuhnya memenuhi syarat) endpoint Netskope REST API Anda (misalnya myinstance.goskope.com).
    • Endpoint API: Masukkan events.
    • Jenis Konten: Masukkan page, application, audit, infrastructure, atau network, bergantung pada peristiwa yang ingin Anda parsing.
    • Namespace aset: namespace aset.
    • Label penyerapan: label yang diterapkan ke peristiwa dari feed ini.
  8. Klik Berikutnya.
  9. Tinjau konfigurasi feed di layar Selesaikan, lalu klik Kirim.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
access_method extensions.auth.auth_details Dipetakan langsung dari kolom access_method.
action security_result.action Dipetakan langsung dari kolom action, atau ditetapkan ke QUARANTINE jika action adalah "alert" atau "bypass". ALLOW jika action diizinkan. BLOCK jika action adalah blokir.
action security_result.action_details Dipetakan dari kolom action jika "alert" atau "bypass".
activity security_result.description Dipetakan langsung dari kolom activity.
alert is_alert Ditetapkan ke true jika alert adalah "yes", false jika tidak.
alert_name - Tidak dipetakan ke objek IDM.
alert_type security_result.category_details Dipetakan langsung dari kolom alert_type.
app target.application Dipetakan langsung dari kolom app.
app_activity additional.fields{key:"app_activity", value:{string_value: }} Dipetakan langsung dari kolom app_activity sebagai pasangan nilai kunci di additional.fields.
app_session_id target.resource.attribute.labels{key:"App Session Id", value: } Diekstrak dari kolom message menggunakan grok dan ditambahkan sebagai label.
appcategory security_result.category_details Dipetakan langsung dari kolom appcategory jika category kosong.
browser network.http.user_agent Dipetakan langsung dari kolom browser jika bukan "unknown".
browser_version network.http.parsed_user_agent.browser_version Dipetakan langsung dari kolom browser_version.
browser_version network.http.parsed_user_agent.family Tetapkan ke "USER_DEFINED" jika browser_version ada.
category security_result.category_details Dipetakan langsung dari kolom category.
cci security_result.detection_fields{key:"cci", value: } Dipetakan langsung dari kolom cci sebagai pasangan nilai kunci di detection_fields.
ccl security_result.confidence Tetapkan berdasarkan nilai ccl: "rendah" atau "buruk" dipetakan ke LOW_CONFIDENCE, "sedang" ke MEDIUM_CONFIDENCE, "tinggi" atau "sangat baik" ke HIGH_CONFIDENCE.
ccl security_result.confidence_details Dipetakan langsung dari kolom ccl.
client_bytes network.sent_bytes Dipetakan langsung dari kolom client_bytes setelah dikonversi ke bilangan bulat tidak bertanda.
count additional.fields{key:"count", value:{string_value: }} Dipetakan langsung dari kolom count sebagai pasangan nilai kunci di additional.fields.
device principal.resource.resource_subtype Dipetakan langsung dari kolom device.
device principal.resource.type Tetapkan ke "DEVICE" jika kolom device ada.
dlp_file target.file.full_path Dipetakan langsung dari kolom dlp_file jika ada, atau dari file_path.
dlp_profile security_result.rule_type Dipetakan langsung dari kolom dlp_profile.
dlp_rule security_result.rule_name Dipetakan langsung dari kolom dlp_rule.
dlp_rule_severity security_result.severity Dipetakan langsung dari kolom dlp_rule_severity jika alert_type adalah DLP.
dlp_rule_severity _severity Dipetakan dari kolom dlp_rule_severity jika severity kosong.
domain target.asset.hostname Dipetakan langsung dari kolom domain.
domain target.hostname Dipetakan langsung dari kolom domain.
dsthost target.asset.hostname Dipetakan langsung dari kolom dsthost jika bukan IP dan dstip kosong, atau dipetakan ke target.hostname.
dsthost target.hostname Dipetakan langsung dari kolom dsthost jika bukan IP dan dstip tidak kosong.
dstip target.asset.ip Dipetakan langsung dari kolom dstip.
dstip target.ip Dipetakan langsung dari kolom dstip.
dstport target.port Dipetakan langsung dari kolom dstport setelah dikonversi menjadi bilangan bulat.
dst_country target.location.country_or_region Dipetakan langsung dari kolom dst_country.
dst_location target.location.city Dipetakan langsung dari kolom dst_location.
dst_region target.location.name Dipetakan langsung dari kolom dst_region.
file_path target.file.full_path Dipetakan langsung dari kolom file_path jika dlp_file kosong.
file_size target.file.size Dipetakan langsung dari kolom file_size setelah dikonversi ke bilangan bulat tidak bertanda.
file_type target.file.mime_type Dipetakan langsung dari kolom file_type jika bukan "Tidak diketahui".
from_user network.email.from Dipetakan langsung dari kolom from_user jika berupa alamat email.
from_user_category principal.resource.attribute.labels{key:"From User Category", value: } Dipetakan langsung dari kolom from_user_category sebagai pasangan nilai kunci di principal.resource.attribute.labels.
hostname principal.asset.hostname Dipetakan langsung dari kolom hostname jika tidak kosong, atau dari instance_id.
hostname principal.hostname Dipetakan langsung dari kolom hostname jika tidak kosong, atau dari instance_id.
id.time metadata.event_timestamp Diuraikan dan dipetakan ke event_timestamp dalam metadata.
instance_id principal.asset.hostname Dipetakan langsung dari kolom instance_id jika hostname kosong.
instance_id principal.hostname Dipetakan langsung dari kolom instance_id jika hostname kosong.
intermediary intermediary Dipetakan langsung dari kolom intermediary.
ip_protocol network.ip_protocol Dipetakan dari kolom ip_protocol setelah diuraikan oleh file parse_ip_protocol.include.
ja3 network.tls.client.ja3 Dipetakan langsung dari kolom ja3 jika cocok dengan pola heksadesimal.
ja3s network.tls.server.ja3s Dipetakan langsung dari kolom ja3s jika cocok dengan pola heksadesimal.
malware_id security_result.threat_id Dipetakan langsung dari kolom malware_id.
malware_name security_result.threat_name Dipetakan langsung dari kolom malware_name.
malware_severity security_result.severity Dipetakan langsung dari kolom malware_severity setelah dikonversi menjadi huruf besar.
malware_type security_result.detection_fields{key:"Malware Type", value: } Dipetakan langsung dari kolom malware_type sebagai pasangan nilai kunci di detection_fields.
matched_username principal.user.email_addresses Dipetakan langsung dari kolom matched_username jika berupa alamat email.
md5 target.file.md5 Dipetakan langsung dari kolom md5 jika tidak kosong atau "Tidak tersedia".
metadata.event_type metadata.event_type Awalnya disetel ke "GENERIC_EVENT", lalu berpotensi diganti berdasarkan kolom lain. Tetapkan ke NETWORK_HTTP jika srcip atau hostname dan dstip atau dsthost atau domain ada. Tetapkan ke STATUS_UPDATE jika srcip atau hostname ada, tetapi tidak dstip, dsthost, atau domain. Tetapkan ke USER_UNCATEGORIZED jika user ada. Setel ke EMAIL_UNCATEGORIZED jika activity adalah "Introspection Scan" dan shared_with atau from_user ada. Disetel ke USER_LOGIN jika activity adalah "Login Gagal", "Login Berhasil", atau "Upaya Login".
metadata.log_type metadata.log_type Tetapkan ke "NETSKOPE_ALERT".
metadata.product_log_id metadata.product_log_id Dipetakan langsung dari kolom _id.
metadata.product_name metadata.product_name Setel ke "Netskope Alert".
metadata.vendor_name metadata.vendor_name Tetapkan ke "Netskope".
netskope_pop observer.hostname Dipetakan langsung dari kolom netskope_pop.
object additional.fields{key:"Object", value:{string_value: }} Dipetakan langsung dari kolom object sebagai pasangan nilai kunci di additional.fields.
object_id additional.fields{key:"Object id", value:{string_value: }} Dipetakan langsung dari kolom object_id sebagai pasangan nilai kunci di additional.fields.
object_type additional.fields{key:"Object type", value:{string_value: }} Dipetakan langsung dari kolom object_type sebagai pasangan nilai kunci di additional.fields.
organization_unit principal.administrative_domain Dipetakan langsung dari kolom organization_unit.
os principal.platform Dipetakan dari kolom os: "Windows" dipetakan ke WINDOWS, "MAC" ke MAC, "LINUX" ke LINUX.
os_version principal.platform_version Dipetakan langsung dari kolom os_version.
other_categories - Tidak dipetakan ke objek IDM.
page network.http.referral_url Dipetakan langsung dari kolom page jika referer kosong.
policy security_result.summary Dipetakan langsung dari kolom policy.
principal.user.email_addresses principal.user.email_addresses Digabungkan dari kolom user jika berupa alamat email.
protocol network.application_protocol Dipetakan langsung dari kolom protocol setelah menghapus semua yang ada setelah "/" pertama. Dikonversi menjadi huruf besar.
publisher_cn additional.fields{key:"publisher_cn", value:{string_value: }} Dipetakan langsung dari kolom publisher_cn sebagai pasangan nilai kunci di additional.fields.
publisher_name additional.fields{key:"publisher_name", value:{string_value: }} Dipetakan langsung dari kolom publisher_name sebagai pasangan nilai kunci di additional.fields.
referer network.http.referral_url Dipetakan langsung dari kolom referer.
security_result.alert_state security_result.alert_state Ditetapkan ke "ALERTING" jika alert adalah "yes", "NOT_ALERTING" jika alert adalah "no", "UNSPECIFIED" jika tidak.
security_result.category_details security_result.category_details Digabungkan dari kolom category atau appcategory atau alert_type.
security_result.confidence security_result.confidence Diperoleh dari kolom ccl.
security_result.confidence_details security_result.confidence_details Dipetakan langsung dari kolom ccl.
security_result.description security_result.description Dipetakan langsung dari kolom activity.
security_result.rule_name security_result.rule_name Dipetakan langsung dari kolom dlp_rule.
security_result.rule_type security_result.rule_type Dipetakan langsung dari kolom dlp_profile.
security_result.severity security_result.severity Diperoleh dari kolom _severity atau malware_severity atau dlp_rule_severity.
security_result.summary security_result.summary Dipetakan langsung dari kolom policy.
security_result.threat_id security_result.threat_id Dipetakan langsung dari kolom malware_id.
security_result.threat_name security_result.threat_name Dipetakan langsung dari kolom malware_name.
server_bytes network.received_bytes Dipetakan langsung dari kolom server_bytes setelah dikonversi ke bilangan bulat tidak bertanda.
severity _severity Dipetakan langsung dari kolom severity.
sha256 target.file.sha256 Dipetakan langsung dari kolom sha256.
shared_with network.email.to Diuraikan dari kolom shared_with dan ditambahkan ke array network.email.to jika berupa alamat email.
site additional.fields{key:"site", value:{string_value: }} Dipetakan langsung dari kolom site sebagai pasangan nilai kunci di additional.fields.
src_country principal.location.country_or_region Dipetakan langsung dari kolom src_country.
src_latitude principal.location.region_latitude Dipetakan langsung dari kolom src_latitude.
src_location principal.location.city Dipetakan langsung dari kolom src_location.
src_longitude principal.location.region_longitude Dipetakan langsung dari kolom src_longitude.
src_region principal.location.name Dipetakan langsung dari kolom src_region.
srcip principal.asset.ip Diekstrak dari kolom srcip menggunakan grok dan digabungkan ke dalam array principal.asset.ip dan principal.ip.
srcip principal.ip Diekstrak dari kolom srcip menggunakan grok dan digabungkan ke dalam array principal.asset.ip dan principal.ip.
srcport principal.port Dipetakan langsung dari kolom srcport setelah dikonversi menjadi bilangan bulat.
target.user.email_addresses target.user.email_addresses Digabungkan dari kolom to_user jika berupa alamat email.
threat_match_field security_result.detection_fields{key:"Threat Match Field", value: } Dipetakan langsung dari kolom threat_match_field sebagai pasangan nilai kunci di detection_fields.
timestamp metadata.event_timestamp Diuraikan dari kolom timestamp atau id.time.
to_user target.user.email_addresses Diuraikan dari kolom to_user dan ditambahkan ke array target.user.email_addresses jika berupa alamat email.
to_user_category target.resource.attribute.labels{key:"To User Category", value: } Dipetakan langsung dari kolom to_user_category sebagai pasangan nilai kunci di target.resource.attribute.labels.
traffic_type security_result.detection_fields{key:"traffic_type", value: } Dipetakan langsung dari kolom traffic_type sebagai pasangan nilai kunci di detection_fields.
tunnel_id additional.fields{key:"tunnel_id", value:{string_value: }} Dipetakan langsung dari kolom tunnel_id sebagai pasangan nilai kunci di additional.fields.
tunnel_type additional.fields{key:"tunnel_type", value:{string_value: }} Dipetakan langsung dari kolom tunnel_type sebagai pasangan nilai kunci di additional.fields.
type security_result.detection_fields{key:"type", value: } Dipetakan langsung dari kolom type sebagai pasangan nilai kunci di detection_fields.
ur_normalized - Tidak dipetakan ke objek IDM.
url target.url Dipetakan langsung dari kolom url.
user event.idm.read_only_udm.principal.user.userid Dipetakan langsung dari kolom user.
user principal.user.email_addresses Dipetakan langsung dari kolom user jika berupa alamat email.
useragent network.http.user_agent Dipetakan langsung dari kolom useragent.
useragent network.http.parsed_user_agent Dikonversi ke parseduseragent dan dipetakan ke network.http.parsed_user_agent.
user_agent network.http.user_agent Dipetakan langsung dari kolom user_agent.
user_agent network.http.parsed_user_agent Dikonversi ke parseduseragent dan dipetakan ke network.http.parsed_user_agent.

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.