收集 Cisco Umbrella IP 日志
解析器版本:8.0
本文档介绍了如何使用 Amazon S3 将 Cisco Umbrella IP 日志注入到 Google Security Operations。
Cisco Umbrella 是一项云交付的安全服务,可提供第一道防线来抵御互联网上的威胁。IP(云防火墙)日志会捕获由 Umbrella 网络隧道处理的网络流量,包括源 IP 地址和目标 IP 地址、端口、协议、采取的操作以及关联的身份。这些日志每 10 分钟会以 gzip 压缩的 CSV 文件格式导出到 Amazon S3。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- 对 Cisco Umbrella 控制台的特权访问权限(管理员角色)
- 对 AWS(S3、IAM)的特权访问权限
将 Cisco Umbrella 日志导出配置到 S3
如需将 Cisco Umbrella 配置为将 IP 日志导出到 S3,请执行以下操作:
- 登录 Umbrella 信息中心 (https://dashboard.umbrella.com)
- 前往管理 > 日志管理。
- 在日志管理页面中,找到 Amazon S3 部分。
- 点击添加以配置 S3 导出。
在 Amazon S3 配置对话框中,选择以下选项之一:
- Cisco 管理的 S3 存储桶:Cisco 会为您创建和管理 S3 存储桶。Cisco 提供 AWS 凭据以访问相应存储桶。
- 客户管理的 S3 存储桶:您需要提供自己的 S3 存储桶详细信息和 AWS 凭据。
在本指南中,请选择 Cisco 管理的 S3 存储分区(建议选择此选项,以便更轻松地完成设置)。
在日志类型部分中,选中 IP 日志(Cloud 防火墙日志)对应的复选框。
您还可以根据需要选择其他日志类型:
- DNS 日志
- 代理日志
- 入侵防御日志
- Cloud Data Loss Prevention 日志
在数据中心下拉菜单中,选择离您最近的 AWS 区域,或选择所有数据中心以导出所有区域的日志。
点击保存。
保存后,Umbrella 会显示 AWS 凭据部分,其中包含以下信息:
- S3 存储分区名称(例如
umbrella-logs-1234567890) - S3 路径(例如
2024-01-15/) - AWS 访问密钥 ID
- AWS Secret Access Key
- AWS 区域
- S3 存储分区名称(例如
点击 Download Credentials(下载凭据),将这些凭据保存为 CSV 文件,以供日后参考。
为 Google SecOps 配置 AWS S3 存储桶和 IAM
如果您在上一部分中选择了 Cisco-managed S3 Bucket,Cisco 已创建 S3 存储桶并提供了 AWS 凭据。您可以跳到下方的“在 Google SecOps 中配置 Feed”部分。
如果您选择了客户管理的 S3 存储分区,请按以下步骤操作:
- 按照以下用户指南创建 Amazon S3 存储桶:创建存储桶。
- 保存存储桶名称和区域以供日后参考(例如
umbrella-logs-custom)。 - 按照以下用户指南创建用户:创建 IAM 用户。
- 选择创建的用户。
- 选择安全凭据标签页。
- 在访问密钥部分中,点击创建访问密钥。
- 选择第三方服务作为使用情形。
- 点击下一步。
- 可选:添加说明标记。
- 点击创建访问密钥。
- 点击下载 .csv 文件以保存访问密钥和密钥,供日后参考。
- 点击完成。
- 选择权限标签页。
- 在权限政策部分中,点击添加权限。
- 选择添加权限。
- 选择直接附加政策。
- 搜索 AmazonS3FullAccess 政策。
- 选择相应政策。
- 点击下一步。
- 点击添加权限。
配置 Cisco Umbrella 客户管理的 S3 存储桶连接
如果您选择了 Cisco 管理的 S3 存储分区,请跳过此部分。
如果您选择了客户管理的 S3 存储分区,请按以下步骤操作:
- 在日志管理页面(继续执行“将 Cisco Umbrella 日志导出到 S3”部分中的操作)中,您应该会看到 Amazon S3 配置对话框。
在客户管理的 S3 存储分区部分中,输入以下内容:
- S3 存储桶名称:输入您创建的存储桶名称(例如
umbrella-logs-custom)。 - S3 路径(可选):输入用于整理日志的前缀(例如
umbrella-ip-logs/)。 - AWS 访问密钥 ID:输入 AWS 配置的第 11 步中的访问密钥。
- AWS 私有访问密钥:输入 AWS 配置的第 11 步中的密钥。
- AWS 区域:从下拉菜单中选择与您的 S3 存储桶匹配的区域。
- S3 存储桶名称:输入您创建的存储桶名称(例如
在日志类型部分中,选中 IP 日志(Cloud 防火墙日志)对应的复选框。
点击测试连接按钮。
等待测试完成。系统应会显示绿色对勾标记和“连接成功”消息。
点击保存。
在日志管理页面上,验证 Amazon S3 部分是否显示状态:有效,以及上次导出是否显示最近的时间戳。
在 Google SecOps 中配置 Feed 以注入 Cisco Umbrella IP 日志
- 依次前往 SIEM 设置 > Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 为Feed 名称输入一个唯一名称(例如
Umbrella IP Logs)。 - 选择 Amazon S3 V2 作为来源类型。
- 选择 Umbrella IP 作为日志类型。
- 点击下一步,然后点击提交。
为以下字段指定值:
S3 URI:输入 S3 URI,格式为:
s3://<bucket-name>/<path>/- 对于 Cisco 管理的存储桶:使用“将 Cisco Umbrella 日志导出到 S3”的第 11 步中的 S3 存储桶名称和 S3 路径(例如
s3://umbrella-logs-1234567890/2024-01-15/)。 - 对于客户管理的存储桶:请使用您的存储桶名称和路径(例如
s3://umbrella-logs-custom/umbrella-ip-logs/)。
- 对于 Cisco 管理的存储桶:使用“将 Cisco Umbrella 日志导出到 S3”的第 11 步中的 S3 存储桶名称和 S3 路径(例如
源删除选项:选择不删除已转移的文件(建议保留 S3 中的日志)。
文件存在时间上限:包含在过去指定天数内修改的文件(默认值为 180 天)。
访问密钥 ID:输入“将 Cisco Umbrella 日志导出到 S3”的第 11 步(对于 Cisco 管理的存储桶)或 AWS 配置的第 11 步(对于客户管理的存储桶)中的 AWS 访问密钥 ID。
私有访问密钥:输入“将 Cisco Umbrella 日志导出到 S3”的第 11 步(对于 Cisco 管理的存储桶)或 AWS 配置的第 11 步中的 AWS 私有访问密钥。
资产命名空间:资产命名空间。
注入标签:要应用于此 Feed 中事件的标签(例如
UMBRELLA_IP)。
点击下一步,然后点击提交。
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
| query_name | about.labels | 从 query_name_label 合并(键:DNS 查找类型,值:query_name) |
| response_code | additional.fields | 从 dns_return_message 合并(键:dns_return_message,值:response_code) |
| 应用 | 中介 | 从 intermediary.application 合并 |
| categories | metadata.description | 如果存在类别,则设置为类别的值;否则设置为“已发出 DNS 请求并收到响应”。 |
| metadata.event_type | 对于 IP 日志,设置为 NETWORK_CONNECTION;如果存在 destip 和内部/外部,则设置为 NETWORK_HTTP;如果存在正文但没有目标,则设置为 STATUS_UPDATE;否则设置为 GENERIC_EVENT;对于 DNS 日志,设置为 NETWORK_DNS | |
| metadata.product_name | 对于代理日志,请设置为“Cisco Umbrella”;对于 IP 日志,请设置为“Cisco Umbrella IP 层强制执行” | |
| metadata.vendor_name | 对于代理日志,请设置为“Cisco”;对于 IP 日志,请设置为“Cisco Systems, Inc” | |
| appProto、网址 | network.application_protocol | 使用 grok 模式从网址中提取、转换为大写或设置为 DNS(对于 DNS 日志) |
| 问题 | network.dns.questions | 从问题合并(名称来自网域,类型来自 query_type) |
| response_code | network.dns.response_code | 使用枚举映射从 response_code 转换为整数 |
| requestMethod | network.http.method | 来自 requestMethod 的值,大写 |
| userAgent | network.http.parsed_user_agent | 从 userAgent 转换为 parseduseragent |
| 引荐来源网址 | network.http.referral_url | 直接复制值 |
| statusCode | network.http.response_code | 转换为整数 |
| userAgent | network.http.user_agent | 直接复制值 |
| network.ip_protocol | 设置为“TCP” | |
| responseSize | network.received_bytes | 已转换为 uinteger |
| requestSize | network.sent_bytes | 已转换为 uinteger |
| identity | principal.hostname | 直接复制值 |
| internal_ip、external_ip、source_ip | principal.ip | 如果 internal_ip 是有效的 IP,则使用该值;否则,如果 external_ip 与 internalIp 不同且是有效的 IP,则使用该值;否则,使用 source_ip |
| source_port | principal.port | 转换为整数 |
| sha | security_result.about.file.sha256 | 直接复制值 |
| sec_action、action、security_result_action | security_result.action | 如果类别不为空,则设置为 BLOCK;否则,根据操作设置为 ALLOW/BLOCK;或者,根据 security_result_action 设置为 ALLOW/BLOCK |
| sec_category、category、security_category | security_result.category | 如果类别为“未经授权的 IP 隧道访问”,则设置为 ACL_VIOLATION;如果类别为“恶意软件”,则设置为 SOFTWARE_MALICIOUS;否则,如果类别为“网络可疑”或“网络分类内容”,则设置为 NETWORK_SUSPICIOUS;如果类别为“网络恶意”或“网络可疑”,则根据 DNS 中的类别设置为 NETWORK_MALICIOUS/NETWORK_SUSPICIOUS |
| categories | security_result.category_details | 从类别转换为数组 |
| responseBodySize、avDetections、puas、ampDisposition、ampMalware、ampScore、certificateErrors、destinationListID、isolateAction、fileAction、warnstatus、dlpstatus、contentType、verdict、rulesetID | security_result.detection_fields | 从根据每个字段(键:字段名称,值:字段值)创建的各种标签合并而来 |
| ruleID | security_result.rule_id | 直接复制值 |
| 判决、contentType、dlpstatus | security_result.summary | 如果判决结果为允许/禁止,则设置为“流量 %{verdict}”;如果存在 contentType,则设置为“流量 %{contentType}”;如果 dlpstatus 为允许/禁止,则设置为“流量 %{dlpstatus}”;如果为禁止,则设置为“流量被屏蔽 - %{blockedCategories}” |
| blockedCategories | security_result.threat_name | 直接复制值 |
| temp_filename | target.file.names | 从 temp_filename(fileName 的值)合并 |
| destination_ip | target.ip | 直接复制值 |
| destination_port | target.port | 转换为整数 |
| 网址 | target.url | 直接复制值 |
column3 |
event.idm.read_only_udm.principal.resource.attribute.labels |
从变更日志映射 |
column4 |
event.idm.read_only_udm.additional.fields |
从变更日志映射 |
column5 |
event.idm.read_only_udm.additional.fields |
从变更日志映射 |
column11 |
event.idm.read_only_udm.network.ip_protocol |
从变更日志映射 |
column15 |
event.idm.read_only_udm.target.ip和event.idm.read_only_udm.target.asset.ip之间 |
从变更日志映射 |
column22 |
event.idm.read_only_udm.security_result.rule_name |
从变更日志映射 |
column13 |
event.idm.read_only_udm.principal.ip和event.idm.read_only_udm.principal.asset.ip之间 |
从变更日志映射 |
更新日志
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。