收集 Cisco Umbrella Web Proxy 日志
支持的语言:
Google SecOps
SIEM
本文档介绍了如何使用 AWS S3 存储桶将 Cisco Umbrella Web 代理日志收集到 Google Security Operations Feed 中。解析器从 CSV 日志中提取字段,重命名列以提高清晰度,并处理输入数据中可能存在的差异。然后,它会使用包含的文件(umbrella_proxy_udm.include
和 umbrella_handle_identities.include
)将提取的字段映射到 UDM,并根据 identityType
字段处理身份信息。
准备工作
- 确保您拥有 Google SecOps 实例。
- 确保您拥有对 AWS IAM 和 S3 的特权访问权限。
- 确保您拥有对 Cisco Umbrella 的特权访问权限。
配置由 Cisco 管理的 Amazon S3 存储桶
- 登录 Cisco Umbrella 信息中心。
- 前往管理 > 日志管理。
- 选择 Use a Cisco-managed Amazon S3 bucket 选项。
- 提供以下配置详细信息:
- 选择区域:选择离您较近的区域,以缩短延迟时间。
- 选择保留时长:选择时间段。保留时长为 7 天、14 天或 30 天。在所选时间段过后,数据会被删除,且无法恢复。如果您的提取周期规律,请使用较短的时间段。您可以稍后更改保留时长。
- 点击保存。
- 点击继续以确认您的选择,并接收启用通知。
在随即显示的激活完成窗口中,系统会显示访问密钥和密钥值。 - 复制访问密钥和密钥值。如果您丢失了这些密钥,则必须重新生成它们。
- 依次点击知道了 > 继续。
- 系统会显示一个摘要页面,其中包含配置和存储桶名称。您可以根据组织的要求关闭或开启日志记录。不过,系统会根据保留时长清除日志,而不会考虑是否添加了新数据。
可选:为自行管理的 AWS S3 存储桶配置用户访问密钥
- 登录 AWS Management Console。
- 按照以下用户指南创建用户:创建 IAM 用户。
- 选择创建的用户。
- 选择安全凭据标签页。
- 在访问密钥部分中,点击创建访问密钥。
- 选择第三方服务作为使用情形。
- 点击下一步。
- 可选:添加说明标记。
- 点击创建访问密钥。
- 点击 Download CSV file(下载 CSV 文件),保存访问密钥和不公开的访问密钥以供日后使用。
- 点击完成。
- 选择权限标签页。
- 在权限政策部分中,点击添加权限。
- 选择添加权限。
- 选择直接附加政策。
- 搜索并选择 AmazonS3FullAccess 政策。
- 点击下一步。
- 点击添加权限。
可选:配置自行管理的 Amazon S3 存储桶
前往 S3。
点击创建存储分区。
提供以下配置详细信息:
- 存储桶名称:为 Amazon S3 存储桶提供名称。
- 区域:选择一个区域。
点击创建。
可选:为自行管理的 AWS S3 存储桶配置存储桶政策
- 点击新创建的存储桶以将其打开。
- 依次选择属性 > 权限。
- 在权限列表中,点击添加存储桶政策。
按如下方式输入预配置的存储桶政策:
{ "Version": "2008-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::568526795995:user/logs" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::BUCKET_NAME/*" }, { "Sid": "", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::568526795995:user/logs" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::BUCKET_NAME/*"}, { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::568526795995:user/logs" }, "Action": "s3:GetBucketLocation", "Resource": "arn:aws:s3:::BUCKET_NAME" }, { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::568526795995:user/logs" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::BUCKET_NAME" } ] }
- 将
BUCKET_NAME
替换为您提供的 Amazon S3 存储桶名称。
- 将
点击保存。
可选:自行管理的 Amazon S3 存储桶需要进行验证
- 在 Cisco Umbrella 信息中心内,依次选择 Admin > Log management > Amazon S3。
- 在 Bucket name 字段中,指定确切的 Amazon S3 存储桶名称,然后点击 Verify。
- 在验证过程中,系统会将名为
README_FROM_UMBRELLA.txt
的文件从 Cisco Umbrella 上传到您的 Amazon S3 存储桶。您可能需要刷新浏览器才能在上传后看到 README 文件。 - 下载
README_FROM_UMBRELLA.txt
文件,然后使用文本编辑器打开该文件。 - 复制并保存文件中的唯一 Cisco Umbrella 令牌。
- 前往 Cisco Umbrella 信息中心。
- 在令牌编号字段中,指定令牌,然后点击保存。
- 如果验证成功,您的信息中心会显示一条确认消息,表明存储桶已成功通过验证。如果您收到一条错误消息,指出您的存储桶无法验证,请重新检查存储桶名称的语法并检查配置。
在 Google SecOps 中配置 Feed 以注入 Cisco Umbrella Web Proxy 日志
- 依次前往 SIEM 设置> Feed。
- 点击新增。
- 在 Feed 名称字段中,输入 Feed 的名称,例如 Cisco Umbrella Web 代理日志。
- 选择 Amazon S3 V2 作为来源类型。
- 选择 Cisco Umbrella Web 代理作为日志类型。
- 点击下一步。
为以下输入参数指定值:
- S3 URI:存储桶 URI。
s3:/BUCKET_NAME
- 将
BUCKET_NAME
替换为存储桶的实际名称。
- 将
- 来源删除选项:根据您的偏好设置选择删除选项。
- S3 URI:存储桶 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 )。使用 User-Agent 解析库从 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 专业人士那里获得解答。