收集 Azion 防火墙日志

解析器版本: 1.0

支持:

此解析器会从 Azion 防火墙 JSON 日志中提取字段,执行数据类型转换和扩充(例如,用户代理解析),并将提取的字段映射到 UDM。它会根据正文机器和目标机器是否存在生成 NETWORK_HTTPSCAN_UNCATEGORIZEDGENERIC_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. 点击 + Stream
  3. 为以下参数指定值:
    • 名称:提供一个唯一且具有描述性的名称,以标识数据流。
    • 来源:选择要从中收集数据的来源。
    • 模板:特定来源的变量预设或用于选择变量的开放式模板。您可以选择过滤网域。
  4. 目标 部分中,依次点击连接器 > Simple Storage Service (S3)
    • 网址:存储桶 URI。 s3:/BUCKET_NAME。 替换以下内容:
      • BUCKET_NAME:存储桶的名称。
    • 存储桶名称:对象将发送到的存储桶的名称。
    • 区域:存储桶所在的区域。
    • 访问密钥:具有对 s3 存储桶的访问权限的用户访问密钥。
    • 密钥:具有对 s3 存储桶的访问权限的用户密钥。
    • 内容类型:选择纯文本。
  5. 点击保存

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

设置 Feed

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

  1. 依次前往 SIEM 设置 > Feed
  2. 点击 Add New Feed (添加新 Feed)。
  3. 在下一页上,点击 Configure a single feed (配置单个 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 使用 parseduseragent 过滤条件从 http_user_agent 字段解析。
read_only_udm.event_type 由解析器根据是否存在 principaltarget 信息确定。可以是 NETWORK_HTTPSCAN_UNCATEGORIZEDGENERIC_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.ipread_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_blockblocked 字段确定。设置为 ALLOWBLOCK

更新日志

查看此解析器的更新日志

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