收集 Netskope 快訊記錄 v1
支援的國家/地區:
Google SecOps
SIEM
總覽
這個剖析器會從 JSON 格式的訊息中擷取 Netskope 快訊記錄,並轉換為 Google Security Operations UDM。這項服務會正規化欄位、剖析時間戳記、處理快訊和嚴重程度、擷取網路資訊 (IP、通訊埠、通訊協定)、擴充使用者和檔案資料,以及將欄位對應至 UDM 結構。剖析器也會處理特定 Netskope 活動 (例如登入和資料遺失防護事件),並新增自訂標籤來強化背景資訊。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體。
- Netskope 的特殊存取權。
啟用 Netskope REST API 存取權
- 使用管理員憑證登入 Netskope 租戶。
- 依序前往「設定」>「工具」>「REST API v1」。
- 建立 Google SecOps 專用的新 API 金鑰。
- 提供描述性名稱 (例如「Google SecOps Key」)。
- 複製並儲存產生的金鑰和密鑰。
設定動態饋給
在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:
- 「SIEM 設定」>「動態消息」
- 內容中心 > 內容包
依序前往「SIEM 設定」>「動態饋給」,設定動態饋給
如要設定動態消息,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態消息」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中,輸入動態饋給的名稱,例如「Netskope Alert Logs」。
- 選取「第三方 API」做為「來源類型」。
- 選取「Netskope」做為「記錄類型」。
- 點選「下一步」。
- 指定下列輸入參數的值:
- 驗證 HTTP 標頭:先前以
<key>:<secret>
格式產生的金鑰配對,用於向 Netskope API 進行驗證。 - API 主機名稱:Netskope REST API 端點的完整網域名稱 (FQDN),例如
myinstance.goskope.com
。 - API 端點:輸入 alerts。
- 內容類型:輸入 all。
- 驗證 HTTP 標頭:先前以
- 點選「下一步」。
- 在「Finalize」畫面中檢查動態饋給設定,然後按一下「Submit」。
從內容中心設定動態饋給
為下列欄位指定值:
- 驗證 HTTP 標頭:先前以
<key>:<secret>
格式產生的金鑰配對,用於向 Netskope API 進行驗證。 - API 主機名稱:Netskope REST API 端點的完整網域名稱 (FQDN),例如
myinstance.goskope.com
。 - API 端點:輸入 alerts。
- 內容類型:輸入 all。
進階選項
- 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
- 來源類型:將記錄收集到 Google SecOps 的方法。
- 資產命名空間:與動態饋給相關聯的命名空間。
- 擷取標籤:套用至這個動態饋給所有事件的標籤。
選用:新增動態饋給設定,擷取 Netskope 事件記錄
- 依序前往「SIEM 設定」>「動態消息」。
- 按一下「新增」。
- 在「動態饋給名稱」欄位中,輸入動態饋給的名稱 (例如「Netskope Event Logs」)。
- 選取「第三方 API」做為「來源類型」。
- 選取「Netskope」做為「記錄類型」。
- 點選「下一步」。
- 指定下列輸入參數的值:
- 驗證 HTTP 標頭:先前以
<key>:<secret>
格式產生的金鑰配對,用於向 Netskope API 進行驗證。 - API 主機名稱:Netskope REST API 端點的完整網域名稱 (FQDN),例如
myinstance.goskope.com
。 - API 端點:輸入 events。
- 內容類型:輸入 page、application、audit、infrastructure 或 network,視要剖析的事件而定。
- 資產命名空間:資產命名空間。
- 擷取標籤:套用至這個動態饋給事件的標籤。
- 驗證 HTTP 標頭:先前以
- 點選「下一步」。
- 在「Finalize」畫面中檢查動態饋給設定,然後按一下「Submit」。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
access_method |
extensions.auth.auth_details |
直接從「access_method 」欄位對應。 |
action |
security_result.action |
直接從 action 欄位對應,或在 action 為「alert」或「bypass」時設為 QUARANTINE 。如果 action 為允許,則為 ALLOW 。如果 action 遭到封鎖,則為 BLOCK 。 |
action |
security_result.action_details |
如果為「alert」或「bypass」,則會從 action 欄位對應。 |
activity |
security_result.description |
直接從「activity 」欄位對應。 |
alert |
is_alert |
如果 alert 為「yes」,請設為 true ,否則設為 false 。 |
alert_name |
- | 未對應至 IDM 物件。 |
alert_type |
security_result.category_details |
直接從「alert_type 」欄位對應。 |
app |
target.application |
直接從「app 」欄位對應。 |
app_activity |
additional.fields {key:"app_activity", value:{string_value: |
直接從 app_activity 欄位對應為 additional.fields 中的鍵/值組合。 |
app_session_id |
target.resource.attribute.labels {key:"App Session Id", value: |
使用 grok 從 message 欄位擷取,並新增為標籤。 |
appcategory |
security_result.category_details |
如果 category 為空,則直接從 appcategory 欄位對應。 |
browser |
network.http.user_agent |
如果不是「unknown」,則直接從 browser 欄位對應。 |
browser_version |
network.http.parsed_user_agent.browser_version |
直接從「browser_version 」欄位對應。 |
browser_version |
network.http.parsed_user_agent.family |
如果存在 browser_version ,請設為「USER_DEFINED」。 |
category |
security_result.category_details |
直接從「category 」欄位對應。 |
cci |
security_result.detection_fields {key:"cci", value: |
直接從 cci 欄位對應為 detection_fields 中的鍵/值組合。 |
ccl |
security_result.confidence |
根據 ccl 的值設定:「不佳」或「低」對應至 LOW_CONFIDENCE 、「中等」對應至 MEDIUM_CONFIDENCE 、「高」或「極佳」對應至 HIGH_CONFIDENCE 。 |
ccl |
security_result.confidence_details |
直接從「ccl 」欄位對應。 |
client_bytes |
network.sent_bytes |
轉換為不帶正負號的整數後,直接從 client_bytes 欄位對應。 |
count |
additional.fields {key:"count", value:{string_value: |
直接從 count 欄位對應為 additional.fields 中的鍵/值組合。 |
device |
principal.resource.resource_subtype |
直接從「device 」欄位對應。 |
device |
principal.resource.type |
如果存在 device 欄位,請設為「DEVICE」。 |
dlp_file |
target.file.full_path |
如果有的話,則直接從 dlp_file 欄位對應,否則從 file_path 對應。 |
dlp_profile |
security_result.rule_type |
直接從「dlp_profile 」欄位對應。 |
dlp_rule |
security_result.rule_name |
直接從「dlp_rule 」欄位對應。 |
dlp_rule_severity |
security_result.severity |
如果 alert_type 是 DLP,則直接從 dlp_rule_severity 欄位對應。 |
dlp_rule_severity |
_severity |
如果 severity 為空白,則會從 dlp_rule_severity 欄位對應。 |
domain |
target.asset.hostname |
直接從「domain 」欄位對應。 |
domain |
target.hostname |
直接從「domain 」欄位對應。 |
dsthost |
target.asset.hostname |
如果不是 IP 且 dstip 為空,則直接從 dsthost 欄位對應,否則會對應至 target.hostname 。 |
dsthost |
target.hostname |
如果不是 IP 且 dstip 不為空白,則直接從 dsthost 欄位對應。 |
dstip |
target.asset.ip |
直接從「dstip 」欄位對應。 |
dstip |
target.ip |
直接從「dstip 」欄位對應。 |
dstport |
target.port |
轉換為整數後,直接從 dstport 欄位對應。 |
dst_country |
target.location.country_or_region |
直接從「dst_country 」欄位對應。 |
dst_location |
target.location.city |
直接從「dst_location 」欄位對應。 |
dst_region |
target.location.name |
直接從「dst_region 」欄位對應。 |
file_path |
target.file.full_path |
如果 dlp_file 為空,則直接從 file_path 欄位對應。 |
file_size |
target.file.size |
轉換為不帶正負號的整數後,直接從 file_size 欄位對應。 |
file_type |
target.file.mime_type |
如果不是「Unknown」,則直接從 file_type 欄位對應。 |
from_user |
network.email.from |
如果是電子郵件地址,則直接從 from_user 欄位對應。 |
from_user_category |
principal.resource.attribute.labels {key:"From User Category", value: |
直接從 from_user_category 欄位對應為 principal.resource.attribute.labels 中的鍵/值組合。 |
hostname |
principal.asset.hostname |
如果 hostname 欄位不為空,則直接從該欄位對應,否則從 instance_id 對應。 |
hostname |
principal.hostname |
如果 hostname 欄位不為空,則直接從該欄位對應,否則從 instance_id 對應。 |
id.time |
metadata.event_timestamp |
已剖析並對應至中繼資料中的 event_timestamp。 |
instance_id |
principal.asset.hostname |
如果 hostname 為空,則直接從 instance_id 欄位對應。 |
instance_id |
principal.hostname |
如果 hostname 為空,則直接從 instance_id 欄位對應。 |
intermediary |
intermediary |
直接從「intermediary 」欄位對應。 |
ip_protocol |
network.ip_protocol |
由 parse_ip_protocol.include 檔案剖析後,從 ip_protocol 欄位對應。 |
ja3 |
network.tls.client.ja3 |
如果符合十六進位模式,則直接從 ja3 欄位對應。 |
ja3s |
network.tls.server.ja3s |
如果符合十六進位模式,則直接從 ja3s 欄位對應。 |
malware_id |
security_result.threat_id |
直接從「malware_id 」欄位對應。 |
malware_name |
security_result.threat_name |
直接從「malware_name 」欄位對應。 |
malware_severity |
security_result.severity |
轉換為大寫後,直接從 malware_severity 欄位對應。 |
malware_type |
security_result.detection_fields {key:"Malware Type", value: |
直接從 malware_type 欄位對應為 detection_fields 中的鍵/值組合。 |
matched_username |
principal.user.email_addresses |
如果是電子郵件地址,則直接從 matched_username 欄位對應。 |
md5 |
target.file.md5 |
如果 md5 欄位不為空白或「不適用」,則直接從該欄位對應。 |
metadata.event_type |
metadata.event_type |
一開始設為「GENERIC_EVENT」,然後可能會根據其他欄位覆寫。如果存在 srcip 或 hostname 和 dstip 或 dsthost 或 domain ,請設為 NETWORK_HTTP 。如果存在 srcip 或 hostname ,但不存在 dstip 、dsthost 或 domain ,請設為 STATUS_UPDATE 。如果 user 存在,請設為 USER_UNCATEGORIZED 。如果 activity 為「Introspection Scan」,且存在 shared_with 或 from_user ,請設為 EMAIL_UNCATEGORIZED 。如果 activity 是「登入失敗」、「登入成功」或「嘗試登入」,請設為 USER_LOGIN 。 |
metadata.log_type |
metadata.log_type |
設為「NETSKOPE_ALERT」。 |
metadata.product_log_id |
metadata.product_log_id |
直接從「_id 」欄位對應。 |
metadata.product_name |
metadata.product_name |
設為「Netskope Alert」。 |
metadata.vendor_name |
metadata.vendor_name |
設為「Netskope」。 |
netskope_pop |
observer.hostname |
直接從「netskope_pop 」欄位對應。 |
object |
additional.fields {key:"Object", value:{string_value: |
直接從 object 欄位對應為 additional.fields 中的鍵/值組合。 |
object_id |
additional.fields {key:"Object id", value:{string_value: |
直接從 object_id 欄位對應為 additional.fields 中的鍵/值組合。 |
object_type |
additional.fields {key:"Object type", value:{string_value: |
直接從 object_type 欄位對應為 additional.fields 中的鍵/值組合。 |
organization_unit |
principal.administrative_domain |
直接從「organization_unit 」欄位對應。 |
os |
principal.platform |
從「os 」欄位對應:「Windows」對應至 WINDOWS 、「MAC」對應至 MAC 、「LINUX」對應至 LINUX 。 |
os_version |
principal.platform_version |
直接從「os_version 」欄位對應。 |
other_categories |
- | 未對應至 IDM 物件。 |
page |
network.http.referral_url |
如果 referer 為空,則直接從 page 欄位對應。 |
policy |
security_result.summary |
直接從「policy 」欄位對應。 |
principal.user.email_addresses |
principal.user.email_addresses |
如果 user 欄位是電子郵件地址,系統會從該欄位合併。 |
protocol |
network.application_protocol |
直接從 protocol 欄位對應,並移除第一個「/」之後的所有內容。轉換為大寫。 |
publisher_cn |
additional.fields {key:"publisher_cn", value:{string_value: |
直接從 publisher_cn 欄位對應為 additional.fields 中的鍵/值組合。 |
publisher_name |
additional.fields {key:"publisher_name", value:{string_value: |
直接從 publisher_name 欄位對應為 additional.fields 中的鍵/值組合。 |
referer |
network.http.referral_url |
直接從「referer 」欄位對應。 |
security_result.alert_state |
security_result.alert_state |
如果 alert 為「yes」,則設為「ALERTING」;如果 alert 為「no」,則設為「NOT_ALERTING」;否則設為「UNSPECIFIED」。 |
security_result.category_details |
security_result.category_details |
從 category 、appcategory 或 alert_type 欄位合併。 |
security_result.confidence |
security_result.confidence |
衍生自「ccl 」欄位。 |
security_result.confidence_details |
security_result.confidence_details |
直接從「ccl 」欄位對應。 |
security_result.description |
security_result.description |
直接從「activity 」欄位對應。 |
security_result.rule_name |
security_result.rule_name |
直接從「dlp_rule 」欄位對應。 |
security_result.rule_type |
security_result.rule_type |
直接從「dlp_profile 」欄位對應。 |
security_result.severity |
security_result.severity |
衍生自 _severity 、malware_severity 或 dlp_rule_severity 欄位。 |
security_result.summary |
security_result.summary |
直接從「policy 」欄位對應。 |
security_result.threat_id |
security_result.threat_id |
直接從「malware_id 」欄位對應。 |
security_result.threat_name |
security_result.threat_name |
直接從「malware_name 」欄位對應。 |
server_bytes |
network.received_bytes |
轉換為不帶正負號的整數後,直接從 server_bytes 欄位對應。 |
severity |
_severity |
直接從「severity 」欄位對應。 |
sha256 |
target.file.sha256 |
直接從「sha256 」欄位對應。 |
shared_with |
network.email.to |
如果 shared_with 欄位中的值是電子郵件地址,系統會剖析該值並新增至 network.email.to 陣列。 |
site |
additional.fields {key:"site", value:{string_value: |
直接從 site 欄位對應為 additional.fields 中的鍵/值組合。 |
src_country |
principal.location.country_or_region |
直接從「src_country 」欄位對應。 |
src_latitude |
principal.location.region_latitude |
直接從「src_latitude 」欄位對應。 |
src_location |
principal.location.city |
直接從「src_location 」欄位對應。 |
src_longitude |
principal.location.region_longitude |
直接從「src_longitude 」欄位對應。 |
src_region |
principal.location.name |
直接從「src_region 」欄位對應。 |
srcip |
principal.asset.ip |
使用 grok 從 srcip 欄位擷取,並合併至 principal.asset.ip 和 principal.ip 陣列。 |
srcip |
principal.ip |
使用 grok 從 srcip 欄位擷取,並合併至 principal.asset.ip 和 principal.ip 陣列。 |
srcport |
principal.port |
轉換為整數後,直接從 srcport 欄位對應。 |
target.user.email_addresses |
target.user.email_addresses |
如果 to_user 欄位是電子郵件地址,系統會從該欄位合併。 |
threat_match_field |
security_result.detection_fields {key:"Threat Match Field", value: |
直接從 threat_match_field 欄位對應為 detection_fields 中的鍵/值組合。 |
timestamp |
metadata.event_timestamp |
從 timestamp 或 id.time 欄位剖析。 |
to_user |
target.user.email_addresses |
如果 to_user 欄位中的值是電子郵件地址,系統會剖析該值並新增至 target.user.email_addresses 陣列。 |
to_user_category |
target.resource.attribute.labels {key:"To User Category", value: |
直接從 to_user_category 欄位對應為 target.resource.attribute.labels 中的鍵/值組合。 |
traffic_type |
security_result.detection_fields {key:"traffic_type", value: |
直接從 traffic_type 欄位對應為 detection_fields 中的鍵/值組合。 |
tunnel_id |
additional.fields {key:"tunnel_id", value:{string_value: |
直接從 tunnel_id 欄位對應為 additional.fields 中的鍵/值組合。 |
tunnel_type |
additional.fields {key:"tunnel_type", value:{string_value: |
直接從 tunnel_type 欄位對應為 additional.fields 中的鍵/值組合。 |
type |
security_result.detection_fields {key:"type", value: |
直接從 type 欄位對應為 detection_fields 中的鍵/值組合。 |
ur_normalized |
- | 未對應至 IDM 物件。 |
url |
target.url |
直接從「url 」欄位對應。 |
user |
event.idm.read_only_udm.principal.user.userid |
直接從「user 」欄位對應。 |
user |
principal.user.email_addresses |
如果是電子郵件地址,則直接從 user 欄位對應。 |
useragent |
network.http.user_agent |
直接從「useragent 」欄位對應。 |
useragent |
network.http.parsed_user_agent |
已轉換為 parseduseragent,並對應至 network.http.parsed_user_agent 。 |
user_agent |
network.http.user_agent |
直接從「user_agent 」欄位對應。 |
user_agent |
network.http.parsed_user_agent |
已轉換為 parseduseragent,並對應至 network.http.parsed_user_agent 。 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。