收集 Azion 防火墙日志

解析器版本:1.0

支持:

此解析器从 Azion 防火墙 JSON 日志中提取字段,执行数据类型转换和丰富(例如,用户代理解析),并将提取的字段映射到 UDM。它会根据是否存在主体和目标机器,生成 NETWORK_HTTP、SCAN_UNCATEGORIZED 或 GENERIC_EVENT 事件。它还会处理与 WAF 相关的字段和操作,并将它们映射到 UDM 安全结果字段。

准备工作

确保您满足以下前提条件:

  • Google SecOps 实例。
  • 对 AWS IAM 和 S3 的特权访问权限。
  • 对有效 Azion 账号的特权访问权限。

配置 Amazon S3 存储桶

  1. 按照以下用户指南创建 Amazon S3 存储桶:创建存储桶。
  2. 保存存储桶名称和区域以供日后参考。
  3. 按照以下用户指南创建用户:创建 IAM 用户。
  4. 选择创建的用户。
  5. 选择安全凭据标签页。
  6. 在访问密钥部分中,点击创建访问密钥。
  7. 选择第三方服务作为应用场景。
  8. 点击下一步。
  9. 可选:添加说明标记。
  10. 点击创建访问密钥。
  11. 点击下载 .csv 文件。(保存访问密钥和私有访问密钥以供日后参考)。
  12. 点击完成。
  13. 选择权限标签页。
  14. 在权限政策部分中,点击添加权限。
  15. 选择添加权限。
  16. 选择直接附加政策。
  17. 搜索 AmazonS3FullAccess 政策。
  18. 选择相应政策。
  19. 点击下一步。
  20. 点击添加权限。

配置 Azion,以便将日志持续传送到 Amazon S3

  1. 在 Azion 控制台中,前往 DataStream 部分。
  2. 点击 + 数据流。
  3. 为以下参数指定值:
    • 名称:提供一个具有描述性的唯一名称,用于标识数据流。
    • 来源:选择要从中收集数据的来源。
    • 模板:针对特定来源的预设变量,或用于选择变量的开放式模板。您可以选择过滤网域。
  4. 在目标平台部分,依次点击连接器 > Simple Storage Service (S3)。
    • 网址:存储桶 URI。 s3:/BUCKET_NAME。 替换以下内容:
      • BUCKET_NAME:相应存储桶的名称。
    • 存储桶名称:对象将发送到的存储桶的名称。
    • 区域:存储桶所在的区域。
    • 访问密钥:具有 S3 存储桶访问权限的用户访问密钥。
    • Secret 密钥:有权访问 S3 存储桶的用户 Secret 密钥。
    • 内容类型:选择纯文本。
  5. 点击保存。

如需了解详情,请参阅如何使用 Amazon S3 接收来自数据流的数据

设置 Feed

如需配置 Feed,请按以下步骤操作:

  1. 前往 SIEM 设置 > Feed。
  2. 点击添加新 Feed。
  3. 在下一页上,点击配置单个 Feed。
  4. 在 Feed 名称字段中,输入 Feed 的名称(例如 Azion Logs)。
  5. 选择 Amazon S3 V2 作为来源类型。
  6. 选择 Azion 作为日志类型。
  7. 点击下一步。
  8. 为以下输入参数指定值:

    • S3 URI:存储桶 URI。 s3:/BUCKET_NAME。 替换以下内容:

      • BUCKET_NAME:相应存储桶的名称。
    • 源删除选项:根据您的偏好选择删除选项。

    • 文件存在时间上限:包含过去指定天数内修改过的文件。默认值为 180 天。 注意:如果您选择删除已转移的文件或删除已转移的文件和空目录选项,请确保您已向服务账号授予适当的权限。

    • 访问密钥 ID:有权访问 S3 存储桶的用户访问密钥。

    • 私有访问密钥:有权访问 S3 存储桶的用户密钥。

    • 资产命名空间:资产命名空间。

    • 注入标签:要应用于此 Feed 中事件的标签。

  9. 点击下一步。

  10. 在最终确定界面中查看新的 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 使用 http_user_agent 过滤条件从 parseduseragent 字段解析。
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 如果不存在 requestPath,则直接从 request_uri 字段映射。
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 字段确定。设置为 ALLOW 或 BLOCK。

更新日志

查看此解析器的更新日志

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。