收集 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 文件。(保存访问密钥和Secret 访问密钥,以备日后参考)。
  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 存储桶的用户访问密钥。
    • 密钥:有权访问 S3 存储桶的用户密钥。
    • Content Type(内容类型):选择 plain/text。
  5. 点击保存。

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

设置 Feed

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

  1. 依次前往设置 > 数据管理 > Feed。如果您使用的是仅 SIEM 平台,请依次前往设置 > Feed。
  2. 点击添加新新闻信息流。
  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 存储桶的用户访问密钥。

    • Secret Access Key:有权访问 S3 存储桶的用户 Secret。

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

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

  9. 点击下一步。

  10. 在最终确定界面中查看新的新闻信息流配置,然后点击提交。

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 如果 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 字段确定。设置为 ALLOW 或 BLOCK。

更新日志

查看此解析器的更新日志

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