本文介紹了Web應用防火墻(Web Application Firewall,簡稱WAF)日志中包含的專有字段的說明。
字段檢索表
下表描述了WAF日志支持的專有字段。您可以通過字段名稱檢索需要了解的字段。
必選字段
必選字段表示WAF日志中一定包含的字段。
名稱 | 說明 | 取值示例 |
bypass_matched_ids | 客戶端請求命中的WAF放行類規則的ID,具體包括白名單規則、設置了放行動作的自定義防護策略規則。 如果請求同時命中了多條放行類規則,該字段會記錄所有命中的規則ID。多個規則ID間使用半角逗號(,)分隔。 | 283531 |
content_type | 被請求的內容類型。 | application/x-www-form-urlencoded |
dst_port | 被請求的目的端口。 重要 云產品(FC)接入WAF的防護對象,暫不支持該字段。 | 443 |
final_action | WAF對客戶端請求最終執行的防護動作。取值:
關于WAF防護動作的具體含義,請參見WAF防護動作(*_action)含義說明。 如果一個請求未觸發任何防護模塊(包括命中了放行類規則、客戶端完成滑塊或JS校驗后觸發放行的情況),則不會記錄該字段。 如果一個請求同時觸發了多個防護模塊,則僅記錄最終執行的防護動作。防護動作的優先級由高到低依次為:攔截(block) > 嚴格滑塊驗證(captcha_strict) > 普通滑塊驗證(captcha) > JS校驗(js)。 | block |
final_plugin | WAF對客戶端請求最終執行的防護動作(final_action)對應的防護模塊。取值:
如果一個請求未觸發任何防護模塊(包括命中了放行類規則、客戶端完成滑塊或JS校驗后觸發放行的情況),則不會記錄該字段。 如果一個請求同時觸發了多個防護模塊,則僅記錄最終執行的防護動作(final_action)對應的防護模塊。 | waf |
final_rule_id | WAF對客戶端請求最終應用的防護規則的ID,即final_action對應的防護規則的ID。 | 115341 |
final_rule_type | WAF對客戶端請求最終應用的防護規則(final_rule_id)的子類型。 例如,在 | xss/webShell |
host | 客戶端請求頭部的Host字段,表示被訪問的域名(基于您的業務設置,也可能是IP地址)。 | api.example.com |
http_cookie | 客戶端請求頭部的Cookie字段,表示訪問來源客戶端的Cookie信息。 | k1=v1;k2=v2 |
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 |
matched_host | 客戶端請求匹配到的WAF防護對象(云產品實例、域名)。 說明 由于WAF防護對象支持配置泛域名,所以客戶端請求可能匹配到某個泛域名對象。例如,假設已接入WAF防護的域名對象是*.aliyundoc.com,當被請求的URL是www.aliyundoc.com時,可能匹配到*.aliyundoc.com。 | *.aliyundoc.com |
request_uri | 請求的路徑+請求參數 | /news/search.php?id=1 |
real_client_ip | WAF對客戶端請求進行分析后,判定發起該請求的真實客戶端IP,便于您在業務中直接使用。 WAF無法判定真實客戶端IP時(例如,由于用戶通過代理服務器訪問、請求頭中IP字段有誤等),該字段顯示 | 192.0.XX.XX |
region | WAF實例的地域ID。取值:
| cn |
src_port | 與WAF建立連接的端口。 如果WAF與客戶端直接連接,該字段等同于客戶端端口;如果WAF前面還有其他七層代理(例如CDN),該字段表示WAF的上一級代理的端口。 | 80 |
src_ip | 與WAF建立連接的IP。 如果WAF與客戶端直接連接,該字段等同于客戶端IP;如果WAF前面還有其他七層代理(例如CDN),該字段表示WAF的上一級代理的IP。 | 198.51.XX.XX |
start_time | 客戶端請求發起時間字段,單位:秒。 | 1696534058 |
request_length | 客戶端請求的字節數,包含請求行、請求頭和請求體。單位:Byte。 | 111111 |
request_method | 客戶端請求的方法。 | GET |
request_time_msec | WAF處理客戶端請求所用的時間。單位:毫秒。 | 44 |
request_traceid | WAF為客戶端請求生成的唯一標識。 | 7837b11715410386943437009ea1f0 |
request_traceid_origin | 請求原始ID。 | 7ce319151*****18890e |
remote_region_id | IP地址歸屬的省ID。 | 410000 |
server_protocol | 客戶端和WAF之間的協議 重要 云產品(FC)接入WAF的防護對象,暫不支持該字段。 | HTTP/1.1 |
ssl_cipher | 客戶端請求使用的加密套件。 | ECDHE-RSA-AES128-GCM-SHA256 |
ssl_protocol | 客戶端請求使用的SSL/TLS協議和版本。 | TLSv1.2 |
status | WAF響應客戶端請求的HTTP狀態碼。例如,200(表示請求成功)。 | 200 |
time | 客戶端請求的發起時間。按照ISO 8601標準表示,并需要使用UTC時間,格式為 | 2018-05-02T16:03:59+08:00 |
upstream_addr | 源站服務器的IP地址和端口。格式為 重要 云產品(FC)接入WAF的防護對象,暫不支持該字段。 | 198.51.XX.XX:443 |
upstream_response_time | 源站服務器響應WAF回源請求的處理時間。單位:秒。 | 0.044 |
upstream_status | 源站服務器響應WAF回源請求的HTTP狀態碼。例如,200(表示請求成功)。 | 200 |
user_id | 當前WAF實例所屬的阿里云賬號ID。 | 17045741******** |
可選字段
可選字段表示您可以手動設置,是否要在WAF日志中包含的字段。WAF日志中只記錄您已啟用的可選字段。
啟用可選字段將使WAF日志占用更多的存儲容量。如果您的日志存儲容量充足,建議您啟用更多的可選字段,便于進行更全面的日志分析。關于配置可選字段的具體操作,請參見日志字段說明。
名稱 | 說明 | 取值示例 |
acl_action | 客戶端請求命中的IP黑名單、自定義規則(訪問控制)規則對應的防護動作。取值:
關于WAF防護動作的具體含義,請參見WAF防護動作(*_action)含義說明。 | block |
acl_rule_id | 客戶端請求命中的IP黑名單、自定義規則(訪問控制)規則的ID。 | 151235 |
acl_rule_type | 客戶端請求命中的IP黑名單、自定義規則(訪問控制)規則的類型。取值:
| custom |
acl_test | 客戶端請求命中的IP黑名單、自定義規則(訪問控制)規則對應的防護模式。取值:
| false |
antiscan_action | 客戶端請求命中的掃描防護規則對應的防護動作。取值只有block,表示攔截。 關于WAF防護動作的具體含義,請參見WAF防護動作(*_action)含義說明。 | block |
antiscan_rule_id | 客戶端請求命中的掃描防護規則的ID。 | 151235 |
antiscan_rule_type | 客戶端請求命中的掃描防護規則的類型。取值:
| highfreq |
antiscan_test | 客戶端請求命中的掃描防護規則對應的防護模式。取值:
| false |
body_bytes_sent | 服務端返回給客戶端的響應體的字節數(不含響應頭)。單位:Byte。 重要 云產品(FC)接入WAF的防護對象,暫不支持該字段。 | 1111 |
cc_action | 客戶端請求命中的自定義規則(頻率控制)規則對應的防護動作。取值:
關于WAF防護動作的具體含義,請參見WAF防護動作(*_action)含義說明。 | block |
cc_rule_id | 客戶端請求命中的自定義規則(頻率控制)規則的ID。 | 151234 |
cc_rule_type | 客戶端請求命中的規則的類型。取值:
| custom |
cc_test | 客戶端請求命中的自定義規則(頻率控制)規則對應的防護模式。取值:
| false |
request_body | 訪問請求體,最大支持存儲8 KB。 | test123curl -ki https://automated-acltest02.***.top/ --resolve automated-acltest02.***.top:443:39.107.XX.XX |
request_headers_all | 記錄請求中的所有頭部。 | { "Accept": "*/*", "Accept-Encoding": "gz**, de**te, **r", "Accept-Language": "zh-Hans-CN;q=1", "Connection": "keep-***ve", "Content-Length": "1**6", "Content-Type": "application/json", "Cookie": "cookie_key=***; acw_tc=0abc****opqrstuvwxyz0***7890;", "Host": "1.****.****.1", ... } |
request_header | 自定義請求頭部,選中該字段后,需填寫請求頭名稱。最多支持添加5個自定義請求頭。多個請求頭名稱以英文逗號(,)隔開。 重要 云產品(MSE或FC)接入WAF的防護對象,暫不支持該字段。 | {"ttt":"abcd"} |
server_port | 被請求的WAF端口。 重要 默認選中,云產品(FC)接入WAF的防護對象,暫不支持該字段。 | 443 |
waf_action | 客戶端請求命中的Web核心防護規則對應的防護動作。取值僅有block,表示攔截。 關于WAF防護動作的具體含義,請參見WAF防護動作(*_action)含義說明。 | block |
waf_rule_id | 客戶端請求命中的Web核心防護規則的ID。 說明 該規則ID對應您在安全報表頁面的Web核心防護規則頁簽下,通過規則命中記錄列表,查看到的規則ID。更多信息,請參見基礎防護規則。 | 113406 |
waf_rule_type | 客戶端請求命中的Web核心防護規則的類型。取值:
| xss |
waf_test | 客戶端請求命中的Web核心防護規則對應的防護模式。取值:
| false |
major_protection_action | 客戶端請求命中的重保場景防護模板對應的防護動作。關于WAF防護動作的具體說明,請參見WAF防護動作(*_action)含義說明。 | block |
major_protection_rule_id | 客戶端請求命中的重保場景防護模板對應的規則ID。 | 2221 |
major_protection_rule_type | 客戶端請求命中的重保場景防護模板對應的規則類型。取值:
| waf_blocks |
major_protection_test | 客戶端請求命中的重保場景防護對應的防護模式。取值:
| true |
response_set_cookie | 客戶端響應下發的Cookie。 重要 云產品(MSE或FC)接入WAF的防護對象,暫不支持該字段。 | acw_tc=781bad3616674790875002820e2cebbc55b6e0dfd9579302762b1dece40e0a;path=\/;HttpOnly;Max-Age=1800 |
response_header | 客戶端的全部響應頭部。 重要 云產品(MSE或FC)接入WAF的防護對象,暫不支持該字段。 | {"transfer-encoding":"chunked","set-cookie":"acw_tc=***;path=\/;HttpOnly;Max-Age=1800","content-type":"text\/html;charset=utf-8","x-powered-by":"PHP\/7.2.24","server":"nginx\/1.18.0","connection":"close"} |
response_info | 客戶端的響應體,最大支持存儲16KB。當content-encoding頭部為gzip時,響應體記錄為base64編碼。 重要 云產品(ALB、MSE或FC)接入WAF的防護對象,暫不支持該字段。 | $_POST接收:<br/>Array ( [***] => ) <hr/> $GLOBALS['HTTP_RAW_POST_DATA']接收:<br/> <hr/> php://input接收:*** |
request_path | 被請求的相對路徑,具體指被請求URL中域名后面且問號(?)前面的部分(不包含查詢字符串)。 說明 默認選中。 | /news/search.php |
dlp_action | 客戶端請求命中的信息泄露防護規則對應的防護動作。取值:
關于WAF防護動作的具體含義,請參見WAF防護動作(*_action)含義說明。 | block |
dlp_rule_id | 客戶端請求命中的信息泄露防護規則的ID。 | 20031483 |
dlp_test | 客戶端請求命中的信息泄露防護規則對應的防護模式。取值:
| true |
querystring | 客戶端請求中的查詢字符串,具體指被請求URL中問號(?)后面的部分。 說明 默認選中。 | title=tm_content%3Darticle&pid=123 |
scene_action | 客戶端請求命中的Bot管理場景化配置規則對應的防護動作。取值:
關于WAF防護動作的具體含義,請參見WAF防護動作(*_action)含義說明。 | js |
scene_id | 客戶端請求命中的Bot管理場景化配置規則對應的場景ID。 | a82d992b_bc8c_47f0_87ce_****** |
scene_rule_id | 客戶端請求命中的Bot管理場景化配置規則的ID和基礎防護配置規則ID。 | js-a82d992b_bc8c_47f0_87ce_****** |
scene_rule_type | 客戶端請求命中的Bot管理場景化配置規則的類型。取值:
| bot_aialgo |
scene_test | 客戶端請求命中的Bot管理場景化配置規則對應的防護模式。取值:
| true |
remote_addr | 與WAF建立連接的IP。 如果WAF與客戶端直接連接,該字段等同于客戶端IP;如果WAF前面還有其他七層代理(例如CDN),該字段表示WAF的上一級代理的IP。 說明 默認選中。 | 198.51.XX.XX |
remote_port | 與WAF建立連接的端口。 如果WAF與客戶端直接連接,該字段等同于客戶端端口;如果WAF前面還有其他七層代理(例如CDN),該字段表示WAF的上一級代理的端口。 說明 默認選中。 | 80 |
waf_hit | 命中基礎防護攻擊內容。 | {"postarg_values":{"hit":["${jndi:ldap://"],"raw":"postarg.log4j=${jndi:ldap://"}} |
compliance_hit | 命中協議違背攻擊內容。 | **********7df271da040a |
compliance_action | 客戶端請求命中的協議合規對應的防護動作。取值僅有block,表示攔截。 關于WAF防護動作的具體含義,請參見WAF防護動作(*_action)含義說明。 | block |
compliance_rule_id | 客戶端請求命中的協議合規的ID。 | 300033 |
compliance_rule_type | 客戶端請求命中協議合規的類型。取值僅有protocol_violation | protocol_violation |
compliance_test | 客戶端請求命中的協議合規對應的防護模式。取值:
| false |
sema_hit | 命中語義分析攻擊內容。 | {"queryarg_values":{"hit":["\" from mysql.user"],"raw":"queryarg.y=\" from mysql.user"}} |
sema_action | 客戶端請求命中的語義分析對應的防護動作。取值僅有block,表示攔截。 關于WAF防護動作的具體含義,請參見WAF防護動作(*_action)含義說明。 | block |
sema_rule_id | 客戶端請求命中的語義分析ID。 | 810015 |
sema_rule_type | 客戶端請求命中語義分析的類型。取值僅有sqli,表示SQL注入防護規則。 | sqli |
sema_test | 客戶端請求命中的語義分析對應的防護模式。取值:
| false |
wxbb_info_tbl | 命中BOT管理中APP防護規則的設備信息。 | { "abnormal_imei": "0", "abnormal_time": "1", ***** "appversion": "9.4.3", "brand": "Android", ***** } |
WAF防護動作(*_action)含義說明
*_action表示不同防護規則的防護動作,例如,final_action表示WAF最終執行的防護動作、waf_action表示Web核心防護規則對應的防護動作。不同防護規則支持的具體防護動作不同,以對應參數描述內容為準。
下表介紹了WAF支持的所有防護動作的含義。
防護動作 | 含義 |
block | 表示攔截,即WAF攔截客戶端請求并向客戶端返回405頁面。 |
captcha_strict | 表示嚴格滑塊驗證,即WAF向客戶端返回滑動驗證頁面。如果客戶端成功執行滑動驗證,則WAF放行本次請求,否則攔截請求。嚴格滑塊驗證模式下,客戶端的每次請求都需要驗證。 |
captcha | 表示普通滑塊驗證,即WAF向客戶端返回滑動驗證頁面。如果客戶端成功執行滑動驗證,則WAF在一段時間(默認30分鐘)內放行該客戶端的所有請求(不需要重復驗證),否則攔截請求。 |
js | 表示JavaScript校驗,即WAF向客戶端返回一段正常瀏覽器可以自動執行的JavaScript代碼。如果客戶端正常執行了JavaScript代碼,則WAF在一段時間(默認30分鐘)內放行該客戶端的所有請求(不需要重復驗證),否則攔截請求。 |
js_pass | 表示客戶端通過了JavaScript校驗,WAF放行客戶端請求。 |
sigchl | 表示動態令牌驗證,即Web端請求加簽。客戶端發送請求時經過了WAF下發的webSDK針對請求進行加簽保護,并將簽名隨請求上報。如果加簽驗簽正常,則該請求直接回源,否則會返回一段動態令牌執行代碼要求客戶端重新加簽請求。 |