收集 Netskope Web 代理日志

支持:

本文档介绍了如何使用 Cloud Storage V2 将 Netskope 网络代理日志注入到 Google Security Operations。

Netskope 提供了一种云原生安全 Web 网关,可实时检查和控制 Web 流量。Web 事务 (WebTx) 日志会捕获 Netskope 代理处理的每个 HTTP 和 HTTPS 会话的详细记录,包括用户身份、应用、网址类别、威胁和 DLP 判定以及网络元数据。

准备工作

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

  • Google SecOps 实例
  • 启用了 Cloud Storage API 的 Google Cloud 项目
  • 创建和管理 Cloud Storage 存储桶的权限
  • 管理 Cloud Storage 存储桶的 Identity and Access Management (IAM) 政策的权限
  • 使用管理员凭证对 Netskope 租户的特权访问权限

选项 1:将 Netskope 日志流式传输到 Cloud Storage

如果您的租户已启用 Netskope 日志流式传输订阅,请使用此选项。Netskope Log Streaming 会以 240 秒的固定间隔将 WebTx 日志文件直接推送到您的 Cloud Storage 存储桶,并以压缩的 .gzip 文件形式存储。

创建 Cloud Storage 存储桶

  1. 前往 Google Cloud 控制台。
  2. 选择您的项目或创建一个新项目。
  3. 在导航菜单中,前往 Cloud Storage > 存储桶。
  4. 点击创建存储分区。
  5. 提供以下配置详细信息:

    设置 值
    为存储桶命名 输入一个全局唯一的名称(例如 netskope-webtx-logs)
    位置类型 根据您的需求进行选择(区域级、双区域级、多区域级)
    位置 选择距离贵组织最近的位置(例如 us-central1)
    存储类别 标准(推荐用于频繁访问的日志)
    访问权限控制 均匀(推荐)
    保护工具 可选:启用对象版本控制或保留政策
  6. 点击创建。

创建 Google Cloud 服务账号

Netskope 日志流式传输需要 Google Cloud 服务账号具有对 Cloud Storage 存储桶的写入权限。Netskope 会在推送日志文件时使用此服务账号的 JSON 密钥文件进行身份验证。

  1. 在 Google Cloud 控制台中,依次前往 IAM 和管理 > 服务账号。
  2. 点击创建服务账号。
  3. 提供以下配置详细信息:
    • 服务账号名称:输入 netskope-log-streaming
    • 服务账号说明:输入 Service account for Netskope Log Streaming to push WebTx logs to GCS
  4. 点击创建并继续。
  5. 在向此服务账号授予对项目的访问权限部分中:
    1. 点击选择角色。
    2. 搜索并选择 Storage Object Creator。
  6. 点击继续。
  7. 点击完成。

生成 JSON 密钥

  1. 在 Google Cloud 控制台中,依次前往 IAM 和管理 > 服务账号,然后点击相应服务账号 netskope-log-streaming。
  2. 选择密钥标签页。
  3. 依次点击添加密钥> 创建新密钥。
  4. 选择 JSON 作为密钥类型。
  5. 点击创建。
  6. 系统会自动下载一个 JSON 密钥文件。请妥善保存此文件。您将在下一部分中将此文件的完整内容粘贴到 Netskope 中。

授予对 Cloud Storage 存储桶的写入权限

  1. 在 Google Cloud 控制台中,前往 Cloud Storage > 存储桶。
  2. 点击您的存储桶名称(例如 netskope-webtx-logs)。
  3. 前往权限标签页。
  4. 点击授予访问权限。
  5. 提供以下配置详细信息:
    • 添加主账号:输入服务账号电子邮件地址(例如 netskope-log-streaming@YOUR_PROJECT_ID.iam.gserviceaccount.com)
    • 分配角色:选择 Storage Object Creator
  6. 点击保存。

创建日志流

  1. 使用管理员凭证登录 Netskope 租户。
  2. 依次前往设置 > 工具 > 日志流式传输。
  3. 点击创建数据流。
  4. 在名称字段中,输入人类可读的流名称。例如 Google SecOps WebTx GCS。
  5. 选择 GCP Cloud Storage 作为目标位置类型。
  6. 提供以下配置详细信息:

    • 存储桶:输入 Cloud Storage 存储桶的名称(例如 netskope-webtx-logs)。

      • 路径(可选):输入存储桶中将用于存储日志的文件夹路径(例如 `netskope/webtx/{%Y}`)。
    • 私钥:粘贴上一部分中生成的 JSON 密钥文件的完整内容,作为以 { 开头、以 } 结尾的单个 JSON 对象。其中包括 type、project_id、private_key_id、private_key、client_email 和 client_id 字段。

  7. 查看推送选项:推送频率为持续的 240 秒。

  8. 点击保存(或创建)以启用数据流。Netskope 会通过向存储桶写入名为 netskope-test-file.txt 的测试对象来验证凭证。

在 Google SecOps 中配置 Feed,以从 Cloud Storage 注入 Netskope WebTx 日志

请按照以下步骤创建 Google SecOps Feed 并授予 IAM 权限:

检索 Google SecOps 服务账号

Google SecOps 使用唯一的服务账号从您的 Cloud Storage 存储桶中读取数据。您必须向此服务账号授予对存储桶的访问权限。

  1. 前往 SIEM 设置 > Feed。
  2. 点击添加新 Feed。
  3. 点击配置单个 Feed。
  4. 在 Feed 名称字段中,输入 Feed 的名称(例如 Netskope WebTx Logs)。
  5. 选择 Google Cloud Storage V2 作为来源类型。
  6. 选择 Netskope Web Proxy 作为日志类型。
  7. 点击获取服务账号。
  8. 系统会显示一个专属的服务账号邮箱,例如:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  9. 复制此邮箱,以便在下一步中使用。

  10. 点击下一步。

  11. 为以下输入参数指定值:

    • 存储桶网址:输入带有前缀路径的 Cloud Storage 存储桶 URI:

      gs://netskope-webtx-logs/netskope/webtx/
      
      • 替换:
        • netskope-webtx-logs:您的 Cloud Storage 存储桶名称。
        • netskope/webtx/:在 Netskope 日志流式传输中配置的路径前缀(留空表示根路径)。
    • 来源删除选项:根据您的偏好选择删除选项:

      • 永不删除文件:永不从源中删除文件(建议用于测试)。
      • 删除已转移的文件和空目录:在成功完成提取后,从来源中删除文件和空目录。
    • 文件存在时间上限:包含过去指定天数内修改过的文件(默认值为 180 天)

    • 资源命名空间:资源命名空间

    • 注入标签:要应用于此 Feed 中事件的标签

  12. 点击下一步。

  13. 在最终确定界面中查看新的 Feed 配置,然后点击提交。

向 Google SecOps 服务账号授予 IAM 权限

Google SecOps 服务账号需要对您的 Cloud Storage 存储桶拥有两个角色:Storage Object Viewer(用于读取日志对象)和存储桶级角色(用于读取存储桶元数据)。

  1. 前往 Cloud Storage > 存储桶。
  2. 点击您的存储桶名称(例如 netskope-webtx-logs)。
  3. 前往权限标签页。
  4. 点击授予访问权限。
  5. 提供以下配置详细信息:
    • 添加主账号:粘贴 Google SecOps 服务账号邮箱(例如 chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com)
    • 分配角色:选择以下两个角色:
      • Storage Object Viewer:读取日志对象。
      • Storage Legacy Bucket Reader:读取存储桶元数据。如果您选择了删除已转移的文件和空目录删除选项,请改为选择存储旧版存储桶写入者,该角色也会授予删除权限。
  6. 点击保存。

方法 2:使用 Netskope Cloud Exchange Log Shipper to Cloud Storage

如果您已部署 Netskope Cloud Exchange 平台并配置了 Log Shipper 模块,请使用此选项。日志传送程序会从您的 Netskope 租户拉取 WebTx 日志,并以压缩的 .gzip 文件形式将其推送到 Cloud Storage 存储桶,然后 Google SecOps 会通过 Cloud Storage V2 Feed 读取这些日志。

准备工作 (Cloud Exchange)

请确保您满足以下额外前提条件,才能使用此选项:

配置 Cloud Storage 目标插件

  1. 在 Cloud Exchange 中,依次前往设置 > 插件商店。
  2. 搜索并选择 Google Cloud SCC (Google GCS) 插件。
  3. 点击配置新插件(或添加新的插件配置)。
  4. 提供以下配置详细信息:
    • 配置名称:输入一个描述性名称(例如 GCS WebTx Destination)。
    • 映射:选择一个映射文件。对于以原始 .gzip 文件推送的 WebTx 日志,系统不会应用任何映射转换。
    • 存储桶:输入 Cloud Storage 存储桶的名称(例如 netskope-webtx-logs)。
    • 路径(可选):输入文件夹路径(例如 netskope/webtx/)。
    • 密钥文件:粘贴服务账号 JSON 密钥文件的完整内容,而不仅仅是 private_key 值。
  5. 点击保存。
  6. 新插件配置将显示在日志传送程序 > 插件页面上。

配置业务规则(可选)

默认情况下,所有业务规则会过滤所有提醒和事件。如果您想专门过滤 WebTx 日志,请创建新的业务规则:

  1. 在 Log Shipper 中,前往业务规则。
  2. 点击创建新规则。
  3. 输入规则名称(例如 WebTx Only)。
  4. 配置过滤器,使其仅包含 WebTx 数据。
  5. 点击保存。

配置日志传送

  1. 在日志传送器中,前往日志传送。
  2. 点击添加日志传送配置。
  3. 提供以下配置详细信息:
    • Source Configuration(来源配置):选择 Netskope CLS 来源插件(例如 WebTxCLS 或 Netskope CLS)。
    • 目标配置:选择您配置的 Cloud Storage 目标插件(例如 GCS WebTx Destination)。
    • 业务规则:选择业务规则(例如 All 或 WebTx Only)。
  4. 点击保存。

  5. 如需获取更多历史数据,请点击日志传送操作中的提取历史数据图标。

  6. 选择历史记录起始和结束日期范围,然后点击提取。

在 Google SecOps 中配置 Feed,以从 Cloud Storage 注入 Netskope WebTx 日志

按照与“Netskope 日志流式传输”选项中相同的步骤创建 Google SecOps Feed 并授予 IAM 权限:

  1. 检索 Google SecOps 服务账号 - 创建以 Google Cloud Storage V2 为来源类型、以 Netskope Web 代理为日志类型的 Feed。
  2. 向 Google SecOps 服务账号授予 IAM 权限 - 向 Google SecOps 服务账号授予 Cloud Storage 存储桶的 Storage Object Viewer 和 Storage Legacy Bucket Reader 角色(如果使用删除选项,则使用 Storage Legacy Bucket Writer)。

验证日志传送

如需验证 WebTx 日志是否已传送至 Cloud Storage 存储桶,请执行以下操作:

  1. 在 Cloud Exchange 中,前往 Log Shipper > Log Delivery(日志传送)。
  2. 检查发送到外部接收方的日志/WebTx 总数和发送到存储桶的 WebTx 总数列,确认数据是否正在推送到目标位置。
  3. 在 GCS 存储桶中,确认 Log Shipper 正在写入 .gzip 文件。

配置 Log Shipper 全局设置(可选)

只有管理员可以更改日志传送程序全局设置。前往设置 > Log Shipper。有两个标签页:“常规”和“映射”。

在常规标签页中,您可以配置日志传送的重试策略:

  • 默认(3 次重试):如果日志传送失败,Log Shipper 将尝试 3 次将日志推送到目标位置。如果 3 次重试尝试全部失败,系统会舍弃相应批次的日志。
  • 重试直至成功传送:无限次重试,直至成功传送日志。

您还可以为提醒、事件和 WebTx 启用 UTF-8 编码,以确保无缝处理 UTF-8 编码的数据。此功能默认处于停用状态。

UDM 映射表

日志字段 UDM 映射 逻辑
applicationType security_result.detection_fields[].key: "applicationType", security_result.detection_fields[].value: applicationType 直接从相应的 CEF 字段映射
appcategory security_result.category_details[]: appcategory 直接从相应的 CEF 字段映射
browser security_result.detection_fields[].key: "browser", security_result.detection_fields[].value: browser 直接从相应的 CEF 字段映射
c-ip principal.asset.ip[]: c-ip, principal.ip[]: c-ip 直接从对应的 JSON 字段映射
cci security_result.detection_fields[].key: "cci",security_result.detection_fields[].value: cci 直接从相应的 CEF 字段映射
ccl security_result.confidence:派生值;security_result.confidence_details:ccl security_result.confidence 根据 ccl 的值派生:“excellent”或“high”映射到 HIGH_CONFIDENCE,“medium”映射到 MEDIUM_CONFIDENCE,“low”或“poor”映射到 LOW_CONFIDENCE,“unknown”或“not_defined”映射到 UNKNOWN_CONFIDENCE。security_result.confidence_details 直接从 ccl 映射。
clientBytes network.sent_bytes: clientBytes 直接从相应的 CEF 字段映射
cs-access-method additional.fields[].key: "accessMethod", additional.fields[].value.string_value: cs-access-method 直接从对应的 JSON 字段映射
cs-app additional.fields[].key: "x-cs-app", additional.fields[].value.string_value: cs-app, principal.application: cs-app 直接从对应的 JSON 字段映射
cs-app-activity additional.fields[].key: "x-cs-app-activity", additional.fields[].value.string_value: cs-app-activity 直接从对应的 JSON 字段映射
cs-app-category additional.fields[].key: "x-cs-app-category", additional.fields[].value.string_value: cs-app-category 直接从对应的 JSON 字段映射
cs-app-cci additional.fields[].key: "x-cs-app-cci", additional.fields[].value.string_value: cs-app-cci 直接从对应的 JSON 字段映射
cs-app-ccl additional.fields[].key: "x-cs-app-ccl", additional.fields[].value.string_value: cs-app-ccl 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
cs-app-instance-id additional.fields[].key: "x-cs-app-instance-id", additional.fields[].value.string_value: cs-app-instance-id 直接从对应的 JSON 字段映射
cs-app-object-name additional.fields[].key: "x-cs-app-object-name", additional.fields[].value.string_value: cs-app-object-name 直接从对应的 JSON 字段映射
cs-app-object-type additional.fields[].key: "x-cs-app-object-type", additional.fields[].value.string_value: cs-app-object-type 直接从对应的 JSON 字段映射
cs-app-suite additional.fields[].key: "x-cs-app-suite", additional.fields[].value.string_value: cs-app-suite 直接从对应的 JSON 字段映射
cs-app-tags additional.fields[].key: "x-cs-app-tags", additional.fields[].value.string_value: cs-app-tags 直接从对应的 JSON 字段映射
cs-bytes network.sent_bytes: cs-bytes 直接从对应的 JSON 字段映射
cs-content-type additional.fields[].key: "sc-content-type", additional.fields[].value.string_value: cs-content-type 直接从对应的 JSON 字段映射
cs-dns target.asset.hostname[]: cs-dns, target.hostname: cs-dns 直接从对应的 JSON 字段映射
cs-host target.asset.hostname[]: cs-host, target.hostname: cs-host 直接从对应的 JSON 字段映射
cs-method network.http.method: cs-method 直接从对应的 JSON 字段映射
cs-referer network.http.referral_url: cs-referer 直接从对应的 JSON 字段映射
cs-uri additional.fields[].key: "cs-uri", additional.fields[].value.string_value: cs-uri 直接从对应的 JSON 字段映射
cs-uri-path additional.fields[].key: "x-cs-uri-path", additional.fields[].value.string_value: cs-uri-path 直接从对应的 JSON 字段映射
cs-uri-port additional.fields[].key: "cs-uri-port", additional.fields[].value.string_value: cs-uri-port 直接从对应的 JSON 字段映射
cs-uri-scheme network.application_protocol: cs-uri-scheme 转换为大写后直接从对应的 JSON 字段映射
cs-user-agent network.http.parsed_user_agent:解析的用户代理,network.http.user_agent:cs-user-agent network.http.parsed_user_agent 是通过使用“parseduseragent”过滤条件解析 cs-user-agent 字段派生出来的
cs-username principal.user.userid: cs-username 直接从对应的 JSON 字段映射
日期 metadata.event_timestamp.seconds:来自日期和时间字段的纪元秒数,metadata.event_timestamp.nanos:0 日期和时间会合并并转换为纪元秒和纳秒。纳秒设置为 0。
device intermediary.hostname: device 直接从相应的 CEF 字段映射
dst target.ip[]: dst 直接从相应的 CEF 字段映射
dst_country target.location.country_or_region: dst_country 直接从相应的 grokked 字段映射
dst_ip target.asset.ip[]: dst_ip, target.ip[]: dst_ip 直接从相应的 grokked 字段映射
dst_location target.location.city: dst_location 直接从相应的 grokked 字段映射
dst_region target.location.state: dst_region 直接从相应的 grokked 字段映射
dst_zip 未映射 此字段未映射到 UDM
duser target.user.email_addresses[]: duser, target.user.user_display_name: duser 直接从相应的 CEF 字段映射
dvchost about.hostname: dvchost, target.asset.hostname[]: dvchost, target.hostname: dvchost 直接从相应的 CEF 字段映射
event_timestamp metadata.event_timestamp.seconds: event_timestamp 直接从相应的 grokked 字段映射
主机名 target.asset.hostname[]:主机名,target.hostname:主机名 直接从相应的 CEF 字段映射
事件 ID security_result.detection_fields[].key: "IncidentID", security_result.detection_fields[].value: IncidentID 直接从相应的 CEF 字段映射
中介 中介:intermediary 直接从相应的 CEF 字段映射
md5 target.file.md5: md5 直接从相应的 CEF 字段映射
消息 各种 UDM 字段 系统会根据消息字段是否包含“CEF”来解析该字段。如果包含,则将其视为 CEF 日志。否则,系统会将其解析为以空格分隔的字符串或 JSON。
mwDetectionEngine additional.fields[].key: "mwDetectionEngine", additional.fields[].value.string_value: mwDetectionEngine 直接从相应的 CEF 字段映射
mwType metadata.description: mwType 直接从相应的 CEF 字段映射
os principal.platform:派生值 平台派生自 os 字段:“Windows”映射到 WINDOWS,“MAC”映射到 MAC,“LINUX”映射到 LINUX
页面 network.http.referral_url: page 直接从对应的 CEF 字段映射
引荐来源网址 network.http.referral_url:引荐来源网址 直接从对应的 CEF 字段映射
requestClientApplication network.http.parsed_user_agent:已解析的用户代理;network.http.user_agent:requestClientApplication network.http.parsed_user_agent 是通过使用“parseduseragent”过滤器解析 requestClientApplication 字段而得出的
request_method network.http.method: request_method 直接从相应的 grokked 字段映射
rs-status additional.fields[].key: "rs-status", additional.fields[].value.string_value: rs-status, network.http.response_code: rs-status 直接从对应的 JSON 字段映射
s-ip target.asset.ip[]: s-ip, target.ip[]: s-ip 直接从对应的 JSON 字段映射
sc-bytes network.received_bytes:sc-bytes 直接从对应的 JSON 字段映射
sc-content-type additional.fields[].key: "sc-content-type", additional.fields[].value.string_value: sc-content-type 直接从对应的 JSON 字段映射
sc-status network.http.response_code: sc-status 直接从对应的 JSON 字段映射
serverBytes network.received_bytes: serverBytes 直接从相应的 CEF 字段映射
sha256 target.file.sha256:sha256 直接从对应的 CEF 字段映射
src principal.ip[]: src 直接从相应的 CEF 字段映射
src_country principal.location.国家/地区: src_国家/地区 直接从相应的 grokked 字段映射
src_ip principal.asset.ip[]: src_ip, principal.ip[]: src_ip 直接从相应的 grokked 字段映射
src_location principal.location.city: src_location 直接从相应的 grokked 字段映射
src_region principal.location.state: src_region 直接从相应的 grokked 字段映射
src_latitude 未映射 此字段未映射到 UDM
src_longitude 未映射 此字段未映射到 UDM
src_zip 未映射 此字段未映射到 UDM
suser principal.user.user_display_name: suser 直接从相应的 CEF 字段映射
target_host target.asset.hostname[]: target_host, target.hostname: target_host 直接从相应的 grokked 字段映射
时间 metadata.event_timestamp.seconds:日期和时间字段中的纪元秒数,metadata.event_timestamp.nanos:0 日期和时间会合并并转换为纪元秒和纳秒。纳秒设置为 0。
时间戳 metadata.event_timestamp.seconds: 时间戳 直接从相应的 CEF 字段映射
ts metadata.event_timestamp.seconds:来自 ts 的纪元秒数,metadata.event_timestamp.nanos:0 时间戳会转换为纪元秒和纳秒。纳秒设置为 0。
网址 target.url:网址 直接从相应的 CEF 字段映射
user_agent network.http.parsed_user_agent:已解析的用户代理;network.http.user_agent:用户代理 network.http.parsed_user_agent 是通过使用“parseduseragent”过滤器解析 user_agent 字段得出的
user_key principal.user.email_addresses[]: user_key 直接从相应的 grokked 字段映射
版本 未映射 此字段未映射到 UDM
x-c-browser additional.fields[].key: "x-c-browser", additional.fields[].value.string_value: x-c-browser 直接从对应的 JSON 字段映射
x-c-browser-version additional.fields[].key: "x-c-browser-version", additional.fields[].value.string_value: x-c-browser-version 直接从对应的 JSON 字段映射
x-c-country principal.location.country_or_region: x-c-country 直接从对应的 JSON 字段映射
x-c-device additional.fields[].key: "x-c-device", additional.fields[].value.string_value: x-c-device 直接从对应的 JSON 字段映射
x-c-latitude principal.location.region_coordinates.latitude: x-c-latitude 直接从对应的 JSON 字段映射
x-c-local-time security_result.detection_fields[].key: "x-c-local-time", security_result.detection_fields[].value: x-c-local-time 直接从对应的 JSON 字段映射
x-c-location principal.location.name: x-c-location 直接从对应的 JSON 字段映射
x-c-longitude principal.location.region_coordinates.longitude: x-c-longitude 直接从对应的 JSON 字段映射
x-c-os principal.platform:派生值 平台派生自 x-c-os 字段:“Windows”映射到 WINDOWS,“MAC”映射到 MAC,“LINUX”映射到 LINUX
x-c-区域 principal.location.state: x-c-区域 直接从对应的 JSON 字段映射
x-c-zipcode additional.fields[].key: "x-c-zipcode", additional.fields[].value.string_value: x-c-zipcode 直接从对应的 JSON 字段映射
x-category additional.fields[].key: "x-category", additional.fields[].value.string_value: x-category 直接从对应的 JSON 字段映射
x-category-id additional.fields[].key: "x-category-id", additional.fields[].value.string_value: x-category-id 直接从对应的 JSON 字段映射
x-cs-access-method additional.fields[].key: "accessMethod", additional.fields[].value.string_value: x-cs-access-method 直接从对应的 JSON 字段映射
x-cs-app principal.application: x-cs-app, additional.fields[].key: "x-cs-app", additional.fields[].value.string_value: x-cs-app 直接从对应的 JSON 字段映射
x-cs-app-activity additional.fields[].key: "x-cs-app-activity", additional.fields[].value.string_value: x-cs-app-activity 直接从对应的 JSON 字段映射
x-cs-app-category additional.fields[].key: "x-cs-app-category", additional.fields[].value.string_value: x-cs-app-category 直接从对应的 JSON 字段映射
x-cs-app-cci additional.fields[].key: "x-cs-app-cci", additional.fields[].value.string_value: x-cs-app-cci 直接从对应的 JSON 字段映射
x-cs-app-from-user additional.fields[].key: "x-cs-app-from-user", additional.fields[].value.string_value: x-cs-app-from-user 直接从对应的 JSON 字段映射
x-cs-app-object-id additional.fields[].key: "x-cs-app-object-id", additional.fields[].value.string_value: x-cs-app-object-id 直接从对应的 JSON 字段映射
x-cs-app-object-name additional.fields[].key: "x-cs-app-object-name", additional.fields[].value.string_value: x-cs-app-object-name 直接从对应的 JSON 字段映射
x-cs-app-object-type additional.fields[].key: "x-cs-app-object-type", additional.fields[].value.string_value: x-cs-app-object-type 直接从对应的 JSON 字段映射
x-cs-app-suite additional.fields[].key: "x-cs-app-suite", additional.fields[].value.string_value: x-cs-app-suite 直接从对应的 JSON 字段映射
x-cs-app-tags additional.fields[].key: "x-cs-app-tags", additional.fields[].value.string_value: x-cs-app-tags 直接从对应的 JSON 字段映射
x-cs-app-to-user additional.fields[].key: "x-cs-app-to-user", additional.fields[].value.string_value: x-cs-app-to-user 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
x-cs-http-version security_result.detection_fields[].key: "x-cs-http-version", security_result.detection_fields[].value: x-cs-http-version 直接从对应的 JSON 字段映射
x-cs-page-id additional.fields[].key: "x-cs-page-id", additional.fields[].value.string_value: x-cs-page-id 直接从对应的 JSON 字段映射
x-cs-session-id network.session_id:x-cs-session-id 直接从对应的 JSON 字段映射
x-cs-site additional.fields[].key: "x-cs-site", additional.fields[].value.string_value: x-cs-site 直接从对应的 JSON 字段映射
x-cs-sni network.tls.client.server_name: x-cs-sni 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
x-cs-ssl-cipher network.tls.cipher: x-cs-ssl-cipher 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
x-cs-ssl-ja3 network.tls.client.ja3: x-cs-ssl-ja3 直接从对应的 JSON 字段映射
x-cs-ssl-version network.tls.version: x-cs-ssl-version 直接从对应的 JSON 字段映射
x-cs-timestamp metadata.event_timestamp.seconds: x-cs-timestamp 直接从对应的 JSON 字段映射
x-cs-traffic-type additional.fields[].key: "trafficType", additional.fields[].value.string_value: x-cs-traffic-type 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
x-cs-uri-path additional.fields[].key: "x-cs-uri-path", additional.fields[].value.string_value: x-cs-uri-path 直接从对应的 JSON 字段映射
x-cs-url target.url: x-cs-url 直接从对应的 JSON 字段映射
x-cs-userip security_result.detection_fields[].key: "x-cs-userip", security_result.detection_fields[].value: x-cs-userip 直接从对应的 JSON 字段映射
x-other-category security_result.category_details[]: x-other-category 直接从对应的 JSON 字段映射
x-other-category-id security_result.detection_fields[].key: "x-other-category-id", security_result.detection_fields[].value: x-other-category-id 直接从对应的 JSON 字段映射
x-policy-action security_result.action:派生值,security_result.action_details:x-policy-action security_result.action 是通过将 x-policy-action 转换为大写派生出来的。如果大写值为“ALLOW”或“BLOCK”,则直接使用该值。否则,不会进行映射。security_result.action_details 直接从 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 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
x-policy-dst-ip security_result.detection_fields[].key: "x-policy-dst-ip", security_result.detection_fields[].value: x-policy-dst-ip 直接从对应的 JSON 字段映射
x-policy-name security_result.rule_name: x-policy-name 直接从对应的 JSON 字段映射
x-policy-src-ip security_result.detection_fields[].key: "x-policy-src-ip", security_result.detection_fields[].value: x-policy-src-ip 直接从对应的 JSON 字段映射
x-r-cert-enddate network.tls.server.certificate.not_after.seconds:x-r-cert-enddate 对应的纪元秒数 系统会将日期转换为纪元秒数
x-r-cert-expired additional.fields[].key: "x-r-cert-expired", additional.fields[].value.string_value: x-r-cert-expired 直接从对应的 JSON 字段映射
x-r-cert-incomplete-chain additional.fields[].key: "x-r-cert-incomplete-chain", additional.fields[].value.string_value: x-r-cert-incomplete-chain 直接从对应的 JSON 字段映射
x-r-cert-issuer-cn network.tls.server.certificate.issuer: x-r-cert-issuer-cn 直接从对应的 JSON 字段映射
x-r-cert-mismatch additional.fields[].key: "x-r-cert-mismatch", additional.fields[].value.string_value: x-r-cert-mismatch 直接从对应的 JSON 字段映射
x-r-cert-revoked additional.fields[].key: "x-r-cert-revoked", additional.fields[].value.string_value: x-r-cert-revoked 直接从对应的 JSON 字段映射
x-r-cert-self-signed additional.fields[].key: "x-r-cert-self-signed", additional.fields[].value.string_value: x-r-cert-self-signed 直接从对应的 JSON 字段映射
x-r-cert-startdate network.tls.server.certificate.not_before.seconds:x-r-cert-startdate 中的纪元秒数 日期会转换为纪元秒数
x-r-cert-subject-cn network.tls.server.certificate.subject: x-r-cert-subject-cn 直接从对应的 JSON 字段映射
x-r-cert-untrusted-root additional.fields[].key: "x-r-cert-untrusted-root", additional.fields[].value.string_value: x-r-cert-untrusted-root 直接从对应的 JSON 字段映射
x-r-cert-valid additional.fields[].key: "x-r-cert-valid", additional.fields[].value.string_value: x-r-cert-valid 直接从对应的 JSON 字段映射
x-request-id additional.fields[].key: "requestId", additional.fields[].value.string_value: x-request-id 直接从对应的 JSON 字段映射
x-rs-file-category additional.fields[].key: "x-rs-file-category", additional.fields[].value.string_value: x-rs-file-category 直接从对应的 JSON 字段映射
x-rs-file-type additional.fields[].key: "x-rs-file-type", additional.fields[].value.string_value: x-rs-file-type 直接从对应的 JSON 字段映射
x-s-country target.location.country_or_region: x-s-country 直接从对应的 JSON 字段映射
x-s-dp-name additional.fields[].key: "x-s-dp-name", additional.fields[].value.string_value: x-s-dp-name 直接从对应的 JSON 字段映射
x-s-latitude target.location.region_coordinates.latitude: x-s-latitude 直接从对应的 JSON 字段映射
x-s-location target.location.name: x-s-location 直接从对应的 JSON 字段映射
x-s-longitude target.location.region_coordinates.longitude: x-s-longitude 直接从对应的 JSON 字段映射
x-s-区域 target.location.state: x-s-区域 直接从对应的 JSON 字段映射
x-s-zipcode additional.fields[].key: "x-s-zipcode", additional.fields[].value.string_value: x-s-zipcode 直接从对应的 JSON 字段映射
x-sr-ssl-cipher security_result.detection_fields[].key: "x-sr-ssl-cipher", security_result.detection_fields[].value: x-sr-ssl-cipher 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
x-sr-ssl-ja3s network.tls.server.ja3s: x-sr-ssl-ja3s 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
x-sr-ssl-version security_result.detection_fields[].key: "x-sr-ssl-version", security_result.detection_fields[].value: x-sr-ssl-version 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
x-ssl-bypass security_result.detection_fields[].key: "SSL BYPASS", security_result.detection_fields[].value: x-ssl-bypass 或 x-ssl-bypass-reason 如果 x-ssl-bypass 为“Yes”且存在 x-ssl-bypass-reason,则使用 x-ssl-bypass-reason 的值。否则,系统会使用 x-ssl-bypass 的值。
x-ssl-policy-action security_result.detection_fields[].key: "x-ssl-policy-action", security_result.detection_fields[].value: x-ssl-policy-action 直接从对应的 JSON 字段映射
x-ssl-policy-categories security_result.category_details[]: x-ssl-policy-categories 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
x-ssl-policy-name security_result.rule_name: x-ssl-policy-name 直接从对应的 JSON 字段映射
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 直接从对应的 JSON 字段映射
x-sr-dst-ip security_result.detection_fields[].key: "x-sr-dst-ip", security_result.detection_fields[].value: x-sr-dst-ip 直接从对应的 JSON 字段映射
x-sr-dst-port security_result.detection_fields[].key: "x-sr-dst-port", security_result.detection_fields[].value: x-sr-dst-port 直接从对应的 JSON 字段映射
x-type additional.fields[].key: "xType", additional.fields[].value.string_value: x-type 直接从对应的 JSON 字段映射
x-transaction-id additional.fields[].key: "transactionId", additional.fields[].value.string_value: x-transaction-id 直接从对应的 JSON 字段映射
metadata.vendor_name 设置为“Netskope”
metadata.product_name 如果尚未设置,则设置为“Netskope Webproxy”
metadata.log_type 设置为“NETSKOPE_WEBPROXY”

更新日志

查看相应解析器的更新日志

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。