收集 Tanium Discover 日志

支持范围:

本文档介绍了如何使用 Tanium Connect 的原生 S3 导出功能,通过 Amazon S3 将 Tanium Discover 日志注入到 Google Security Operations。Tanium Discover 会自动发现您环境中的网络接口和资产,让您能够了解受管和不受管端点、网络设备以及其他连接的系统。解析器会从 JSON 日志中提取字段,转换 MAC 地址和操作系统信息等特定字段,并将其映射到 UDM。它会处理各种数据类型,添加供应商和商品详情等元数据,并将提取的字段合并到最终的 UDM 事件结构中。

准备工作

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

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

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

  1. 按照以下用户指南创建 Amazon S3 存储桶:创建存储桶
  2. 保存存储桶名称和区域(例如 tanium-discover-logs),以供日后参考。
  3. 按照以下用户指南创建用户:创建 IAM 用户。
  4. 选择创建的用户。
  5. 选择安全凭证标签页。
  6. 点击访问密钥部分中的创建访问密钥。
  7. 选择第三方服务作为用例。
  8. 点击下一步。
  9. 可选:添加说明标记。
  10. 点击创建访问密钥。
  11. 点击下载 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-discover-logs",
            "arn:aws:s3:::tanium-discover-logs/*"
          ]
        }
      ]
    }
    
  4. 执行以下变量替换操作:

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

配置 Tanium Connect 以进行 S3 导出

  1. 以管理员身份登录 Tanium 控制台。
  2. 依次前往 Tanium Connect > Connections。
  3. 点击 Create Connection。
  4. 在常规信息部分中,提供以下配置详细信息:
    • 名称:输入一个描述性名称(例如 Tanium Discover to S3)。
    • 说明:输入有意义的说明(例如 Export Tanium Discover interface data to S3 for Google SecOps ingestion)。
    • 启用:选择此选项可启用连接。
    • Log Level:选择 Information(默认)或根据需要进行调整。
  5. 在配置部分的来源中,选择 Tanium Discover。
  6. 配置 Discover 来源设置:
    • 报告类型:选择要导出的接口类型:
      • 全部:导出“探索”中的所有接口。
      • 受管:导出已安装 Tanium 客户端的接口。
      • 非受管:导出未安装 Tanium 客户端的接口。
      • 已加标签:导出所有已应用标签的接口。
      • 未加标签:未应用任何标签的导出接口。
      • Ignored:导出标记为已忽略的接口。
      • 无法管理:标记为无法管理的导出接口。
  7. 对于目标,选择 AWS S3。
  8. 提供以下配置详细信息:
    • 目标名称:输入一个名称(例如 Google SecOps S3 Bucket)。
    • AWS 访问密钥:输入之前创建的 IAM 用户的访问密钥 ID。
    • AWS 密钥:输入之前创建的 IAM 用户的私有访问密钥。
    • 存储桶名称:输入您的 S3 存储桶名称(例如 tanium-discover-logs)。
    • 存储桶路径:可选。输入路径前缀(例如 tanium/discover/)。
    • 区域:选择存储桶所在的 AWS 区域(例如 us-east-1)。
  9. 在格式部分中,配置输出格式:
    • 格式类型:选择 JSON。
    • 包含列标题:如果您希望包含列标题,请选择此选项。
    • 生成文档:取消选择此选项可发送原始 JSON 数据。
  10. 可选:在配置输出部分中,配置过滤条件:
    • 过滤条件:您可以使用过滤条件导出特定标签。例如,如果您想导出所有标记为“Lost Interface”的接口,请应用正则表达式过滤条件,并在“Labels”目标列中输入“Lost Interface”作为要匹配的文本。
    • 自定义列:添加与您的应用场景相关的任何自定义列。
  11. 在时间表部分,配置连接的运行时间:
    • 时间表类型:选择 Cron。
    • Cron 表达式:输入用于定期导出的 cron 表达式(例如,0 */6 * * * 表示每 6 小时导出一次)。
    • 开始日期:设置时间表的开始日期。
  12. 点击保存更改。
  13. 在 Connect 概览页面中,前往连接。
  14. 点击您创建的连接 (Tanium Discover to S3)。
  15. 点击立即运行以测试连接。
  16. 确认您要运行连接。
  17. 监控连接状态,并验证“探索”界面数据是否正在导出到您的 S3 存储桶。

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

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

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

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

  9. 依次前往 Security credentials(安全凭证)> Access keys(访问密钥)> Create access key(创建访问密钥)。

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

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

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

UDM 映射表

日志字段 UDM 映射 逻辑
CentralizedNmap principal.asset.attribute.labels.key 值“CentralizedNmap”由解析器分配。
CentralizedNmap principal.asset.attribute.labels.value 直接取自原始日志中的 CentralizedNmap 字段,并转换为字符串。
IpAddress principal.asset.ip 直接取自原始日志中的 IpAddress 字段。
IpAddress principal.ip 直接取自原始日志中的 IpAddress 字段。
Labels principal.asset.attribute.labels.key 值“Labels”由解析器分配。
Labels principal.asset.attribute.labels.value 直接取自原始日志中的 Labels 字段。
MacAddress principal.asset.mac 直接取自原始日志中的 MacAddress 字段,连字符替换为冒号,值转换为小写。
MacAddress principal.asset.product_object_id 将“TANIUM:”与 MacAddress 字段串联(在将其转换为小写并将连字符替换为冒号后)。
MacAddress principal.mac 直接取自原始日志中的 MacAddress 字段,连字符替换为冒号,值转换为小写。
MacOrganization principal.asset.attribute.labels.key 值“MacOrganization”由解析器分配。
MacOrganization principal.asset.attribute.labels.value 直接取自原始日志中的 MacOrganization 字段,并转换为字符串。
Managed principal.asset.attribute.labels.key 值“Managed”由解析器分配。
Managed principal.asset.attribute.labels.value 直接取自原始日志中的 Managed 字段,并转换为字符串。
Os principal.asset.platform_software.platform 如果 Os 为“Windows”,则该值设置为“WINDOWS”。如果 Os 为“Linux”,则该值设置为“LINUX”。否则,该值会设置为“UNKNOWN_PLATFORM”。
Os principal.platform 如果 Os 为“Windows”,则该值设置为“WINDOWS”。如果 Os 为“Linux”,则该值设置为“LINUX”。否则,该值会设置为“UNKNOWN_PLATFORM”。
OsGeneration principal.asset.platform_software.platform_version 直接取自原始日志中的 OsGeneration 字段,并转换为字符串。
OsGeneration principal.platform_version 直接取自原始日志中的 OsGeneration 字段,并转换为字符串。
Ports principal.asset.attribute.labels.key 值“Ports”由解析器分配。
Ports principal.asset.attribute.labels.value 直接取自原始日志中的 Ports 字段。
Profile principal.asset.attribute.labels.key 值“Profile”由解析器分配。
Profile principal.asset.attribute.labels.value 直接取自原始日志中的 Profile 字段。
TaniumComputerId principal.asset.attribute.labels.key 值“TaniumComputerId”由解析器分配。
TaniumComputerId principal.asset.attribute.labels.value 直接取自原始日志中的 TaniumComputerId 字段,并转换为字符串。
Unmanageable principal.asset.attribute.labels.key “无法管理”值由解析器分配。
Unmanageable principal.asset.attribute.labels.value 直接从原始日志中的 Unmanageable 字段获取并转换为字符串。取自原始日志中的 time 字段,经过解析并转换为纪元秒。值“SCAN_NETWORK”由解析器分配。值“TANIUM_DISCOVER”由解析器分配。值“探索”由解析器分配。值“Tanium”由解析器分配。直接取自原始日志中的 HostName 字段。取自原始日志中的 time 字段,经过解析并转换为纪元秒数。

更新日志

查看此解析器的更新日志

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