收集 Tanium Comply 日志

支持的语言:

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

准备工作

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

  • Google SecOps 实例
  • Tanium ConnectTanium 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 更改为您的实际存储桶名称。
    • 如果不同,请将 tanium-connect-s3-user 更改为您的实际 IAM 用户名。
  5. 点击保存

配置 Tanium Connect 以导出到 S3

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

  6. 配置 Comply 来源设置:

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

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

    • 目标名称:输入一个名称(例如 Google SecOps S3 Bucket)。
    • AWS 访问密钥:输入之前创建的 IAM 用户的访问密钥 ID。
    • AWS 密钥:输入之前创建的 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 URIs3://tanium-comply-logs/tanium/comply/(如果您使用了其他存储桶名称或路径,请调整路径)。
    • 来源删除选项:根据您的偏好设置选择删除选项。
    • 文件存在时间上限:包含在过去指定天数内修改的文件。默认值为 180 天。
    • 访问密钥 ID:具有 S3 存储桶访问权限的用户访问密钥(来自上面创建的只读用户)。
    • Secret Access Key:具有 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 设置为“Comply”。
- entity.metadata.vendor_name 设置为“Tanium”。

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