本文介绍了WAF日志中包含的专有字段的说明。

字段检索表

下表描述了WAF日志支持的专有字段。您可以通过字段名称检索您需要了解的字段。

首字母 字段
a
b
c
d
f final相关字段:final_action | final_plugin | final_rule_id | final_rule_type
h
i intelligence相关字段:intelligence_action | intelligence_rule_id | intelligence_test
m 匹配到的已接入WAF防护的域名字段:matched_host
n normalied相关字段:normalized_action | normalized_rule_id | normalized_rule_type | normalized_test
q 查询字符串字段:querystring
r
s
t 客户端请求发起时间字段:time
u
w

下表描述了WAF支持的所有防护动作(action)。

防护动作(action) 说明
block 表示拦截,即WAF拦截客户端请求并向客户端返回405页面。
captcha_strict 表示严格滑块验证,即WAF向客户端返回滑动验证页面。如果客户端成功执行滑动验证,则WAF放行本次请求,否则拦截请求。严格滑块验证模式下,客户端的每次请求都需要验证。
captcha 表示普通滑块验证,即WAF向客户端返回滑动验证页面。如果客户端成功执行滑动验证,则WAF在一段时间(默认30分钟)内放行该客户端的所有请求(不需要重复验证),否则拦截请求。
sigchl 表示动态令牌验证,即Web端请求加签。客户端发送请求时经过了WAF下发的webSDK针对请求进行加签保护,并将签名随请求上报。如果加签验签正常,则该请求直接回源,否则会返回一段动态令牌执行代码要求客户端重新加签请求。
js 表示JS验证,即WAF向客户端返回一段正常浏览器可以自动执行的JS代码。如果客户端正常执行了JS代码,则WAF在一段时间(默认30分钟)内放行该客户端的所有请求(不需要重复验证),否则拦截请求。
pass 表示放行,即WAF将客户端请求转发到源站服务器进行处理。
captcha_strict_pass 表示客户端通过了严格滑块验证,WAF放行客户端请求。
captcha_pass 表示客户端通过了普通滑块验证,WAF放行客户端请求。
sigchl_pass 表示客户端通过了动态令牌验证,WAF放行客户端请求。
js_pass 表示客户端通过了JS验证,WAF放行客户端请求。
mask 表示脱敏敏感信息,即WAF将源站响应消息中的敏感信息脱敏处理后,再返回给客户端。仅防敏感信息泄露模块支持该动作。
continue 表示放行,不同防护模块下continue动作的具体含义不同。详细信息,请参见normalized_actionwxbb_action字段的说明。

必选字段

必选字段表示WAF日志中一定包含的字段。

名称 说明 取值示例
acl_rule_type 客户端请求命中的IP黑名单、自定义防护策略(ACL访问控制)规则的类型。取值:
  • custom:表示自定义防护策略(ACL访问控制)规则。
  • blacklist:表示IP黑名单规则。
custom
bypass_matched_ids 客户端请求命中的WAF放行类规则的ID,具体包括白名单规则、设置了放行动作的自定义防护策略规则。

如果请求同时命中了多条放行类规则,该字段会记录所有命中的规则ID。多个规则ID间使用半角逗号(,)分隔。

283531
cc_rule_type 客户端请求命中的CC安全防护、自定义防护策略(CC攻击防护)规则的类型。取值:
  • custom:表示自定义防护策略(CC攻击防护)规则。
  • system:表示CC安全防护规则。
custom
content_type 被请求的内容类型。 application/x-www-form-urlencoded
final_action WAF对客户端请求最终执行的防护动作。取值:
  • block:表示拦截。
  • captcha_strict:表示严格滑块验证。
  • captcha:表示普通滑块验证。
  • sigchl:表示动态令牌验证。
  • js:表示JS验证。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

如果一个请求未触发任何防护模块(包括命中了放行类规则、客户端完成滑块或JS验证后触发放行的情况),则不会记录该字段。

如果一个请求同时触发了多个防护模块,则仅记录最终执行的防护动作。防护动作的优先级由高到低依次为:拦截(block) > 严格滑块验证(captcha_strict) > 普通滑块验证(captcha)> 动态令牌验证(sigchl) > JS验证(js)。

block
final_plugin WAF对客户端请求最终执行的防护动作(final_action)对应的防护模块。取值:
  • waf:表示规则防护引擎。
  • deeplearning:表示深度学习引擎。
  • dlp:表示防敏感信息泄露。
  • account:表示账户安全。
  • normalized:表示主动防御。
  • acl:表示IP黑名单、自定义防护策略(ACL访问控制)。
  • cc:表示CC安全防护、自定义防护策略(CC攻击防护)。
  • antiscan:表示扫描防护。
  • scene:表示场景化配置。
  • antifraud:表示数据风控。
  • intelligence:表示爬虫威胁情报。
  • algorithm:表示典型爬虫行为识别。
  • wxbb:表示App防护。

您可以在Web应用防火墙控制台防护配置 > 网站防护页面,配置以上防护模块。关于不同防护模块的介绍,请参见网站防护配置概述

如果一个请求未触发任何防护模块(包括命中了放行类规则、客户端完成滑块或JS验证后触发放行的情况),则不会记录该字段。

如果一个请求同时触发了多个防护模块,则仅记录最终执行的防护动作(final_action)对应的防护模块。

waf
final_rule_id WAF对客户端请求最终应用的防护规则的ID,即final_action对应的防护规则的ID。 115341
final_rule_type WAF对客户端请求最终应用的防护规则(final_rule_id)的子类型。

例如,在final_plugin:waf类型下有final_rule_type:sqlifinal_rule_type:xss等细分的规则类型。

xss/webshell
host 客户端请求头部的Host字段,表示被访问的域名或IP地址。 api.example.com
http_referer 客户端请求头部的Referer字段,表示请求的来源URL信息。

如果请求无来源URL信息,则该字段显示-

http://example.com
http_user_agent 客户端请求头部的User-Agent字段,包含请求来源的客户端浏览器标识、操作系统标识等信息。 Dalvik/2.1.0 (Linux; U; Android 10; Android SDK built for x86 Build/QSR1.200715.002)
http_x_forwarded_for 客户端请求头部的X-Forwarded_For(XFF)字段,用于识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址。 47.100.XX.XX
https 是否是HTTPS请求。取值:
  • on:表示是HTTPS请求。
  • off:表示是HTTP请求。
on
matched_host 客户端请求匹配到的已接入WAF进行防护的域名。
说明 由于WAF网站接入中支持配置泛域名,所以客户端请求可能匹配到某个泛域名配置。例如,假设已接入WAF防护的域名是*.aliyun.com,当被请求的URL是www.aliyun.com时,可能匹配到*.aliyun.com。
*.aliyun.com
querystring 客户端请求中的查询字符串,具体指被请求URL中问号(?)后面的部分。 title=tm_content%3Darticle&pid=123
real_client_ip WAF对客户端请求进行分析后,判定发起该请求的真实客户端IP,便于您在业务中直接使用。

WAF无法判定真实客户端IP时(例如,由于用户通过代理服务器访问、请求头中IP字段有误等),该字段显示-

192.0.XX.XX
remote_addr 与WAF建立连接的IP。

如果WAF与客户端直接连接,该字段等同于客户端IP;如果WAF前面还有其他七层代理(例如,CDN),该字段表示上一级代理的IP。

198.51.XX.XX
remote_port 与WAF建立连接的端口。

如果WAF与客户端直接连接,该字段等同于客户端端口;如果WAF前面还有其他七层代理(例如,CDN),该字段表示上一级代理的端口。

80
request_length 客户端请求的字节数,包含请求行、请求头和请求体。单位:Byte。 111111
request_method 客户端请求的请求方法。 GET
request_path 被请求的相对路径,具体指被请求URL中域名后面且问号(?)前面的部分(不包含查询字符串)。 /news/search.php
request_time_msec WAF处理客户端请求所用的时间。单位:毫秒。 44
request_traceid WAF为客户端请求生成的唯一标识。 7837b11715410386943437009ea1f0
server_protocol 源站服务器响应WAF回源请求的协议及版本号。 HTTP/1.1
status WAF响应客户端请求的HTTP状态码。例如,200(表示请求成功)。 200
time 客户端请求的发起时间。按照ISO 8601标准表示,并需要使用UTC时间,格式为yyyy-MM-ddTHH:mm:ss+08:00 2018-05-02T16:03:59+08:00
upstream_addr 源站服务器的IP地址和端口。格式为IP:Port。多个记录间使用半角逗号(,)分隔。 198.51.XX.XX:443
upstream_response_time 源站服务器响应WAF回源请求的处理时间。单位:秒。 0.044
upstream_status 源站服务器响应WAF回源请求的HTTP状态码。例如,200(表示请求成功)。 200

可选字段

可选字段表示您可手动设置是否要在WAF日志中包含的字段。WAF日志中只记录您已启用的可选字段。

启用可选字段将使WAF日志占用更多的存储容量。如果您的日志存储容量充足,建议您启用更多的可选字段,便于进行更全面的日志分析。关于配置可选字段的具体操作,请参见修改日志设置

名称 说明 取值示例
account_action 客户端请求命中的账户安全规则对应的防护动作。取值仅有block,表示拦截。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

block
account_rule_id 客户端请求命中的账户安全规则的ID。 151235
account_test 客户端请求命中的账户安全规则对应的防护模式。取值:
  • true:表示观察模式,即仅记录日志,不触发拦截等防护动作。
  • false:表示防护模式,WAF对命中防护规则的请求执行拦截等防护动作。
false
acl_action 客户端请求命中的IP黑名单、自定义防护策略(ACL访问控制)规则对应的防护动作。取值:
  • block:表示拦截。
  • captcha_strict:表示严格滑块验证。
  • captcha:表示普通滑块验证。
  • js:表示JS验证。
  • captcha_strict_pass:表示客户端通过了严格滑块验证,WAF放行客户端请求。
  • captcha_pass:表示客户端通过了普通滑块验证,WAF放行客户端请求。
  • js_pass:表示客户端通过了JS验证,WAF放行客户端请求。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

block
acl_rule_id 客户端请求命中的IP黑名单、自定义防护策略(ACL访问控制)规则的ID。 151235
acl_test 客户端请求命中的IP黑名单、自定义防护策略(ACL访问控制)规则对应的防护模式。取值:
  • true:表示观察模式,即仅记录日志,不触发拦截等防护动作。
  • false:表示防护模式,WAF对命中防护规则的请求执行拦截等防护动作。
false
algorithm_action 客户端请求命中的典型爬虫行为识别规则对应的防护动作。取值:
  • block:表示拦截。
  • captcha:表示普通滑块验证。
  • js:表示JS验证。
  • captcha_pass:表示客户端通过了普通滑块验证,WAF放行客户端请求。
  • js_pass:表示客户端通过了JS验证,WAF放行客户端请求。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

block
algorithm_rule_id 客户端请求命中的典型爬虫行为识别规则的ID。 151235
algorithm_test 客户端请求命中的典型爬虫行为识别规则对应的防护模式。取值:
  • true:表示观察模式,即仅记录日志,不触发拦截等防护动作。
  • false:表示防护模式,WAF对命中防护规则的请求执行拦截等防护动作。
false
antifraud_action 客户端请求命中的数据风控规则对应的防护动作。取值:
  • pass:表示放行。
  • block:表示拦截。
  • captcha:表示普通滑块验证。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

block
antifraud_test 客户端请求命中的数据风控规则对应的防护模式。取值:
  • true:表示观察模式,即仅记录日志,不触发拦截等防护动作。
  • false:表示防护模式,WAF对命中防护规则的请求执行拦截等防护动作。
false
antiscan_action 客户端请求命中的扫描防护规则对应的防护动作。取值仅有block,表示拦截。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

block
antiscan_rule_id 客户端请求命中的扫描防护规则的ID。 151235
antiscan_rule_type 客户端请求命中的扫描防护规则的类型。取值:
  • highfreq:表示高频Web攻击封禁规则。
  • dirscan:表示目录遍历防护规则。
  • scantools:表示扫描工具封禁规则。
  • collaborative:表示协同防御规则。
highfreq
antiscan_test 客户端请求命中的扫描防护规则对应的防护模式。取值:
  • true:表示观察模式,即仅记录日志,不触发拦截等防护动作。
  • false:表示防护模式,WAF对命中防护规则的请求执行拦截等防护动作。
false
block_action
注意 由于WAF功能升级,该字段已失效。新增字段final_plugin用于替代该字段。如果您在业务中使用了block_action,请尽快将其替换成final_plugin
触发了拦截动作的WAF防护类型。取值:
  • tmd:表示CC攻击防护,对应final_plugin取值cc
  • waf:表示Web攻击防护,对应final_plugin取值waf
  • acl:表示精准访问控制,对应final_plugin取值acl
  • deeplearning:表示深度学习引擎,对应final_plugin取值deeplearning
  • antiscan:表示扫描防护,对应final_plugin取值antiscan
  • antifraud:表示数据风控,对应final_plugin取值antifraud
  • antibot:表示防爬封禁,对应final_plugin取值intelligencealgorithmwxbbscene
waf
body_bytes_sent 服务端返回给客户端的响应体的字节数(不含响应头)。单位:Byte。 1111
cc_action 客户端请求命中的CC安全防护、自定义防护策略(CC攻击防护)规则对应的防护动作。取值:
  • block:表示拦截。
  • captcha:表示普通滑块验证。
  • js:表示JS验证。
  • captcha_pass:表示客户端通过了普通滑块验证,WAF放行客户端请求。
  • js_pass:表示客户端通过了JS验证,WAF放行客户端请求。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

block
cc_rule_id 客户端请求命中的CC安全防护、自定义防护策略(CC攻击防护)规则的ID。 151234
cc_test 客户端请求命中的CC安全防护、自定义防护策略(CC攻击防护)规则对应的防护模式。取值:
  • true:表示观察模式,即仅记录日志,不触发拦截等防护动作。
  • false:表示防护模式,WAF对命中防护规则的请求执行拦截等防护动作。
false
deeplearning_action 客户端请求命中的深度学习引擎规则对应的防护动作。取值仅有block,表示拦截。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

block
deeplearning_rule_id 客户端请求命中的深度学习引擎规则的ID。 151238
deeplearning_rule_type 客户端请求命中的深度学习引擎规则的类型。取值:
  • xss:表示跨站脚本防护规则。
  • code_exec:表示代码执行防护规则。
  • webshell:表示Webshell防护规则。
  • sqli:表示SQL注入防护规则。
  • lfilei:表示本地文件包含防护规则。
  • rfilei:表示远程文件包含防护规则。
  • other:表示其他防护规则。
xss
deeplearning_test 客户端请求命中的深度学习引擎规则对应的防护模式。取值:
  • true:表示观察模式,即仅记录日志,不触发拦截等防护动作。
  • false:表示防护模式,WAF对命中防护规则的请求执行拦截等防护动作。
false
dlp_action 客户端请求命中的防敏感信息泄露规则对应的防护动作。取值:
  • block:表示拦截。
  • mask:表示脱敏敏感信息。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

mask
dlp_rule_id 客户端请求命中的防敏感信息泄露规则的ID。 151245
dlp_test 客户端请求命中的防敏感信息泄露规则对应的防护模式。取值:
  • true:表示观察模式,即仅记录日志,不触发拦截等防护动作。
  • false:表示防护模式,WAF对命中防护规则的请求执行拦截等防护动作。
false
intelligence_action 客户端请求命中的爬虫威胁情报规则对应的防护动作。取值:
  • block:表示拦截。
  • captcha_strict:表示严格滑块验证。
  • captcha:表示普通滑块验证。
  • js:表示JS验证。
  • captcha_strict_pass:表示客户端通过了严格滑块验证,WAF放行客户端请求。
  • captcha_pass:表示客户端通过了普通滑块验证,WAF放行客户端请求。
  • js_pass:表示客户端通过了JS验证,WAF放行客户端请求。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

block
intelligence_rule_id 客户端请求命中的爬虫威胁情报规则的ID。 152234
intelligence_test 客户端请求命中的爬虫威胁情报规则对应的防护模式。取值:
  • true:表示观察模式,即仅记录日志,不触发拦截等防护动作。
  • false:表示防护模式,WAF对命中防护规则的请求执行拦截等防护动作。
false
normalized_action 客户端请求命中的主动防御规则对应的防护动作。取值:
  • block:表示请求异常,主动防御模块拦截请求。
  • continue:表示请求中未检测出异常,主动防御模块放行请求。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

block
normalized_rule_id 客户端请求命中的主动防御规则的ID。 151266
normalized_rule_type 客户端请求命中的主动防御规则的类型。取值:
  • User-Agent:表示User-Agent基线规则(即请求头的User-Agent字段不在基线范围。其他规则类型的含义与此类似)。
  • Referer:表示Referer基线规则。
  • URL:表示URL基线规则。
  • Cookie:表示Cookie基线规则。
  • Body:表示Body基线规则。
User-Agent
normalized_test 客户端请求命中的主动防御规则对应的防护模式。取值:
  • true:表示观察模式,即仅记录日志,不触发拦截等防护动作。
  • false:表示防护模式,WAF对命中防护规则的请求执行拦截等防护动作。
false
region WAF实例的地域ID。取值:
  • cn:表示中国内地。
  • int:表示非中国内地。
cn
request_body 访问请求体。 i am the request body, encrypted or not!
scene_action 客户端请求命中的场景化配置规则对应的防护动作。取值:
  • block:表示拦截。
  • captcha:表示普通滑块验证。
  • sigchl:表示动态令牌验证。
  • js:表示JS验证。
  • captcha_pass:表示客户端通过了普通滑块验证,WAF放行客户端请求。
  • sigchl_pass:表示客户端通过了动态令牌验证,WAF放行客户端请求。
  • js_pass:表示客户端通过了JS验证,WAF放行客户端请求。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

block
scene_id 客户端请求命中的场景化配置规则对应的场景ID。 151235
scene_rule_id 客户端请求命中的场景化配置规则的ID。 153678
scene_rule_type 客户端请求命中的场景化配置规则的类型。取值:
  • bot_aialgo:表示AI智能防护规则。
  • js:表示简单脚本过滤规则。
  • intelligence:表示爬虫威胁情报库匹配、IDC黑名单封禁规则。
  • sdk:表示App(已集成SDK)签名异常、设备特征异常规则。
  • cc:表示IP限速、自定义会话限速规则。
  • sigchl:表示动态令牌挑战规则。
bot_aialgo
sigchl_invalid_type 客户端请求被动态令牌挑战规则判定为异常的原因。取值:
  • sigchl_invalid_sig:表示签名验证失败。常见失败原因包括:
    • 请求没有携带签名。
    • 加签时的传参与WAF收到的实际内容不一致。
  • sigchl_is_replay:表示签名时间戳异常,可能为重放攻击。
  • sigchl_is_driver:表示识别为webdriver攻击。
sigchl_invalid_sig
scene_test 客户端请求命中的场景化配置规则对应的防护模式。取值:
  • true:表示观察模式,即仅记录日志,不触发拦截等防护动作。
  • false:表示防护模式,WAF对命中防护规则的请求执行拦截等防护动作。
false
server_port 被请求的目的端口。 443
ssl_cipher 客户端请求使用的加密套件。 ECDHE-RSA-AES128-GCM-SHA256
ssl_protocol 客户端请求使用的SSL/TLS协议和版本。 TLSv1.2
ua_browser 发起请求的浏览器的名称。
注意 WAF日志已于2021年12月15日起不再支持该字段(即使您在日志设置中启用了该可选字段,WAF日志也中无该字段的记录)。建议您通过http_user_agent(必选字段)获取客户端请求的User-Agent相关信息。
ie9
ua_browser_family 发起请求的浏览器所属系列。
注意 WAF日志已于2021年12月15日起不再支持该字段(即使您在日志设置中启用了该可选字段,WAF日志也中无该字段的记录)。建议您通过http_user_agent(必选字段)获取客户端请求的User-Agent相关信息。
internet explorer
ua_browser_type 发起请求的浏览器的类型。
注意 WAF日志已于2021年12月15日起不再支持该字段(即使您在日志设置中启用了该可选字段,WAF日志也中无该字段的记录)。建议您通过http_user_agent(必选字段)获取客户端请求的User-Agent相关信息。
web_browser
ua_browser_version 发起请求的浏览器的版本。
注意 WAF日志已于2021年12月15日起不再支持该字段(即使您在日志设置中启用了该可选字段,WAF日志也中无该字段的记录)。建议您通过http_user_agent(必选字段)获取客户端请求的User-Agent相关信息。
9.0
ua_device_type 发起请求的客户端的设备类型。
注意 WAF日志已于2021年12月15日起不再支持该字段(即使您在日志设置中启用了该可选字段,WAF日志也中无该字段的记录)。建议您通过http_user_agent(必选字段)获取客户端请求的User-Agent相关信息。
computer
ua_os 发起请求的客户端的操作系统类型。
注意 WAF日志已于2021年12月15日起不再支持该字段(即使您在日志设置中启用了该可选字段,WAF日志也中无该字段的记录)。建议您通过http_user_agent(必选字段)获取客户端请求的User-Agent相关信息。
windows_7
ua_os_family 发起请求的客户端所属的操作系统系列。
注意 WAF日志已于2021年12月15日起不再支持该字段(即使您在日志设置中启用了该可选字段,WAF日志也中无该字段的记录)。建议您通过http_user_agent(必选字段)获取客户端请求的User-Agent相关信息。
windows
user_id 当前WAF实例所属的阿里云账号ID。 17045741********
waf_action 客户端请求命中的规则防护引擎规则对应的防护动作。取值仅有block,表示拦截。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

block
waf_rule_id 客户端请求命中的规则防护引擎规则的ID。 113406
waf_rule_type 客户端请求命中的规则防护引擎规则的类型。取值:
  • xss:表示跨站脚本防护规则。
  • code_exec:表示代码执行防护规则。
  • webshell:表示Webshell防护规则。
  • sqli:表示SQL注入防护规则。
  • lfilei:表示本地文件包含防护规则。
  • rfilei:表示远程文件包含防护规则。
  • other:表示其他防护规则。
xss
waf_test 客户端请求命中的规则防护引擎规则对应的防护模式。取值:
  • true:表示观察模式,即仅记录日志,不触发拦截等防护动作。
  • false:表示防护模式,WAF对命中防护规则的请求执行拦截等防护动作。
false
wxbb_action 客户端请求命中的App防护规则对应的防护动作。取值:
  • block:表示签名验证失败,App防护模块拦截请求。
  • captcha:表示普通滑块验证。
  • js:表示JS验证。
  • continue:表示签名验证通过,App防护模块放行请求。

关于WAF防护动作的具体说明,请参见WAF防护动作(action)说明

block
wxbb_invalid_wua 客户端请求被App防护规则判定为异常的原因。取值:
  • wxbb_simulator:表示使用模拟器。
  • wxbb_proxy:表示使用代理。
  • wxbb_root:表示Root设备。
  • wxbb_hook:表示存在Hook行为。
  • wxbb_antireplay:表示签名串(wToken)重放攻击。
  • wxbb_virtual:表示设备上应用(集成了WAF SDK)多开。
  • wxbb_debugged:表示设备处于调试模式。
  • wxbb_invalid_sign:表示签名验证失败。
    常见失败原因包括:
    • 请求没有携带签名。
    • 加签时的传参与WAF收到的实际内容不一致,例如,加签传参为a=1&b=2,WAF实际收到的请求参数为b=2&a=1;加签传参内容未经过编码,WAF实际收到的请求经过了Base64编码等。
wxbb_invalid_sign
wxbb_rule_id 客户端请求命中的App防护规则的ID。 156789
wxbb_test 客户端请求命中的App防护规则对应的防护模式。取值:
  • true:表示观察模式,即仅记录日志,不触发拦截等防护动作。
  • false:表示防护模式,WAF对命中防护规则的请求执行拦截等防护动作。
false