收集 Cisco Umbrella Web Proxy 日志
解析器版本: 16.0
本文档介绍了如何使用 Amazon S3 将 Cisco Umbrella Web Proxy 日志注入到 Google Security Operations。Cisco Umbrella Web Proxy 为 Web 流量提供完整的网址可见性和控制,充当基于云的安全 Web 网关 (SWG)。Web Proxy 日志捕获 HTTP 和 HTTPS 流量详细信息,包括完整网址、用户身份、内容类型以及通过 Umbrella 智能代理代理的请求的安全判定。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例。
- 拥有对 Cisco Umbrella 信息中心的特权访问权限,并具有 Full Admin 或 Read-Only Admin 角色。
- 拥有对 AWS (S3、IAM)的特权访问权限。
- Cisco Umbrella Secure Internet Gateway (SIG) 或 DNS Security Advantage 许可,且已启用智能代理。
将 Cisco Umbrella 日志导出配置到 Amazon S3
Cisco Umbrella 原生支持将 Web Proxy 日志导出到您管理的 Amazon S3 存储桶。如果您已为 Umbrella DNS 日志配置 S3 日志导出,则可以重复使用相同的 S3 存储桶和 IAM 配置。Umbrella 将代理日志存储在单独的前缀中。
- 登录 Cisco Umbrella 信息中心,网址为
https://dashboard.umbrella.com。 - 依次前往管理 > 日志管理。
- 如果尚未配置 S3 日志导出,请点击使用贵公司管理的 Amazon S3 存储桶 。
- 提供以下配置详细信息:
- 存储桶名称:输入 S3 存储桶的名称(例如
umbrella-logs)。 - 区域:选择存储桶所在的 AWS 区域。
- 存储桶名称:输入 S3 存储桶的名称(例如
- 复制 Umbrella 显示的 AWS 账号 ID 和外部 ID (如果尚未保存)。
- 点击保存 。
为 Google SecOps 配置 AWS S3 存储桶和 IAM
- 按照以下用户指南创建 Amazon S3 存储桶 :创建存储桶
- 保存存储桶的名称 和区域 以供日后参考(例如
umbrella-logs)。 - 按照以下用户指南创建用户:创建 IAM 用户。
- 选择已创建的用户 。
- 选择安全凭据 标签页。
- 在访问密钥 部分中,点击创建访问密钥 。
- 选择第三方服务 作为使用情形 。
- 点击下一步 。
- 可选:添加说明标签。
- 点击创建访问密钥 。
- 点击下载 CSV 文件 ,以保存访问密钥 和私有访问密钥 以供日后参考。
- 点击完成 。
- 选择权限 标签页。
- 在权限政策 部分中,点击添加权限 。
- 选择添加权限 。
- 选择直接附加政策 。
- 搜索 AmazonS3FullAccess 政策。
- 选择该政策。
- 点击下一步 。
- 点击添加权限 。
为 Cisco Umbrella S3 访问配置 IAM 政策和角色
Cisco Umbrella 需要跨账号 IAM 角色才能将日志写入您的 S3 存储桶。
- 在 AWS 控制台中,依次前往 IAM > 政策 > 创建政策 > JSON 标签页。
复制并粘贴以下政策(如果您输入了其他存储桶名称,请替换
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/*" ] } ] }依次点击下一步 > 创建政策。将其命名为
UmbrellaS3WritePolicy。依次前往 IAM > 角色 > 创建角色 > 自定义信任政策。
粘贴以下信任政策,将
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" } } } ] }点击下一步 。
附加
UmbrellaS3WritePolicy政策。将该角色命名为
UmbrellaS3Role,然后点击创建角色 。复制角色 ARN 以在 Umbrella 信息中心中使用。
验证 Cisco Umbrella 日志导出
- 返回 Cisco Umbrella 信息中心。
- 依次前往管理 > 日志管理。
- 输入您创建的 IAM 角色的角色 ARN (如果尚未配置)。
- 点击验证 以确认 Umbrella 可以写入 S3 存储桶。
- 验证成功后,Umbrella 将开始将代理日志导出到 S3 存储桶。
在 Google SecOps 中配置 Feed 以注入 Cisco Umbrella Web Proxy 日志
- 依次前往 SIEM 设置 > Feed。
- 点击 + 添加新 Feed。
- 在 Feed 名称 字段中,输入 Feed 的名称(例如
Cisco Umbrella Web Proxy logs)。 - 选择 Amazon S3 V2 作为来源类型 。
- 选择 Cisco Umbrella Web Proxy 作为日志类型 。
- 点击下一步 。
为以下输入参数指定值:
- S3 URI:
s3://umbrella-logs/proxylogs/ - 来源删除选项:根据您的偏好选择删除选项。
- 最长文件存在时间:包含在过去指定天数内修改的文件。默认值为 180 天。
- 访问密钥 ID:具有 S3 存储桶访问权限的用户访问密钥。
- 私有访问密钥:具有 S3 存储桶访问权限的用户私有密钥。
- 资产命名空间:资产命名空间。
- 提取标签:应用于此 Feed 中事件的标签。
- S3 URI:
点击下一步 。
在最终确定 屏幕中查看新的 Feed 配置,然后点击提交 。
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(或具有 identitiesV8 的 identityTypeV8)表示用户时,派生自 identity 字段。进一步解析以提取用户详细信息,例如显示名称、名字、姓氏和电子邮件地址。从 verdict 字段映射:allowed 或 allowed -> ALLOW,其他值 -> BLOCK。如果 categories 不为空,则设置为 NETWORK_CATEGORIZED_CONTENT。原始日志中的 categories 值。基于 verdict 和其他字段(可能)。 通常为 Traffic allowed 或 Traffic blocked。 如果 verdict 不是 allowed 或 blocked 且存在 statusCode,则摘要为 Traffic %{statusCode}。 |