收集 Netskope 提醒日志 v1

支持的语言:

概览

此解析器从 JSON 格式的消息中提取 Netskope 提醒日志,并将其转换为 Google Security Operations UDM。它会规范化字段、解析时间戳、处理提醒和严重程度、提取网络信息(IP、端口、协议)、丰富用户和文件数据,并将字段映射到 UDM 结构。解析器还会处理特定的 Netskope 活动(例如登录和 DLP 事件),并添加自定义标签以增强上下文。

准备工作

确保您满足以下前提条件:

  • Google SecOps 实例。
  • 对 Netskope 的特权访问权限。

启用 Netskope REST API 访问权限

  1. 使用管理员凭据登录 Netskope 租户。
  2. 依次前往设置 > 工具 > REST API v1
  3. 专门为 Google SecOps 创建新的 API 密钥。
  4. 提供一个描述性名称(例如,Google SecOps 密钥)。
  5. 复制并保存生成的密钥密文

设置 Feed

您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:

  • SIEM 设置 > Feed
  • 内容中心 > 内容包

通过“SIEM 设置”>“Feed”设置 Feed

如需配置 Feed,请按以下步骤操作:

  1. 依次前往 SIEM 设置 > Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称字段中,输入 Feed 的名称,例如 Netskope 提醒日志
  5. 选择第三方 API 作为来源类型
  6. 选择 Netskope 作为日志类型
  7. 点击下一步
  8. 为以下输入参数指定值:
    • 身份验证 HTTP 标头:之前以 <key>:<secret> 格式生成的密钥对,用于针对 Netskope API 进行身份验证。
    • API 主机名:Netskope REST API 端点的 FQDN(完全限定域名),例如 myinstance.goskope.com
    • API 端点:输入 alerts
    • 内容类型:输入全部
  9. 点击下一步
  10. 最终确定界面中检查 Feed 配置,然后点击提交

设置来自内容中心的 Feed

为以下字段指定值:

  • 身份验证 HTTP 标头:之前以 <key>:<secret> 格式生成的密钥对,用于针对 Netskope API 进行身份验证。
  • API 主机名:Netskope REST API 端点的 FQDN(完全限定域名),例如 myinstance.goskope.com
  • API 端点:输入 alerts
  • 内容类型:输入全部

高级选项

  • Feed 名称:用于标识 Feed 的预填充值。
  • 来源类型:用于将日志收集到 Google SecOps 中的方法。
  • 资源命名空间:与 Feed 关联的命名空间。
  • 提取标签:应用于相应 Feed 中所有事件的标签。

可选:添加 Feed 配置以注入 Netskope 事件日志

  1. 依次前往 SIEM 设置 > Feed
  2. 点击新增
  3. Feed 名称字段中,输入 Feed 的名称(例如 Netskope 事件日志)。
  4. 选择第三方 API 作为来源类型
  5. 选择 Netskope 作为日志类型
  6. 点击下一步
  7. 为以下输入参数指定值:
    • 身份验证 HTTP 标头:之前以 <key>:<secret> 格式生成的密钥对,用于针对 Netskope API 进行身份验证。
    • API 主机名:Netskope REST API 端点的 FQDN(完全限定域名),例如 myinstance.goskope.com
    • API 端点:输入 events
    • 内容类型:根据要解析的事件,输入 pageapplicationauditinfrastructurenetwork
    • 资源命名空间资源命名空间
    • 注入标签:应用于此 Feed 中事件的标签。
  8. 点击下一步
  9. 最终确定界面中检查 Feed 配置,然后点击提交

UDM 映射表

日志字段 UDM 映射 逻辑
access_method extensions.auth.auth_details 直接从 access_method 字段映射。
action security_result.action 直接从 action 字段映射,如果 action 为“alert”或“bypass”,则设置为 QUARANTINE。如果 action 为“允许”,则为 ALLOW。如果 action 为 block,则为 BLOCK
action security_result.action_details 如果 action 字段为“alert”或“bypass”,则从该字段进行映射。
activity security_result.description 直接从 activity 字段映射。
alert is_alert 如果 alert 为“是”,则设置为 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 的值进行设置:“poor”或“low”映射到 LOW_CONFIDENCE,“medium”映射到 MEDIUM_CONFIDENCE,“high”或“excellent”映射到 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 如果 dsthost 字段不是 IP 且 dstip 为空,则直接映射自该字段;否则,映射到 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 如果不是“未知”,则直接从 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:"恶意软件类型", 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”,然后可能会根据其他字段进行替换。如果存在 srciphostname 以及 dstipdsthostdomain,则设置为 NETWORK_HTTP。如果存在 srciphostname,但不存在 dstipdsthostdomain,则设置为 STATUS_UPDATE。如果存在 user,则设置为 USER_UNCATEGORIZED。如果 activity 为“Introspection Scan”,且存在 shared_withfrom_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 提醒”。
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:"对象类型", 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 categoryappcategoryalert_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 派生自 _severitymalware_severitydlp_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.ipprincipal.ip 数组中。
srcip principal.ip 使用 grok 从 srcip 字段中提取,并合并到 principal.asset.ipprincipal.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 timestampid.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 专业人士那里获得解答。