收集 FortiWeb WAF 日志

支持的语言:

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

如需了解详情,请参阅 Google Security Operations 数据注入概览

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

配置 FortiWeb WAF 日志

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

创建 syslog 政策

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

    • 政策名称字段中,指定要在配置中使用的政策的名称。
    • IP 地址字段中,指定远程 syslog 服务器的 IP 地址或主机名。
    • 端口字段中,指定 syslog 服务器的端口。
    • 如果启用 CSV 格式复选框处于选中状态,请清除该复选框。
  5. 点击确定

启用 syslog 类型和日志级别

  1. Fortinet FortiWeb 控制台中,依次选择 Log & report > Log config > Global log settings
  2. 在随即显示的全局日志设置窗口中,选中 Syslog 复选框,然后执行以下操作:

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

创建触发器

  1. Fortinet FortiWeb 控制台中,依次选择 Log & report > Log policy > Trigger policy
  2. 点击新建 (Create new)。
  3. 在显示的新触发器政策窗口中,执行以下操作:

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

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

配置 Google Security Operations 转发器以注入 FortiWeb WAF 日志

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

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

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

字段映射参考

此解析器以键值 (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 设置为“ALLOW”。如果 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 严重程度值(LOW、HIGH 等)。
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”。

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