收集 Cisco Umbrella Web Proxy 日志

解析器版本:16.0

支持范围:

本文档介绍了如何使用 Amazon S3 将 Cisco Umbrella Web Proxy 日志注入 Google Security Operations。Cisco Umbrella Web Proxy 可作为基于云的安全 Web 网关 (SWG),提供对 Web 流量的完整网址可见性和控制。Web 代理日志会捕获 HTTP 和 HTTPS 流量详细信息,包括通过 Umbrella 智能代理进行代理的请求的完整网址、用户身份、内容类型和安全判定。

准备工作

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

  • Google SecOps 实例。
  • 拥有 Cisco Umbrella 信息中心的特权访问权限,并具有“完整管理员”或“只读管理员”角色。
  • 对 AWS(S3、IAM)的特权访问权限。
  • Cisco Umbrella Secure Internet Gateway (SIG) 或 DNS Security Advantage 许可,且已启用智能代理。

配置 Cisco Umbrella 日志导出到 Amazon S3

Cisco Umbrella 原生支持将 Web 代理日志导出到您管理的 Amazon S3 存储桶。如果您已为 Umbrella DNS 日志配置了 S3 日志导出,则可以重复使用相同的 S3 存储桶和 IAM 配置。Umbrella 会将代理日志存储在单独的前缀中。

  1. 登录 Cisco Umbrella 信息中心(网址为 https://dashboard.umbrella.com)。
  2. 前往管理 > 日志管理。
  3. 如果尚未配置 S3 日志导出,请点击使用公司管理的 Amazon S3 存储桶。
  4. 提供以下配置详细信息:
    • 存储桶名称:输入 S3 存储桶的名称(例如 umbrella-logs)。
    • 区域:选择存储桶所在的 AWS 区域。
  5. 复制 Umbrella 显示的 AWS 账号 ID 和外部 ID(如果尚未保存)。
  6. 点击保存。

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

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

为 Cisco Umbrella S3 访问权限配置 IAM 政策和角色

Cisco Umbrella 需要跨账号 IAM 角色才能将日志写入 S3 存储桶。

  1. 在 AWS 控制台中,依次前往 IAM > Policies(政策)> Create policy(创建政策)> JSON 标签页。
  2. 复制并粘贴以下政策(如果您输入了其他存储桶名称,请替换 umbrella-logs):

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "AllowUmbrellaPutObjects",
          "Effect": "Allow",
          "Action": [
            "s3:PutObject",
            "s3:GetBucketLocation"
          ],
          "Resource": [
            "arn:aws:s3:::umbrella-logs",
            "arn:aws:s3:::umbrella-logs/*"
          ]
        }
      ]
    }
    
  3. 依次点击下一步 > 创建政策。将该文件命名为 UmbrellaS3WritePolicy。

  4. 依次前往 IAM > Roles(角色)> Create role(创建角色)> Custom trust policy(自定义信任政策)。

  5. 粘贴以下信任政策,并将 UMBRELLA_AWS_ACCOUNT_ID 和 UMBRELLA_EXTERNAL_ID 替换为从 Umbrella 信息中心复制的值:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::UMBRELLA_AWS_ACCOUNT_ID:root"
          },
          "Action": "sts:AssumeRole",
          "Condition": {
            "StringEquals": {
              "sts:ExternalId": "UMBRELLA_EXTERNAL_ID"
            }
          }
        }
      ]
    }
    
  6. 点击下一步。

  7. 附加 UmbrellaS3WritePolicy 政策。

  8. 将角色命名为 UmbrellaS3Role,然后点击创建角色。

  9. 复制角色 ARN,以便在 Umbrella 信息中心内使用。

验证 Cisco Umbrella 日志导出

  1. 返回 Cisco Umbrella 信息中心。
  2. 前往管理 > 日志管理。
  3. 输入您创建的 IAM 角色的角色 ARN(如果尚未配置)。
  4. 点击验证,确认 Umbrella 可以写入 S3 存储桶。
  5. 验证成功后,Umbrella 将开始将代理日志导出到 S3 存储桶。

在 Google SecOps 中配置 Feed 以注入 Cisco Umbrella Web Proxy 日志

  1. 依次前往设置 > 数据管理 > Feed。如果您使用的是仅 SIEM 平台,请依次前往设置 > Feed。
  2. 点击 + 添加新 Feed。
  3. 在 Feed 名称字段中,输入 Feed 的名称(例如 Cisco Umbrella Web Proxy logs)。
  4. 选择 Amazon S3 V2 作为来源类型。
  5. 选择 Cisco Umbrella Web Proxy 作为日志类型。
  6. 点击下一步。
  7. 为以下输入参数指定值:

    • S3 URI:s3://umbrella-logs/proxylogs/
    • 来源删除选项:根据您的偏好选择删除选项。
    • 文件存在时间上限:包含过去指定天数内修改过的文件。默认值为 180 天。
    • 访问密钥 ID:有权访问 S3 存储桶的用户访问密钥。
    • Secret Access Key:有权访问 S3 存储桶的用户 Secret。
    • 资产命名空间:资产命名空间。
    • 注入标签:应用于此 Feed 中事件的标签。
  8. 点击下一步。

  9. 在最终确定界面中查看新的新闻信息流配置,然后点击提交。

UDM 映射表

日志字段 UDM 映射 逻辑
ampDisposition security_result.detection_fields[].value 原始日志中 ampDisposition 的值。
ampMalware security_result.detection_fields[].value 原始日志中 ampMalware 的值。
ampScore security_result.detection_fields[].value 原始日志中 ampScore 的值。
avDetections security_result.detection_fields[].value 原始日志中 avDetections 的值。
blockedCategories security_result.threat_name 原始日志中 blockedCategories 的值。
certificateErrors security_result.detection_fields[].value 原始日志中 certificateErrors 的值。
contentType security_result.detection_fields[].value 原始日志中 contentType 的值。
destinationIp target.ip 原始日志中 destinationIp 的值。
destinationListID security_result.detection_fields[].value 原始日志中 destinationListID 的值。
dlpstatus security_result.detection_fields[].value 原始日志中 dlpstatus 的值。
externalIp principal.ip 原始日志中 externalIp 的值。
fileAction security_result.detection_fields[].value 原始日志中 fileAction 的值。
fileName target.file.names 原始日志中 fileName 的值。
identitiesV8 principal.hostname 原始日志中 identitiesV8 的值。
identity principal.location.name 原始日志中 identity 的值。
internalIp principal.ip 原始日志中 internalIp 的值。
isolateAction security_result.detection_fields[].value 原始日志中 isolateAction 的值。
referer network.http.referral_url 原始日志中 referer 的值。
requestMethod network.http.method 原始日志中 requestMethod 的值。
requestSize security_result.detection_fields[].value 原始日志中 requestSize 的值。
responseBodySize security_result.detection_fields[].value 原始日志中 responseBodySize 的值。
responseSize security_result.detection_fields[].value 原始日志中 responseSize 的值。
ruleID security_result.rule_id 原始日志中 ruleID 的值。
rulesetID security_result.detection_fields[].value 原始日志中 rulesetID 的值。
sha security_result.about.file.sha256 原始日志中 sha 的值。
statusCode network.http.response_code 原始日志中 statusCode 的值。
ts timestamp 原始日志中 ts 的值,解析为时间戳。
url target.url 原始日志中 url 的值。
userAgent network.http.user_agent 原始日志中 userAgent 的值。
verdict security_result.detection_fields[].value 原始日志中 verdict 的值。
warnstatus security_result.detection_fields[].value 原始日志中 warnstatus 的值。原始日志中 collection_time 的值。硬编码为 NETWORK_HTTP。硬编码为 Cisco。硬编码为 Umbrella。硬编码为 UMBRELLA_WEBPROXY。派生自网址字段的架构(http 或 https)。使用用户代理解析库从 userAgent 字段解析。原始日志中 requestSize 的值,已转换为整数。原始日志中 responseSize 的值,已转换为整数。当 identityType(或 identityTypeV8 值为 identitiesV8)表示用户时,派生自 identity 字段。进一步解析以提取用户详细信息,例如显示名称、名字、姓氏和邮箱。从 verdict 字段映射:allowed 或 allowed -> ALLOW,其他值 -> BLOCK。如果 categories 不为空,则设置为 NETWORK_CATEGORIZED_CONTENT。原始日志中 categories 的值。基于 verdict 以及其他可能存在的字段。通常为 Traffic allowed 或 Traffic blocked。如果 verdict 不是 allowed 或 blocked,并且 statusCode 存在,则摘要为 Traffic %{statusCode}。

更新日志

查看此解析器的更新日志

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