收集 Tanium Comply 日志

支持的平台:

本文档介绍了如何使用 Tanium Connect 的原生 S3 导出功能,通过 Amazon S3 将 Tanium Comply 日志注入到 Google Security Operations。解析器会将 JSON 日志数据转换为统一数据模型 (UDM)。它会提取关键漏洞信息(例如 CVE ID、CVSS 分数、受影响的 IP 地址和时间戳),然后将其重构为标准化的 UDM 格式,以便进行一致的安全分析。

准备工作

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

  • Google SecOps 实例
  • 对 Tanium Connect 和 Tanium Console 的特权访问权限
  • 已安装并配置 Tanium Comply 2.1 或更高版本
  • 对 AWS(S3、IAM)的特权访问权限

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

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

配置 Amazon S3 存储桶的权限

  1. 在 Amazon S3 控制台中,选择您之前创建的存储桶。
  2. 依次点击权限 > 存储桶政策。
  3. 在存储桶政策编辑器中,添加以下政策:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::YOUR_ACCOUNT_ID:user/tanium-connect-s3-user"
          },
          "Action": [
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:GetObject",
            "s3:ListBucket"
          ],
          "Resource": [
            "arn:aws:s3:::tanium-comply-logs",
            "arn:aws:s3:::tanium-comply-logs/*"
          ]
        }
      ]
    }
    
  4. 执行以下变量替换操作:

    • 将 YOUR_ACCOUNT_ID 更改为您的 AWS 账号 ID。
    • 如果不同,请将 tanium-comply-logs 更改为您的实际存储桶名称。
    • 如果您的实际 IAM 用户名不同,请将 tanium-connect-s3-user 更改为您的实际 IAM 用户名。
  5. 点击保存。

配置 Tanium Connect 以导出到 S3

  1. 以管理员身份登录 Tanium 控制台。
  2. 依次前往 Tanium Connect > Connections。
  3. 点击 Create Connection。
  4. 在常规信息部分,提供以下配置详细信息:
    • 名称:输入一个描述性名称(例如 Tanium Comply to S3)。
    • 说明:输入有意义的说明(例如 Export Tanium Comply findings to S3 for Google SecOps ingestion)。
    • 启用:选择以启用连接。
    • 日志级别:选择信息(默认),或根据需要进行调整。
  5. 在配置部分中,针对来源,选择 Tanium Comply(发现)。

  6. 配置 Comply 来源设置:

    • 发现结果类型:选择要导出的发现结果类型(全部、合规性或漏洞)。
    • 包含已解决的发现结果:选择是否包含已解决的发现结果。
    • 计算机组:选择要纳入导出范围的计算机组(默认:所有计算机)。
  7. 对于目标平台,选择 AWS S3。

  8. 提供以下配置详细信息:

    • 目标名称:输入一个名称(例如 Google SecOps S3 Bucket)。
    • AWS 访问密钥:输入之前创建的 IAM 用户的访问密钥 ID。
    • AWS Secret Key:输入之前创建的 IAM 用户的私有访问密钥。
    • 存储桶名称:输入您的 S3 存储桶名称(例如 tanium-comply-logs)。
    • 存储桶路径:可选。输入路径前缀(例如 tanium/comply/)。
    • 区域:选择存储桶所在的 AWS 区域(例如 us-east-1)。
  9. 在格式部分中,配置输出格式:

    • 格式类型:选择 JSON。
    • 包含列标题:选择是否要包含列标题。
    • 生成文档:取消选中此选项可发送原始 JSON 数据。
  10. 可选:在配置输出部分中,根据需要配置过滤条件和自定义列。

  11. 在时间表部分,配置连接的运行时间:

    • 调度类型:选择 Cron。
    • Cron 表达式:输入定期导出的 cron 表达式(例如,0 */4 * * * 表示每 4 小时导出一次)。
    • 开始日期:设置安排的开始日期。
  12. 点击保存更改。

  13. 在 Connect 概览页面中,前往连接。

  14. 点击您创建的连接 (Tanium Comply to S3)。

  15. 点击立即运行以测试连接。

  16. 确认您要运行连接。

  17. 监控连接状态,并验证合规性调查结果是否正在导出到您的 S3 存储桶。

可选:为 Google SecOps 创建只读 IAM 用户和密钥

  1. 依次前往 AWS 控制台 > IAM > 用户 > 添加用户。
  2. 点击 Add users(添加用户)。
  3. 提供以下配置详细信息:
    • 用户:输入 secops-reader。
    • 访问权限类型:选择访问密钥 - 以程序化方式访问。
  4. 点击创建用户。
  5. 附加最低限度的读取政策(自定义):依次点击用户 > secops-reader > 权限 > 添加权限 > 直接附加政策 > 创建政策。
  6. 在 JSON 编辑器中,输入以下政策:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": ["s3:GetObject"],
          "Resource": "arn:aws:s3:::tanium-comply-logs/*"
        },
        {
          "Effect": "Allow",
          "Action": ["s3:ListBucket"],
          "Resource": "arn:aws:s3:::tanium-comply-logs"
        }
      ]
    }
    
  7. 将名称设置为 secops-reader-policy。

  8. 依次前往创建政策 > 搜索/选择 > 下一步 > 添加权限。

  9. 依次前往安全凭据> 访问密钥> 创建访问密钥。

  10. 下载 CSV(这些值会输入到 Feed 中)。

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

  1. 前往 SIEM 设置 > Feed。
  2. 点击 + 添加新 Feed。
  3. 在 Feed 名称字段中,输入 Feed 的名称(例如 Tanium Comply logs)。
  4. 选择 Amazon S3 V2 作为来源类型。
  5. 选择 Tanium Comply 作为日志类型。
  6. 点击下一步。
  7. 为以下输入参数指定值:
    • S3 URI:s3://tanium-comply-logs/tanium/comply/(如果您使用了其他存储桶名称或路径,请调整路径)。
    • 源删除选项:根据您的偏好选择删除选项。
    • 文件存在时间上限:包含在过去指定天数内修改过的文件。默认值为 180 天。
    • 访问密钥 ID:具有 S3 存储桶访问权限的用户访问密钥(来自上面创建的拥有只读权限的用户)。
    • 私有访问密钥:具有 S3 存储桶访问权限的用户私有密钥(来自上面创建的拥有只读权限的用户)。
    • 资源命名空间:资源命名空间。
    • 注入标签:要应用于此 Feed 中事件的标签。
  8. 点击下一步。
  9. 在最终确定界面中查看新的 Feed 配置,然后点击提交。

UDM 映射表

日志字段 UDM 映射 逻辑
计算机名称 entity.entity.asset.hostname 直接从“计算机名称”字段映射,并将空格替换为下划线。
CVE entity.entity.asset.vulnerabilities.cve_id 直接从“CVE”字段映射。
CVSS v3 评分 entity.entity.asset.vulnerabilities.cvss_base_score 直接从“CVSS v3 Score”字段映射,更名为 cvss_base_score。
CVSS v3 严重程度 entity.entity.asset.vulnerabilities.severity_details 直接从“CVSS v3 严重程度”字段映射。
CVSS v3 向量 entity.entity.asset.vulnerabilities.cvss_vector 直接从“CVSS v3 Vector”字段映射。
首次发现日期 entity.entity.asset.vulnerabilities.first_found 从“首次发现日期”字段解析并转换为 RFC 3339 UTC 格式。如果日期包含“-”,则会附加“T00:00:00Z”。否则,系统会使用 grok 提取日期,然后进行转换。
IP 地址 entity.entity.asset.ip “IP 地址”数组中的每个 IP 地址都会映射到 UDM 中的单独“ip”字段。
上次发现日期 entity.entity.asset.vulnerabilities.last_found 从“上次发现日期”字段解析并转换为 RFC 3339 UTC 格式。如果日期包含“-”,则会附加“T00:00:00Z”。否则,系统会使用 grok 提取日期,然后进行转换。
标题 entity.entity.asset.vulnerabilities.name 直接从“标题”字段映射。
collection_time.nanos entity.metadata.collected_timestamp.nanos 直接从“collection_time.nanos”字段映射。
collection_time.seconds entity.metadata.collected_timestamp.seconds 直接从“collection_time.seconds”字段映射。
时间 entity.metadata.interval.start_time 从“time”字段解析并转换为 RFC 3339 世界协调时间 (UTC) 格式。
- entity.metadata.entity_type 设置为“ASSET”。
- entity.metadata.product_entity_id 设置为“Tanium: ”与“computerName”字段的值串联而成。
- entity.metadata.product_name 设置为“符合”。
- entity.metadata.vendor_name 设置为“Tanium”。

更新日志

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

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