收集 Tanium Patch 日志

支持范围:

本文档介绍了如何使用 Tanium Connect 的原生 AWS S3 导出功能将 Tanium Patch 日志注入 Google Security Operations。Tanium Patch 会生成 JSON 格式的补丁部署、合规性和漏洞数据,这些数据可以使用 Tanium Connect 直接导出到 S3,而无需自定义 Lambda 函数。解析器会将评估 JSON 数据转换为 Google SecOps 的统一数据模型 (UDM)。它首先会规范化键名称,从 JSON 结构中提取数据,然后将相关字段映射到 UDM 属性,包括漏洞详细信息、安全结果信息以及主机名和操作系统等资产详细信息。

准备工作

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

  • Google SecOps 实例
  • Tanium Core Platform 7.0 或更高版本
  • 已安装并配置 Tanium Patch 模块
  • 已安装 Tanium Connect 模块,且具有有效许可
  • 对 Tanium 控制台的特权访问权限(具有管理权限)
  • 对 AWS(S3、IAM)的特权访问权限

配置 Tanium Patch 服务账号

  1. 登录 Tanium 控制台。
  2. 依次前往模块 > 补丁。
  3. 点击右上角的设置。
  4. 在服务账号部分中,配置以下内容:
    • 服务账号用户:选择具有适当 Patch 权限的用户。
    • 验证该账号是否具有 Connect User 角色权限。
  5. 点击保存以应用服务账号配置。

收集 Tanium Patch 前提条件

  1. 以管理员身份登录 Tanium 控制台。
  2. 依次前往管理 > 权限 > 用户。
  3. 创建或确定具有以下角色的服务账号用户:

    • Patch Administrator 或 Patch Read Only User 角色。
    • 连接用户角色权限。
    • 对受监控计算机群组(建议:所有计算机群组)的访问权限。

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

  1. 按照以下用户指南创建 Amazon S3 存储桶:创建存储桶
  2. 保存存储桶名称和区域(例如 tanium-patch-logs),以供日后参考。
  3. 按照以下用户指南创建用户:创建 IAM 用户。
  4. 选择创建的用户。
  5. 选择安全凭证标签页。
  6. 点击访问密钥部分中的创建访问密钥。
  7. 选择第三方服务作为用例。
  8. 点击下一步。
  9. 可选:添加说明标记。
  10. 点击创建访问密钥。
  11. 点击下载 CSV 文件,保存访问密钥和私有访问密钥,以供日后使用。
  12. 点击完成。
  13. 选择权限标签页。
  14. 点击权限政策部分中的添加权限。
  15. 选择添加权限。
  16. 选择直接附加政策
  17. 搜索并选择 AmazonS3FullAccess 政策。
  18. 点击下一步。
  19. 点击添加权限。

配置 Tanium Connect AWS S3 目标

  1. 登录 Tanium 控制台。
  2. 依次前往模块 > 连接。
  3. 点击 Create Connection。
  4. 提供以下配置详细信息:
    • 名称:输入一个描述性名称(例如 Patch Data to S3 for SecOps)。
    • 说明:可选说明(例如 Export Patch compliance and deployment data to AWS S3 for Google SecOps ingestion)。
    • 启用:选择此选项可启用连接,使其按时间表运行。
  5. 点击下一步。

配置连接来源

  1. 在来源部分,提供以下配置详细信息:
    • Source Type(来源类型):选择 Saved Question(已保存的问题)。
    • Saved Question(已保存的问题):选择以下与补丁相关的已保存问题之一:
      • 补丁 - 部署结果,用于查看补丁部署状态。
      • 补丁 - 缺失的补丁,用于漏洞合规性数据。
      • 补丁 - 已安装的补丁,用于查看已安装的补丁清单。
      • 补丁 - 补丁列表,用于查看全面的补丁状态。
    • 计算机群组:选择所有计算机或要监控的特定计算机群组。
    • 刷新间隔:设置适当的数据收集间隔(例如 1 小时)。
  2. 点击下一步。

配置 AWS S3 目标

  1. 在目标部分,提供以下配置详细信息:
    • 目标类型:选择 AWS S3。
    • 目标名称:输入一个唯一名称(例如 Google SecOps Patch S3 Destination)。
    • AWS 访问密钥:输入在 AWS S3 配置步骤中下载的 CSV 文件中的 AWS 访问密钥。
    • AWS 私有访问密钥:输入在 AWS S3 配置步骤中下载的 CSV 文件中的 AWS 私有访问密钥。
    • 存储桶名称:输入您的 S3 存储桶名称(例如 tanium-patch-logs)。
    • 区域:选择 S3 存储桶所在的 AWS 区域。
    • Key Prefix(键前缀):输入 S3 对象的前缀(例如 tanium/patch/)。
  2. 点击下一步。

配置过滤器

  1. 在过滤条件部分,配置数据过滤选项:
    • 仅发送新内容:选择此选项,系统将仅发送自上次导出以来新增的结果。
    • 列过滤条件:根据需要,基于特定补丁属性添加过滤条件(例如,按补丁严重级别、部署状态过滤)。
  2. 点击下一步。

为 AWS S3 格式化数据

  1. 在格式部分,配置数据格式:
    • 格式:选择 JSON。
    • 选项:
      • 包含标题:取消选择此选项可避免在 JSON 输出中包含标题。
      • 包含空单元格:根据您的偏好进行选择。
    • 高级选项:
      • 文件命名:使用默认的基于时间戳的命名。
      • 压缩:选择 Gzip 可降低存储费用并缩短传输时间。
  2. 点击下一步。

安排连接

  1. 在时间表部分,配置导出时间表:
    • 启用时间表:选择此选项可启用自动定期导出。
    • 时间表类型:选择周期性。
    • 频率:选择每小时以定期导出补丁数据。
    • 开始时间:为首次导出设置适当的开始时间。
  2. 点击下一步。

保存并验证连接

  1. 在摘要屏幕中查看连接配置。
  2. 点击保存以创建连接。
  3. 点击测试连接以验证配置。
  4. 如果测试成功,请点击立即运行以执行初始导出。
  5. 在连接概览页面中监控连接状态。

在 Google SecOps 中配置 Feed 以注入 Tanium Patch 日志

  1. 依次前往设置 > 数据管理 > Feed。如果您使用的是仅 SIEM 平台,请依次前往设置 > Feed。
  2. 点击 + 添加新 Feed。
  3. 在 Feed 名称字段中,输入 Feed 的名称(例如 Tanium Patch logs)。
  4. 选择 Amazon S3 V2 作为来源类型。
  5. 选择 Tanium Patch 作为日志类型。
  6. 点击下一步。
  7. 为以下输入参数指定值:
    • S3 URI:s3://tanium-patch-logs/tanium/patch/
    • 来源删除选项:根据您的偏好选择删除选项。
    • 文件存在时间上限:包含过去指定天数内修改过的文件。默认值为 180 天。
    • 访问密钥 ID:有权访问 S3 存储桶的用户访问密钥。
    • Secret Access Key:有权访问 S3 存储桶的用户 Secret。
    • 资产命名空间:资产命名空间。
    • 注入标签:应用于此 Feed 中事件的标签。
  8. 点击下一步。
  9. 在最终确定界面中查看新的新闻信息流配置,然后点击提交。

UDM 映射表

日志字段 UDM 映射 逻辑
公告 principal.asset.vulnerabilities.vendor_vulnerability_id 该值取自原始日志中“Bulletins”字段,对应于“Title”字段的索引。如果值为“无”,则该字段不会映射。
ComputerName principal.hostname 该值取自原始日志中的“ComputerName”字段。
ComputerName principal.asset.hostname 该值取自原始日志中的“ComputerName”字段。
CVEID principal.asset.vulnerabilities.cve_id 该值取自原始日志中“CVEIDs”字段,对应于“Title”字段的索引。如果值为“无”,则该字段不会映射。
KBArticles principal.asset.vulnerabilities.vendor_knowledge_base_article_id 该值取自原始日志中“KBArticles”字段,对应于“Title”字段的索引。如果值为空,则不会映射该字段。
KBArticles security_result.summary 该值取自原始日志中“KBArticles”字段,对应于“Title”字段的索引。如果值为空,则不会映射该字段。
OSType principal.asset.platform_software.platform 如果值包含“Windows”,则平台设置为“WINDOWS”。如果值包含“Linux”,则平台设置为“LINUX”。如果值包含“Mac”,则平台设置为“MAC”。
严重级别 principal.asset.vulnerabilities.severity 该值取自原始日志中“严重级别”字段,对应于“标题”字段的索引。如果值为“Critical”,则严重级别设置为“HIGH”。如果值为“Important”,则严重级别设置为“MEDIUM”。否则,严重级别会设置为“UNKNOWN_SEVERITY”。
严重级别 principal.asset.vulnerabilities.severity_details 该值取自原始日志中“严重级别”字段,对应于“标题”字段的索引。如果值为“Critical”或“Important”,则严重级别详细信息会设置为原始日志值。
标题 principal.asset.vulnerabilities.name 该值取自原始日志中的“Title”字段。
标题 security_result.description 该值取自原始日志中“InstallStatus”字段对应索引的“Title”字段。如果“InstallStatus”值不是“Installed”,则说明会设为原始日志值。
- metadata.event_timestamp 该值取自原始日志中的“create_time”字段。
- metadata.event_type 该值设置为“SCAN_HOST”。
- metadata.log_type 该值取自原始日志中的“log_type”字段。
- metadata.product_name 该值设置为“Patch”。
- metadata.vendor_name 该值设置为“Tanium”。
- principal.asset.vulnerabilities.vendor 该值设置为“Tanium”。
- security_result.category 该值设置为“DATA_AT_REST”。

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