收集 FortiWeb WAF 日志

支持的平台:

本文档介绍了如何使用 Google 安全运营转发器收集 FortiWeb Web 应用防火墙 (WAF) 日志。

如需了解详情,请参阅将数据提取到 Google 安全运营中心概览

注入标签标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 FORTINET_FORTIWEB 注入标签的解析器。

配置 FortiWeb WAF 日志

如需配置 FortiWeb WAF 将日志发送到 Google Security Operations 转发器,请执行以下操作:

创建 syslog 政策

  1. 登录 Fortinet FortiWeb 控制台。
  2. Fortinet FortiWeb 控制台中,依次选择日志和报告 > 日志政策 > Syslog 政策
  3. 点击新建 (Create new)。
  4. 在随即显示的新建 Syslog 政策窗口中,执行以下操作:

    • 政策名称字段中,为您要在配置中使用的政策指定名称。
    • IP 地址字段中,指定远程 syslog 服务器的 IP 地址或主机名。
    • Port 字段中,指定 syslog 服务器的端口。
    • 清除 Enable CSV format 复选框(如果已选中)。
  5. 点击确定

启用 syslog 类型和日志级别

  1. Fortinet FortiWeb 控制台中,依次选择日志和报告 > 日志配置 > 全局日志设置
  2. 在随即显示的全局日志设置窗口中,选中 Syslog 复选框,然后执行以下操作:

    • Syslog 政策列表中,选择您之前创建的 Syslog 政策。
    • 日志级别列表中,选择要收集的日志的最低严重级别。
    • Facility 列表中,选择日志设施。
  3. 点击应用

创建触发器

  1. Fortinet FortiWeb 控制台中,依次选择日志和报告 > 日志政策 > 触发器政策
  2. 点击新建 (Create new)。
  3. 在随即显示的新建触发器政策窗口中,执行以下操作:

    • 政策名称字段中,为您要在配置中使用的政策指定名称。
    • Syslog 政策列表中,选择您之前创建的 Syslog 政策。
  4. 点击确定

    使用新创建的触发器更新您的 syslog 政策,以确保所有必需事件都记录到 Google Security Operations syslog 转发器。

配置 Google Security Operations 转发器以提取 FortiWeb WAF 日志

  1. 依次前往 SIEM 设置 > 转发器
  2. 点击添加新转发器
  3. 转发器名称字段中,为转发器输入一个唯一的名称。
  4. 点击提交。系统会添加转发器,并显示添加收集器配置窗口。
  5. 收集器名称字段中,输入名称。
  6. 选择 Fortinet Web Application Firewall(Fortinet Web 应用防火墙)作为日志类型
  7. 选择 Syslog 作为收集器类型
  8. 配置以下必需的输入参数:
    • 协议:指定收集器用于监听 syslog 数据的连接协议。
    • 地址:指定收集器所在并监听 syslog 数据的目标 IP 地址或主机名。
    • 端口:指定收集器所在的目标端口,以及收集器监听 syslog 数据的端口。
  9. 点击提交

如需详细了解 Google Security Operations 转发器,请参阅通过 Google Security Operations 界面管理转发器配置

如果您在创建转发器时遇到问题,请与 Google 安全运营支持团队联系。

字段映射参考文档

此解析器以键值 (KV) 格式处理来自 FORTINET FORTIWEB 的日志,并将其转换为 UDM。它可以处理 CEF 和非 CEF 格式的日志,提取字段、标准化值,并根据日志格式将其映射到适当的 UDM 字段。

UDM 映射表

日志字段 UDM 映射 逻辑
action additional.fields[].value.string_value 值会直接映射。
action security_result.action_details 如果 action 为“允许”或“接受”,则 security_result.action_details 会设为“允许”。如果 action 为“Denied”“deny”“block”或“Block”,则 security_result.action_details 会设为“BLOCK”。
app network.application_protocol 值会在转换为大写后直接映射。仅当值为 HTTPS、HTTP、DNS、DHCP、SMB 之一时才有效。
app_name additional.fields[].key 密钥设置为“appName”。
app_name additional.fields[].value.string_value 值会直接映射。
backend_service additional.fields[].key 密钥设置为“backend_service”。
backend_service additional.fields[].value.string_value 值会直接映射。
cat security_result.category_details 值会直接映射。
client_level security_result.category 如果 client_level 为“恶意”,则 security_result.category 会设置为“NETWORK_MALICIOUS”。
cn1 additional.fields[].value.string_value 已映射到 threatWeight 字段。
cn1Label additional.fields[].key 键设置为 cn1Label 值。
cn2 additional.fields[].value.string_value 已映射到长度字段。
cn2Label additional.fields[].key 键设置为 cn2Label 值。
cn3 additional.fields[].value.string_value 已映射到 signatureID 字段。
cn3Label additional.fields[].key 键设置为 cn3Label 值。
cs1 additional.fields[].value.string_value 值会直接映射。
cs1Label additional.fields[].key 键设置为 cs1Label 值。
cs1 principal.user.product_object_id cs1Label 与“userID”(不区分大小写)匹配时,系统会直接映射值。
cs2 additional.fields[].value.string_value 值会直接映射。
cs2Label additional.fields[].key 键设置为 cs2Label 值。
cs2 principal.user.userid 如果 cs2Label 与“userName”(不区分大小写)匹配且 suid 为空,则直接映射值。
cs3 additional.fields[].value.string_value 值会直接映射。
cs3Label additional.fields[].key 键设置为 cs3Label 值。
cs3 metadata.severity cs3Label 为“level”且 cs3 不为空时,系统会直接映射值。
cs4 additional.fields[].value.string_value 已映射到 subType 字段。
cs4Label additional.fields[].key 键设置为 cs4Label 值。
cs5 additional.fields[].value.string_value 已映射到 threatLevel 字段。
cs5Label additional.fields[].key 键设置为 cs5Label 值。
cs6 additional.fields[].value.string_value 已映射到 owaspTop10 字段。
cs6Label additional.fields[].key 键设置为 cs6Label 值。
date metadata.event_timestamp.seconds time 结合使用并解析,以生成从公元纪年起算的秒数。
dev_id principal.resource.id 值会直接映射。
devname principal.resource.name 值会直接映射。
device_event_class_id metadata.product_event_type 用于 CEF 解析。
device_product metadata.product_name 用于 CEF 解析。
device_vendor metadata.vendor_name 用于 CEF 解析。
device_version metadata.product_version 用于 CEF 解析。
dhost target.hostname 值会直接映射。
dpt target.port 值会直接映射并转换为整数。
dst target.ip 值会直接映射。
dst_port target.port 值会直接映射并转换为整数。
dstepid target.process.pid 值会直接映射。
dsteuid target.user.userid 值会直接映射。
event_name metadata.product_event_type 用于 CEF 解析。
http_agent network.http.parsed_user_agent 值会解析为用户代理字符串。
http_method network.http.method 值会直接映射。
http_refer network.http.referral_url 值会直接映射。
http_session_id network.session_id 值会直接映射。
http_url target.url 值会直接映射。
http_version metadata.product_version 值会直接映射。
length additional.fields[].key 键设置为“length”。
length additional.fields[].value.string_value 值会直接映射。
log_type metadata.log_type 已硬编码为“FORTINET_FORTIWEB”。
main_type additional.fields[].key 键设置为“mainType”。
main_type additional.fields[].value.string_value 值会直接映射。
message 各种字段 使用 grok 和 kv 过滤器进行解析,以提取不同的字段。
ml_allow_method additional.fields[].key 键设置为“ml_allow_method”。
ml_allow_method additional.fields[].value.string_value 值会直接映射。
ml_arg_dbid additional.fields[].key 键设置为“ml_arg_dbid”。
ml_arg_dbid additional.fields[].value.string_value 值会直接映射。
ml_domain_index additional.fields[].key 密钥设置为“ml_domain_index”。
ml_domain_index additional.fields[].value.string_value 值会直接映射。
ml_log_arglen additional.fields[].key 密钥设置为“ml_log_arglen”。
ml_log_arglen additional.fields[].value.string_value 值会直接映射。
ml_log_hmm_probability additional.fields[].key 键设置为“ml_log_hmm_probability”。
ml_log_hmm_probability additional.fields[].value.string_value 值会直接映射。
ml_log_sample_arglen_mean additional.fields[].key 键设置为“ml_log_sample_arglen_mean”。
ml_log_sample_arglen_mean additional.fields[].value.string_value 值会直接映射。
ml_log_sample_prob_mean additional.fields[].key 键设置为“ml_log_sample_prob_mean”。
ml_log_sample_prob_mean additional.fields[].value.string_value 值会直接映射。
ml_svm_accuracy additional.fields[].key 键设置为“ml_svm_accuracy”。
ml_svm_accuracy additional.fields[].value.string_value 值会直接映射。
ml_svm_log_main_types additional.fields[].key 键设置为“ml_svm_log_main_types”。
ml_svm_log_main_types additional.fields[].value.string_value 值会直接映射。
ml_svm_log_match_types additional.fields[].key 键设置为“ml_svm_log_match_types”。
ml_svm_log_match_types additional.fields[].value.string_value 值会直接映射。
ml_url_dbid additional.fields[].key 键设置为“ml_url_dbid”。
ml_url_dbid additional.fields[].value.string_value 值会直接映射。
monitor_status additional.fields[].key 密钥设置为“monitor_status”。
monitor_status additional.fields[].value.string_value 值会直接映射。
msg metadata.description 值会直接映射。
owasp_top10 additional.fields[].key 键设置为“owaspTop10”。
owasp_top10 additional.fields[].value.string_value 值会直接映射。
principal_app principal.application 值会直接映射。
principal_host principal.hostname 值会直接映射。
proto network.ip_protocol 值会在转换为大写后直接映射。
request target.url 值会直接映射。
requestMethod network.http.method 值会直接映射。
rt metadata.event_timestamp.seconds 解析为自公元纪年以来的毫秒数,并转换为秒。
security_result.severity security_result.severity 派生自 severity_level。根据原始日志值映射到不同的 UDM 严重性值。如果未找到任何匹配项,则默认为 UNKNOWN_SEVERITY
server_pool_name additional.fields[].key 键设置为“server_pool_name”。
server_pool_name additional.fields[].value.string_value 值会直接映射。
service network.application_protocol 值会在转换为大写后直接映射。
service target.application 如果值不是 HTTPS、HTTP、DNS、DHCP 或 SMB 之一,则会在转换为大写后直接映射。
severity security_result.severity 如果 severity 为空且 cs3Label 为“level”,则使用 cs3 的值。然后映射到 UDM 严重程度值(低、高等)。
signature_id security_result.rule_id 值会直接映射。
signature_subclass security_result.detection_fields[].key 密钥设置为“signature_subclass”。
signature_subclass security_result.detection_fields[].value 值会直接映射。
src principal.ip 值会直接映射。
src_country principal.location.country_or_region 值会直接映射。
src_ip principal.ip 值会直接映射。
src_port principal.port 值会直接映射并转换为整数。
srccountry principal.location.country_or_region 值会直接映射。
sub_type additional.fields[].key 键设置为“subType”。
sub_type additional.fields[].value.string_value 值会直接映射。
subtype target.resource.resource_subtype 值会直接映射。
suid principal.user.userid 值会直接映射。
threat_level additional.fields[].key 密钥设置为“threatLevel”。
threat_level additional.fields[].value.string_value 值会直接映射。
threat_weight security_result.detection_fields[].key 键设置为“threat_weight”。
threat_weight security_result.detection_fields[].value 值会直接映射。
time metadata.event_timestamp.seconds date 结合使用并解析,以生成从公元纪年起算的秒数。
user_id principal.user.product_object_id 值会直接映射。
user_name additional.fields[].key 键设置为“userName”。
user_name additional.fields[].value.string_value 值会直接映射。
user_name principal.user.userid 值会直接映射。
不适用 metadata.event_type 如果同时存在 principal.iptarget.ip,请将其设置为“NETWORK_CONNECTION”。如果存在 principal.ipprincipal.user,则设置为“USER_UNCATEGORIZED”。如果仅存在 principal.ip,则设置为“STATUS_UPDATE”。否则,请设置为“GENERIC_EVENT”。
不适用 metadata.log_type 已硬编码为“FORTINET_FORTIWEB”。
不适用 metadata.product_name 根据日志格式硬编码为“FORTINET FORTIWEB”或“FortiWEB Cloud”。
不适用 metadata.vendor_name 根据日志格式硬编码为“FORTINET”或“Fortinet”。
不适用 principal.resource.resource_type 如果存在 dev_id,则硬编码为“DEVICE”。

变化

2024-01-09

  • 添加了对 CEF 格式日志的支持。
  • 添加了 Grok 模式,以匹配新格式的 CEF 日志。
  • 将“principal_hostnamne”映射到“principal.hostname”。
  • 将“principal.app”映射到“principal.application”。

2023-05-18

  • 新创建的解析器。

需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。