收集 Azion 防火墙日志
支持的平台:
Google SecOps
SIEM
概览
此解析器会从 Azion 防火墙 JSON 日志中提取字段,执行数据类型转换和丰富(例如,用户代理解析),并将提取的字段映射到 UDM。它会根据主机和目标机器的存在情况生成 NETWORK_HTTP、SCAN_UNCATEGORIZED 或 GENERIC_EVENT 事件。它还会处理与 WAF 相关的字段和操作,并将其映射到 UDM 安全结果字段。
准备工作
- 确保您拥有 Google SecOps 实例。
- 确保您拥有对 AWS IAM 和 S3 的超级用户访问权限。
- 确保您对有效的 Azion 账号拥有特权访问权限。
配置 Amazon S3 存储分区
- 按照以下用户指南创建 Amazon S3 存储分区:创建存储分区。
- 保存存储分区的名称和区域,以备日后参考。
- 按照以下用户指南创建用户:创建 IAM 用户。
- 选择创建的用户。
- 选择安全凭据标签页。
- 点击访问密钥部分中的创建访问密钥。
- 选择第三方服务作为用例。
- 点击下一步。
- 可选:添加说明标记。
- 点击创建访问密钥。
- 点击下载 .csv 文件。(请保存访问密钥和私有访问密钥,以备日后参考)。
- 点击完成。
- 选择权限标签页。
- 在权限政策部分中,点击添加权限。
- 选择添加权限。
- 选择直接附加政策。
- 搜索 AmazonS3FullAccess 政策。
- 选择相应政策。
- 点击下一步。
- 点击添加权限。
配置 Azion 以将日志持续传送到 Amazon S3
- 在 Azion 控制台中,前往 DataStream 部分。
- 点击 + 直播。
- 为以下参数指定值:
- 名称:提供一个具有描述性的唯一名称来标识数据流。
- 来源:选择要从中收集数据的来源。
- 模板:特定来源的预设变量,或用于选择变量的开放式模板。您可以选择过滤网域。
- 在目的地部分,依次点击连接器 > Simple Storage Service (S3)。
- 网址:存储分区 URI。
s3:/BUCKET_NAME
。 替换以下内容:BUCKET_NAME
:存储分区的名称。
- 存储分区名称:要将对象发送到的存储分区的名称。
- 区域:存储分区所在的区域。
- 访问密钥:具有对 S3 存储分区访问权限的用户访问密钥。
- 密钥:具有对 S3 存储分区访问权限的用户密钥。
- 内容类型:选择纯文本。
- 网址:存储分区 URI。
- 点击保存。
如需了解详情,请参阅如何使用 Amazon S3 接收来自数据流的数据
在 Google SecOps 中配置 Feed 以提取 Azion 日志
- 依次前往 SIEM 设置 > Feed。
- 点击新增。
- 在Feed 名称字段中,输入 Feed 的名称(例如 Azion 日志)。
- 选择 Amazon S3 作为来源类型。
- 选择 Azion 作为日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- 区域:Amazon S3 存储分区所在的区域。
- S3 URI:存储分区 URI。
s3:/BUCKET_NAME
。 替换以下内容:BUCKET_NAME
:存储分区的名称。
- URI 是:根据日志流配置选择 URI 类型(单个文件 | 目录 | 包含子目录的目录)。
- 来源删除选项:根据您的偏好选择删除选项。
- 访问密钥 ID:有权访问 S3 存储分区的用户访问密钥。
- 私有访问密钥:有权访问 S3 存储分区的用户私钥。
- 资源命名空间:资源命名空间。
- 提取标签:要应用于此 Feed 中的事件的标签。
- 点击下一步。
- 在最终确定界面中查看新的 Feed 配置,然后点击提交。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
asn |
read_only_udm.network.asn |
直接从 asn 字段映射。 |
bytes_sent |
read_only_udm.network.sent_bytes |
直接从 bytes_sent 字段映射,转换为无符号整数。 |
country |
read_only_udm.principal.location.country_or_region |
直接从 country 字段映射。 |
host |
read_only_udm.principal.hostname |
直接从 host 字段映射。 |
http_referer |
read_only_udm.network.http.referral_url |
直接从 http_referer 字段映射。 |
http_user_agent |
read_only_udm.network.http.user_agent |
直接从 http_user_agent 字段映射。 |
http_user_agent |
read_only_udm.network.http.parsed_user_agent |
使用 parseduseragent 过滤器从 http_user_agent 字段解析出。 |
read_only_udm.event_type |
由解析器根据 principal 和 target 信息的存在情况确定。可以是 NETWORK_HTTP、SCAN_UNCATEGORIZED 或 GENERIC_EVENT。 |
|
read_only_udm.metadata.product_name |
已硬编码为 "AZION"。 | |
read_only_udm.metadata.vendor_name |
已硬编码为 "AZION"。 | |
read_only_udm.metadata.product_version |
已硬编码为 "AZION"。 | |
remote_addr |
read_only_udm.principal.ip |
直接从 remote_addr 字段映射。 |
remote_port |
read_only_udm.principal.port |
直接从 remote_port 字段映射,并转换为整数。 |
requestPath |
read_only_udm.target.url |
如果不存在 request_uri ,则直接从 requestPath 字段映射。 |
request_method |
read_only_udm.network.http.method |
直接从 request_method 字段映射,并转换为大写形式。 |
request_time |
read_only_udm.additional.fields |
作为键值对添加到 additional.fields 数组,键为 "request_time",值来自 request_time 字段。 |
request_uri |
read_only_udm.target.url |
直接从 request_uri 字段(如果有)映射而来。 |
server_addr |
read_only_udm.target.ip |
直接从 server_addr 字段映射。 |
server_port |
read_only_udm.target.port |
直接从 server_port 字段映射,并转换为整数。 |
ssl_cipher |
read_only_udm.network.tls.cipher |
直接从 ssl_cipher 字段映射。 |
ssl_protocol |
read_only_udm.network.tls.version_protocol |
直接从 ssl_protocol 字段映射。 |
ssl_server_name |
read_only_udm.network.tls.client.server_name |
直接从 ssl_server_name 字段映射。 |
state |
read_only_udm.principal.location.state |
直接从 state 字段映射。 |
status |
read_only_udm.network.http.response_code |
直接从 status 字段映射,并转换为整数。 |
time |
read_only_udm.metadata.event_timestamp |
使用日期过滤条件和多种日期格式从 time 字段解析得出。 |
upstream_addr |
read_only_udm.intermediary.ip 、read_only_udm.intermediary.port |
使用 grok 从 upstream_addr 字段中提取,并拆分为 IP 地址和端口。 |
upstream_status |
read_only_udm.additional.fields |
作为键值对添加到 additional.fields 数组,键为 "upstream_status",值来自 upstream_status 字段。 |
waf_args |
read_only_udm.security_result.detection_fields |
作为键值对添加到 security_result.detection_fields 数组。 |
waf_attack_action |
read_only_udm.security_result.detection_fields |
作为键值对添加到 security_result.detection_fields 数组。 |
waf_attack_family |
read_only_udm.security_result.detection_fields |
作为键值对添加到 security_result.detection_fields 数组。 |
waf_headers |
read_only_udm.security_result.detection_fields |
作为键值对添加到 security_result.detection_fields 数组。 |
waf_learning |
read_only_udm.security_result.detection_fields |
作为键值对添加到 security_result.detection_fields 数组。 |
waf_match |
read_only_udm.security_result.detection_fields |
作为键值对添加到 security_result.detection_fields 数组。 |
waf_score |
read_only_udm.security_result.detection_fields |
作为键值对添加到 security_result.detection_fields 数组。 |
waf_server |
read_only_udm.security_result.detection_fields |
作为键值对添加到 security_result.detection_fields 数组。 |
waf_total_blocked |
read_only_udm.security_result.detection_fields |
作为键值对添加到 security_result.detection_fields 数组。 |
waf_total_processed |
read_only_udm.security_result.detection_fields |
作为键值对添加到 security_result.detection_fields 数组。 |
waf_uri |
read_only_udm.security_result.detection_fields |
作为键值对添加到 security_result.detection_fields 数组。 |
read_only_udm.security_result.action |
由解析器根据 waf_block 或 blocked 字段确定。设置为允许或禁止。 |
变化
2023-09-30
- 新创建的解析器。
需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。