本文介紹了Web Application Firewall(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時(例如,由於使用者通過Proxy 伺服器訪問、要求標頭中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 | 用戶端請求命中的基礎防護規則對應的防護動作。取值僅有block,表示攔截。 關於WAF防護動作的具體含義,請參見WAF防護動作(*_action)含義說明。 | block |
waf_rule_id | 用戶端請求命中的基礎防護規則的ID。 說明 該規則ID對應您在安全報表頁面的基礎防護規則頁簽下,通過規則命中記錄列表,查看到的規則ID。更多資訊,請參見基礎防護規則。 | 113406 |
waf_rule_type | 用戶端請求命中的基礎防護規則的類型。取值:
| xss |
waf_test | 用戶端請求命中的基礎防護規則對應的防護模式。取值:
| 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表示基礎防護規則對應的防護動作。不同防護規則支援的具體防護動作不同,以對應參數描述內容為準。
下表介紹了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針對請求進行加簽保護,並將簽名隨請求上報。如果加簽驗簽正常,則該請求直接回源,否則會返回一段動態令牌執行代碼要求用戶端重新加簽請求。 |