收集 Dope Security SWG 日志

支持的平台:

本文档介绍了如何使用 Amazon S3 将 Dope Security SWG 日志注入到 Google Security Operations。

Dope Security dope.swg 是一款基于端点的安全 Web 网关,可提供实时 Web 过滤、恶意软件防护和云应用控制功能。每个 dope.endpoint 每 15 分钟向 dope.cloud 发送一次 Web 事务日志,这些日志随后会自动以压缩的 GZIP JSONL 格式导出到您的 AWS S3 存储桶,以实现 SIEM 集成。

准备工作

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

  • Google SecOps 实例
  • Dope Security dope.console 的特权访问权限
  • AWS (S3、IAM) 的特权访问权限
  • 您的 Dope Security 租户必须与您的 S3 存储桶位于同一 AWS 区域(在设置 > SIEM 页面中验证区域)

配置 Dope Security SIEM 集成

如需配置 Dope Security SIEM 集成,请执行以下操作:

  1. 登录 dope.console,网址为 https://console.dope.security
  2. 依次前往设置 > SIEM > SIEM 集成设置
  3. SIEM 类型列表中,选择 AWS S3
  4. 记下页面右侧显示的 AWS 区域(例如 US-EAST-2)。

  5. 请勿关闭此页面,因为您在设置 AWS S3 后会返回此页面完成配置。

为 Google SecOps 配置 AWS S3 存储桶和 IAM

  1. 创建 Amazon S3 存储桶。如需了解详情,请参阅创建存储桶
  2. 创建存储桶时,请确保区域与 Dope Security SIEM 集成页面中显示的区域一致(例如 US East (Ohio) us-east-2)。
  3. 保存存储桶名称以供日后参考(例如 chronicle-dope-swg-logs)。

  4. 创建用户。如需了解详情,请参阅创建 IAM 用户

  5. 选择您创建的用户

  6. 选择安全凭据标签页。

  7. 访问密钥部分中,点击创建访问密钥

  8. 选择第三方服务作为使用情形

  9. 点击下一步

  10. 可选:添加说明标记。

  11. 点击创建访问密钥

  12. 点击下载 .csv 文件以保存访问密钥密钥,供日后参考。

  13. 点击完成

  14. 选择权限标签页。

  15. 权限政策部分中,点击添加权限

  16. 选择添加权限

  17. 选择直接附加政策

  18. 搜索 AmazonS3FullAccess 政策。

  19. 选择相应政策。

  20. 点击下一步

  21. 点击添加权限

配置 Dope Security Amazon S3 连接

  1. 返回 dope.console 中的设置 > SIEM > SIEM 集成设置页面。
  2. S3 存储桶名称字段中,输入您的 S3 存储桶的名称(例如 chronicle-dope-swg-logs)。
  3. 在右侧窗格中,您会看到一个预先生成的 JSON 政策,位于存储分区政策部分。
  4. 点击政策 JSON 旁边的复制,将其复制到剪贴板。
  5. 在新浏览器标签页中,前往 AWS S3 控制台
  6. 选择您的 S3 存储桶(例如 chronicle-dope-swg-logs)。
  7. 前往权限标签页。
  8. 向下滚动到存储分区政策部分。
  9. 点击修改
  10. 将从 dope.console 复制的政策 JSON 粘贴到政策文本区域中。
  11. 点击保存更改
  12. 返回到 dope.console 浏览器标签页。
  13. 点击“SIEM 集成设置”页面底部的同步
  14. 等待同步完成。
  15. 验证 S3 存储分区名称字段旁边是否显示一个绿色对勾标记。
  16. 验证页面右上角是否显示上次同步时间戳。

在 Google SecOps 中配置 Feed 以注入 Dope Security SWG 日志

  1. 依次前往 SIEM 设置> Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称输入一个唯一名称(例如 Dope Security SWG Logs)。
  5. 选择 Amazon S3 V2 作为来源类型
  6. 选择 DOPE_SWG 作为日志类型
  7. 点击下一步,然后点击提交
  8. 为以下字段指定值:

    • S3 URIs3://chronicle-dope-swg-logs/(替换为您的存储桶名称)
    • 来源删除选项:根据您的偏好选择删除选项
    • 文件存在时间上限:包含在过去指定天数内修改的文件(默认值为 180 天)
    • 访问密钥 ID:有权访问 S3 存储桶的用户访问密钥(来自 AWS 配置的第 12 步)
    • Secret Access Key:具有 S3 存储桶访问权限的用户密钥(来自 AWS 配置的第 12 步)
    • 资产命名空间资产命名空间
    • 注入标签:要应用于此 Feed 中事件的标签
  9. 点击下一步,然后点击提交

日志数据格式参考

Dope Security 会以 JSONL(JSON 行)格式导出日志,并采用 GZIP 压缩。每个日志条目都包含以下关键字段:

字段 说明
时间戳 Web 交易的请求时间(采用 ISO 8601 时间戳格式)
时长 连接时长(以毫秒为单位)
匹配的目标网址 与兴奋剂类别匹配的网域
目标 IP 所请求网址的目标 IP 地址
租户 ID 客户的 dope.cloud 唯一租户 ID
代理 ID dope.endpoint 的唯一代理 ID
User 登录到 dope.endpoint 的用户
OIDC 用户 经过身份验证的用户的电子邮件地址(当 OIDC 身份验证已启用时)
类别 所请求网址的匹配兴奋剂类别编号 (0-88)
Verdict 政策判定:允许 (0)、禁止 (1)、警告 (2) 或绕过 (3)
已发送的数据 连接中发送的数据量(以字节为单位)
收到的数据 连接中接收的数据量(以字节为单位)
政策类型 应用的政策类型:Web、云应用控制 (CAC)、自定义类别、绕过或恶意软件
屏蔽详细信息 对于屏蔽判决:违禁内容类别、自定义类别、云应用或恶意软件类型
文件名 任何已下载文件的名称
文件哈希值 已下载文件的文件哈希值
流程名称 发出网址请求的进程的名称
网址 完整请求网址
政策名称 所应用政策的名称
协议 所用协议(例如 HTTP/2、HTTP/1.1)
主机名 设备主机名
HTTP 请求方法 HTTP 请求方法(例如 GET、POST、PUT)
进程调用树 通过包含命令实参的进程派生操作建立的父子关系

如需查看完整的类别和判定对应关系,请参阅 Dope Security 类别和判定对应关系文档。

UDM 映射表

日志字段 UDM 映射 逻辑
policy.categories、request.processTree additional.fields 以 JSON 格式合并为列表(来自 policy.categories 和 request.processTree)
时间戳 metadata.event_timestamp 在 JSON 和 CSV 中均解析为 ISO8601 时间戳
metadata.event_type 如果 JSON 中包含 has_principal、has_target、has_http,则设置为 NETWORK_HTTP;否则,如果包含 has_principal 和 has_target,则设置为 NETWORK_CONNECTION;否则,如果包含 has_user,则设置为 USER_UNCATEGORIZED;否则,如果包含 has_principal,则设置为 STATUS_UPDATE;否则,设置为 GENERIC_EVENT;在 CSV 中设置为 NETWORK_HTTP
schemaVersion metadata.product_version 直接从 JSON 中的 schemaVersion 复制的值
request.httpVersion network.http.user_agent 直接从 JSON 中的 request.httpVersion 复制的值
bandwidth.dataReceivedInBytes, bytes_received network.received_bytes 如果 bandwidth.dataReceivedInBytes(在 JSON 中)或 bytes_received(在 CSV 中)不为空且不为 0,则从带宽转换为 uinteger
bandwidth.dataSentInBytes, bytes_sent network.sent_bytes 如果 bandwidth.dataSentInBytes(在 JSON 中)或 bytes_sent(在 CSV 中)不为空且不为 0,则从带宽转换为 uinteger
request.duration network.session_duration.seconds 从 JSON 中的 request.duration 转换为整数
endpoint.agentID、endpoint_id principal.asset.asset_id 以“DS”为前缀:来自 JSON 中的 endpoint.agentID 或 CSV 中的 endpoint_id
endpoint.tenantID principal.asset.attribute.cloud.project.id 直接从 JSON 中的 endpoint.tenantID 复制的值
endpoint.deviceName principal.asset.hostname 直接从 JSON 中的 endpoint.deviceName 复制的值
endpoint.deviceName、endpoint_hostname principal.hostname JSON 中的 endpoint.deviceName 或 CSV 中的 endpoint_hostname 的值
request.processName principal.process.command_line 直接从 JSON 中的 request.processName 复制的值
process_name principal.process.file.names 直接从 CSV 中的 process_name 复制的值
sso_user、user principal.user.account_type 如果 sso_user 不为空,则设置为 DOMAIN_ACCOUNT_TYPE;否则,在 CSV 中设置为 LOCAL_ACCOUNT_TYPE
endpoint.oidcUser principal.user.email_addresses 如果 endpoint.oidcUser 与 JSON 中的电子邮件正则表达式匹配,则合并
endpoint.oidcUser principal.user.user_display_name 如果 endpoint.oidcUser 与 JSON 中的电子邮件正则表达式不匹配,则直接复制值
endpoint.user、sso_user、user principal.user.userid JSON 中 endpoint.user 的值;如果非空,则为 sso_user,否则为 CSV 中的 user
security_result security_result 从 JSON 中的 security_result 合并
policy.verdict、verdict security_result.action 如果 JSON 中的 policy.verdict 或 CSV 中的 verdict 为 1,则设置为 BLOCK;如果为 0,则设置为 ALLOW;如果为 2,则设置为 CHALLENGE
categories security_result.action_details 直接从 CSV 中的类别复制的值
policy.policyName security_result.rule_name 直接从 JSON 中的 policy.policyName 复制的值
policy.policyType security_result.rule_type 直接从 JSON 中的 policy.policyType 复制的值
file_name target.file.names 直接从 CSV 中的 file_name 复制的值
file_hash target.file.sha256 直接从 CSV 中的 file_hash 复制的值
destination.matchedDestination, domain target.hostname 如果 JSON 中没有 IP,则为 destination.matchedDestination 中的值;如果 CSV 中有网域,则为网域中的值
destination.matchedDestination、destination.destinationIP、ip target.ip 如果 JSON 中有 IP,则为 destination.matchedDestination 或 destination.destinationIP 中的值;如果 CSV 中有 IP,则为 ip 中的值
destination.url, url target.url JSON 中 destination.url 的值;CSV 中 url 的值
metadata.product_name 在 JSON 中设置为“DOPE_SWG”;在 CSV 中设置为“SWG”
metadata.vendor_name 在 JSON 中设置为“DOPE_SWG”;在 CSV 中设置为“Dope Security”

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