收集 Cato Networks 日志
支持的语言:
Google SecOps
SIEM
本文档介绍了如何使用 AWS S3 将 Cato Networks 日志注入到 Google Security Operations。解析器首先将一组字段初始化为空字符串,然后解析 JSON 格式的 Cato Networks 日志。然后,它会将提取的字段映射到 Google SecOps 统一数据模型 (UDM) 模型中的相应字段,处理不同的事件类型,并使用其他上下文来丰富数据。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- 对 AWS S3、AWS IAM 的特权访问权限
- 对 Cato Networks 的特权访问权限
配置 AWS IAM 和 S3 存储分区
- 按照以下用户指南创建 Amazon S3 存储桶:创建存储桶
- 保存相应存储桶的名称和区域,以供日后参考。
- 按照以下用户指南创建用户:创建 IAM 用户。
- 选择创建的用户。
- 选择安全凭据标签页。
- 在访问密钥部分中,点击创建访问密钥。
- 选择第三方服务作为使用情形。
- 点击下一步。
- 可选:添加说明标记。
- 点击创建访问密钥。
- 点击下载 CSV 文件,保存访问密钥和秘密访问密钥,以供日后参考。
- 点击完成。
- 选择权限标签页。
- 在权限政策部分中,点击添加权限。
- 选择添加权限。
- 选择直接附加政策。
- 搜索 AmazonS3FullAccess 政策,然后选择该政策。
- 点击下一步。
- 点击添加权限。
为 S3 存储分区配置新的 IAM 政策,以启用数据上传
- 在 Policy 中,点击 JSON 标签页。
修改以下 JSON,将
<bucket name>
替换为您的 S3 存储桶,然后将其粘贴到相应标签页中。{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::<bucket name>" ] }, { "Sid": "", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<bucket name>/*" ] } ] }
点击创建政策。
使用 Cato 的 ARN 配置新的 IAM 角色
在选择可信实体界面中,选择自定义信任政策,然后将 Cato 的 ARN 添加到该角色:arn:aws:iam::428465470022:role/cato-events-integration
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::428465470022:role/cato-events-integration" }, "Action": "sts:AssumeRole" } ] }
点击下一步。
在添加权限界面中,将您之前创建的政策附加到相应角色。
点击下一步。
输入角色名称,然后点击创建角色。
配置 Cato Networks 事件和 S3 集成
- 登录 Cato Networks 网页界面。
- 前往资源 > 事件集成。
- 点击启用与 Cato 事件的集成。
- 点击 New(新建)。
- 提供以下配置详细信息:
- 输入集成的名称。
- 存储桶名称:S3 存储桶的相同名称。
- 文件夹:S3 存储桶中文件夹路径的相同名称(如有必要)。
- 区域:与 S3 存储桶相同的区域。
- 角色 ARN:复制并粘贴 S3 存储桶所用角色的 ARN。
- (可选)为上传到 S3 存储桶的事件定义过滤条件设置(如果您定义了多个过滤条件,则这些过滤条件之间是 AND 关系,系统会上传符合所有过滤条件的事件)。
- 点击应用。
设置 Feed
您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:
- SIEM 设置 > Feed
内容中心 > 内容包
通过“SIEM 设置”>“Feed”设置 Feed
如需配置 Feed,请按以下步骤操作:
- 依次前往 SIEM 设置> Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在Feed 名称字段中,输入 Feed 的名称(例如
Cato Logs
)。 - 选择 Amazon S3 作为来源类型。
- 选择 Cato Networks 作为日志类型。
- 点击下一步。
为以下输入参数指定值:
- 区域:Amazon S3 存储桶所在的区域。
- S3 URI:存储桶 URI(格式应为:
s3://<your-log-bucket-name>
)。 请替换以下内容:your-log-bucket-name
:相应存储桶的名称。
- URI is a(URI 是):选择目录或目录(包括子目录)。
- 来源删除选项:根据您的偏好设置选择删除选项。
- 访问密钥 ID:有权访问 S3 存储桶的用户访问密钥。
- 私有访问密钥:有权访问 S3 存储桶的用户的私有密钥。
点击下一步。
在最终确定界面中查看新的 Feed 配置,然后点击提交。
设置来自内容中心的 Feed
为以下字段指定值:
区域:Amazon S3 存储桶所在的区域。
- S3 URI:存储桶 URI(格式应为:
s3://<your-log-bucket-name>
)。 请替换以下内容:your-log-bucket-name
:相应存储桶的名称。
- URI is a(URI 是):选择目录或目录(包括子目录)。
- 来源删除选项:根据您的偏好设置选择删除选项。
- 访问密钥 ID:有权访问 S3 存储桶的用户访问密钥。
- 私有访问密钥:有权访问 S3 存储桶的用户的私有密钥。
- S3 URI:存储桶 URI(格式应为:
高级选项
- Feed 名称:用于标识 Feed 的预填充值。
- 来源类型:用于将日志收集到 Google SecOps 中的方法。
- 资源命名空间:与 Feed 关联的命名空间。
- 提取标签:应用于相应 Feed 中所有事件的标签。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
account_id | target.user.userid | 此字段的值取自 account_id 字段。 |
操作 | additional.fields.value.string_value | 此字段的值取自 action 字段。 |
app_stack | additional.fields.value.list_value.values.string_value | 此字段的值取自 app_stack 字段。 |
应用 | principal.application | 此字段的值取自 application 字段。 |
categories | additional.fields.value.list_value.values.string_value | 此字段的值取自 categories 字段。 |
clientIP | principal.ip、principal.asset.ip | 此字段的值取自 clientIP 字段。 |
creationTime | 此字段用于计算事件时间戳。 | |
custom_categories | additional.fields.value.list_value.values.string_value | 此字段的值取自 custom_categories 字段。 |
dest_country | target.location.country_or_region | 此字段的值取自 dest_country 字段。 |
dest_country_code | target.resource.attribute.labels.value | 此字段的值取自 dest_country_code 字段。 |
dest_ip | target.ip、target.asset.ip | 此字段的值取自 dest_ip 字段。 |
dest_port | target.port | 此字段的值取自 dest_port 字段。 |
destinationCountry | target.location.country_or_region | 此字段的值取自 destinationCountry 字段。 |
destinationIp | target.ip、target.asset.ip | 此字段的值取自 destinationIp 字段。 |
destinationName | target.hostname、target.asset.hostname | 此字段的值取自 destinationName 字段。 |
device_name | network.dhcp.client_hostname | 此字段的值取自 device_name 字段。 |
dns_name | additional.fields.value.string_value | 此字段的值取自 dns_name 字段。 |
event_count | additional.fields.value.string_value | 此字段的值取自 event_count 字段。 |
event_sub_type | metadata.description | 此字段的值取自 event_sub_type 字段。 |
fieldsMap.ISP_name | additional.fields.value.string_value | 此字段的值取自 fieldsMap.ISP_name 字段。 |
fieldsMap.action | security_result.action_details | 此字段的值取自 fieldsMap.action 字段。 |
fieldsMap.categories | security_result.category_details | 此字段的值取自 fieldsMap.categories 字段。 |
fieldsMap.dest_country | target.location.country_or_region | 此字段的值取自 fieldsMap.dest_country 字段。 |
fieldsMap.dest_ip | target.ip、target.asset.ip | 此字段的值取自 fieldsMap.dest_ip 字段。 |
fieldsMap.dest_port | principal.port | 此字段的值取自 fieldsMap.dest_port 字段。 |
fieldsMap.domain_name | principal.administrative_domain | 此字段的值取自 fieldsMap.domain_name 字段。 |
fieldsMap.event_sub_type | metadata.description | 此字段的值取自 fieldsMap.event_sub_type 字段。 |
fieldsMap.event_type | metadata.product_event_type | 此字段的值取自 fieldsMap.event_type 字段。 |
fieldsMap.ip_protocol | network.ip_protocol | 此字段的值取自 fieldsMap.ip_protocol 字段。 |
fieldsMap.os_type | 此字段用于确定主账号的操作系统。 | |
fieldsMap.pop_name | additional.fields.value.string_value | 此字段的值取自 fieldsMap.pop_name 字段。 |
fieldsMap.rule_id | security_result.rule_id | 此字段的值取自 fieldsMap.rule_id 字段。 |
fieldsMap.rule_name | security_result.rule_name | 此字段的值取自 fieldsMap.rule_name 字段。 |
fieldsMap.src_ip | principal.ip、principal.asset.ip | 此字段的值取自 fieldsMap.src_ip 字段。 |
fieldsMap.src_isp_ip | src.ip、src.asset.ip | 此字段的值取自 fieldsMap.src_isp_ip 字段。 |
fieldsMap.time | 此字段用于计算事件时间戳。 | |
file_hash | target.file.sha256 | 此字段的值取自 file_hash 字段。 |
file_name | target.file.full_path | 此字段的值取自 file_name 字段。 |
file_size | target.file.size | 此字段的值取自 file_size 字段。 |
http_host_name | principal.hostname、principal.asset.hostname | 此字段的值取自 http_host_name 字段。 |
insertionDate | additional.fields.value.string_value | 此字段的值取自 insertionDate 字段。 |
internalId | additional.fields.value.string_value | 此字段的值取自 internalId 字段。 |
ip_protocol | network.ip_protocol | 此字段的值取自 ip_protocol 字段。 |
is_sanctioned_app | security_result.detection_fields.value | 此字段的值取自 is_sanctioned_app 字段。 |
os_type | principal.platform | 此字段的值取自 os_type 字段。 |
pop_name | 此字段用于填充 fieldsMap.pop_name 字段。 |
|
prettyType | metadata.product_event_type | 此字段的值取自 prettyType 字段。 |
规则 | additional.fields.value.string_value | 此字段的值取自 rule 字段。 |
rule_id | security_result.rule_id | 此字段的值取自 rule_id 字段。 |
rule_name | security_result.rule_name | 此字段的值取自 rule_name 字段。 |
server_port | target.port | 此字段的值取自 server_port 字段。 |
和程度上减少 | security_result.severity_details | 此字段的值取自 severity 字段。 |
sourceCountry | principal.location.country_or_region | 此字段的值取自 sourceCountry 字段。 |
sourceInternalIp | principal.ip | 此字段的值取自 sourceInternalIp 字段。 |
sourceIp | src.ip、src.asset.ip | 此字段的值取自 sourceIp 字段。 |
sourceName | principal.user.user_display_name | 此字段的值取自 sourceName 字段。 |
体育 | principal.port | 此字段的值取自 sport 字段。 |
src_country | 此字段用于填充 sourceCountry 字段。 |
|
src_country_code | principal.resource.attribute.labels.value | 此字段的值取自 src_country_code 字段。 |
src_ip | principal.ip、principal.asset.ip | 此字段的值取自 src_ip 字段。 |
src_is_site_or_vpn | security_result.detection_fields.value | 此字段的值取自 src_is_site_or_vpn 字段。 |
src_isp_ip | src.ip、src.asset.ip | 此字段的值取自 src_isp_ip 字段。 |
src_site | additional.fields.value.string_value | 此字段的值取自 src_site 字段。 |
src_site_name | additional.fields.value.string_value | 此字段的值取自 src_site_name 字段。 |
start | 此字段用于计算事件时间戳。 | |
subnet_name | additional.fields.value.string_value | 此字段的值取自 subnet_name 字段。 |
时间 | 此字段用于计算事件时间戳。 | |
time_str | 此字段用于计算事件时间戳。 | |
tunnel_host_logon_names | principal.user.userid | 此字段的值取自 tunnel_host_logon_names 字段。 |
网址 | target.url | 此字段的值取自 url 字段。 |
user_id | principal.user.userid | 此字段的值取自 user_id 字段。 |
metadata.event_type | 此字段的值设置为 GENERIC_EVENT ,可以根据事件替换为 NETWORK_CONNECTION 、NETWORK_DHCP 或 NETWORK_HTTP 。 |
|
metadata.log_type | 此字段的值设置为 CATO_NETWORKS 。 |
|
metadata.product_name | 此字段的值设置为 SASE 。 |
|
metadata.vendor_name | 此字段的值设置为 Cato Networks 。 |
|
network.application_protocol | 对于 Connected 事件,此字段的值设置为 DHCP 。 |
|
network.dhcp.chaddr | 对于 Connected 事件,此字段的值设置为 01:23:45:ab:cd:ef 。 |
|
network.dhcp.lease_time_seconds | 对于 Connected 事件,此字段的值设置为 86400 。 |
|
network.dhcp.opcode | 对于 Connected 事件,此字段的值设置为 BOOTREPLY 。 |
|
network.dhcp.type | 对于 Connected 事件,此字段的值设置为 ACK 。 |
|
network.direction | 对于 Anti Malware 和 URL Filtering 事件,此字段的值设置为 OUTBOUND 。 |
|
security_result.action | 如果 action 字段不是 BLOCK ,则此字段的值设置为 ALLOW ;否则,此字段的值设置为 BLOCK 。 |
|
event_type | metadata.description | 此字段的值取自 event_type 字段。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。