收集 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 会将代理日志存储在单独的前缀中。
- 登录 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 > Policies(政策)> Create policy(创建政策)> 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 > Roles(角色)> Create role(创建角色)> Custom trust policy(自定义信任政策)。
粘贴以下信任政策,并将
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 日志
- 依次前往设置 > 数据管理 > Feed。如果您使用的是仅 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 存储桶的用户访问密钥。
- Secret Access Key:有权访问 S3 存储桶的用户 Secret。
- 资产命名空间:资产命名空间。
- 注入标签:应用于此 Feed 中事件的标签。
- S3 URI:
点击下一步。
在最终确定界面中查看新的新闻信息流配置,然后点击提交。
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 专业人士的解答。