ESA與WAF 3.0是什麼關係?
ESA已原生整合基於WAF 3.0的Web Application Firewall防護能力。網站接入ESA後,ESA會自動為網站提供WAF安全防護,無需單獨購買和部署WAF 3.0產品。
ESA是否支援串聯獨立WAF?
邊緣安全加速ESA支援DNS→ESA→獨立WAF的串聯部署架構。將ESA的回源地址配置為獨立WAF的服務地址,流量先經過ESA加速和基礎防護,再轉寄至獨立WAF進行深度安全檢測。
配置方式:登入ESA控制台,在網站DNS記錄中將記錄值/來源站點設定為獨立WAF的IP地址(A/AAAA記錄)或網域名稱(CNAME記錄)。
ESA內建WAF包含託管規則、自訂規則、頻次控制等功能,適用於大多數Web防護情境。如需獨立WAF的進階自訂防護能力,可採用上述串聯架構。
ESA遭受大範圍攻擊怎麼辦?
開啟WAF配置,將概述頁簽中的智能限頻防護等級調整到嚴格,執行動作調整為攔截。
進入安全分析頁簽中,在資料總覽部分,查看異常的用戶端IP,利用自訂規則攔截這些IP。
進入安全分析頁簽中,在概覽中查看請求分析的資料。針對異常資料建立WAF自訂規則攔截。例如,在Referer中發現值為
-的請求最多,則建立攔截空Referer的請求和Referer為-的請求(當請求存在Referer頭,但是值為空白時,在控制台上會以-展示)。
為什麼我ESA中的WAF配置不生效?
檢查配置的規則是否正確
規則運算式的正確性直接影響WAF規則的執行效果。請確保以下幾點:
匹配欄位:確認您使用的匹配欄位是否符合預期。例如:
URI包含查詢字串(如/content?page=1234),而URI路徑僅包含路徑部分(如/content)。如果規則中使用了
URI等於/content,但實際請求中帶有查詢字串,則規則不會生效。
匹配運算子:檢查所選運算子是否適合當前情境(如“等於”、“包含”等)。
匹配值:確保匹配值與實際請求一致。
檢查請求是否命中了白名單規則
IP訪問規則和白名單規則的優先順序高於其他規則。如果請求命中了IP訪問規則的允許存取策略或白名單規則,則後續的WAF規則將被跳過,從而導致配置看似不生效。排查步驟如下:
在安全分析模組中,根據篩選條件過濾出異常請求。
查看採集日誌模組中該請求命中的規則資訊。
如果最終執行防護規則的是IP訪問規則(最終執行防護動作為允許存取)或白名單規則,則證明請求因命中允許存取規則而跳過了其他規則。
解決方案:調整IP訪問規則的允許存取策略和白名單規則,確保其範圍不會覆蓋需要防護的請求。
檢查請求是否繞過ESA直接存取來源站點
如果攻擊請求未經過ESA,而是直接存取來源站點,WAF規則無法生效。排查步驟如下(以Nginx為例):
擷取請求IP地址:
開啟Nginx設定檔(預設路徑為
/etc/nginx/nginx.conf),查看access.log的格式及位置。查看
access.log檔案,提取請求的$remote_addr值,$remote_addr欄位表示直接連接到Nginx的IP地址。
驗證IP來源:
在ESA控制台選擇網站管理,在網站列單擊目標網站。
在左側導覽列,選擇安全防護 > 來源站點防護。
在來源站點防護頁面,單擊配置。
開啟狀態開關,在彈出的對話方塊中勾選我已確認風險。,單擊開啟。
將日誌中擷取的IP同
IPv4列表中的IP(IPv4列表中是IP區段)進行匹配。若匹配上,證明來源站點的請求是從ESA來的;反之,則證明請求沒有經過ESA,而是直接請求的來源站點。
解決方案:啟用來源站點防護功能,將ESA的節點IP列表配置到來源站點防火牆規則中,僅允許白名單中的流量訪問來源站點。
如何攔截空Referer請求和不帶Referer的請求?
攔截空Referer請求
定義:
“空Referer請求”是指HTTP請求中包含 Referer 欄位,但其值為空白(即 Referer: "")。這種情況通常由某些瀏覽器或代理工具導致。安全分析概覽頁中Referer選項的-就是空Referer請求。
解決方案:
通過概述頁簽提供的攔截空Referer請求模板快速建立規則。
攔截不帶Referer的請求
定義:
“不帶Referer的請求”是指HTTP請求中完全不包含 Referer 欄位。這種情況可能由攻擊者故意構造,也可能因某些用戶端(如隱私模式瀏覽器)預設行為導致。
解決方案:
如果要攔截不存在Referer的請求,可以使用自訂規則。匹配規則填寫Referer不存在。
匹配規則中的URI、URI路徑、URI查詢字串有什麼區別?
一個URI 的完整結構可以分為以下幾個部分:
scheme:[//host]path[?query][#fragment]scheme: 協議類型,例如
http、https、ftp等。host: 主機名稱,例如
www.example.com。path: 資源在伺服器上的路徑,例如
/users/profile。query: 查詢字串,用於傳遞參數,例如
?id=123&name=John。fragment: 片段標識符,用於定位頁面中的特定部分,例如
#section1。
三者區別如下:
屬性 | URI | URI路徑 | URI查詢字串 |
定義 | 唯一標識資源的完整字串 | 指定資源在伺服器上的位置 | 向伺服器傳遞額外參數的部分 |
位置 | 整個 URI | 在 | 在 |
樣本 |
|
|
|
如何查看請求被哪個規則攔截了?
在響應攔截介面上,可以看到攔截的規則名稱(Denied by xxx)和規則ID(RuleID)。可以通過規則名稱確定被哪一種規則攔截,然後再通過攔截頁面的規則ID和控制台的規則ID匹配,確定請求被哪個規則攔截。
在安全分析的採樣日誌中,同樣可以看到請求是否被攔截以及攔截規則。
如何擷取安全防護規則的ID?
前往對應的安全防護規則,即可在規則列表中擷取對應規則的ID。
如何快速攔截大量的IP
準備將要攔截的IP/網段,中間採用英文逗號
,分割(可以從安全分析頁面通過分析擷取目標 IP)。進入ESA的分組控制台,點擊建立分組,將準備好的IP填入分組。
使用自訂規則攔截IP。在建立自訂規則時,匹配項選擇客戶端IP,匹配邏輯選擇在分組中,匹配值選擇上一步建立的分組名稱。
點擊確定,攔截規則即可建立成功並生效。
配置的規則會在哪個網域名稱生效?
如果建立的規則中,聲明了主機名稱的匹配規則,則該規則只會對命中主機名稱規則的網域名稱生效。例如,下面的樣本表示只有網域名稱為
www.example.com和api.example.com的請求,並且不存在Referer頭的請求才會被攔截。如果建立的規則中,匹配規則沒有聲明主機名稱的匹配規則,則網站下所有的網域名稱的請求只要命中規則上,都會生效。
WAF 設定 IP 黑名單或託管規則後,為何控制台攔截量統計較少?
確認返回狀態代碼為 403 即表示已攔截成功。控制台統計可能存在延遲,可檢查離線日誌中 403 與 200 狀態代碼的數量核實。
如何清除或縮短 ESA WAF 對已攔截 IP 的預設攔截時間?
目前不支援手動刪除攔截記錄或縮短攔截時間,需等待自動解鎖。
ESA WAF 白名單規則中匹配以 /api/ 開頭的 URL 應使用什麼文法?
要匹配所有以 /api/ 開頭的 URL 請求,可在匹配條件中編輯運算式為 (starts_with(http.request.uri.path, "/api/")) 。
WAF IP 訪問規則白名單上限是按單個網域名稱計算還是賬戶共用?
WAF IP 訪問規則白名單的配額按賬戶套餐下所有網站(網域名稱)共用計算,並非針對單個網域名稱獨立計算。例如Enterprise預設上限為 400 條,由該賬戶下所有網站共用。
IP 訪問規則配額達到上限(錯誤碼 PhaseIpAccessRule.PerInstance.Length.OverQuota)或白名單數量不足時,是否支援申請提升配額?
目前暫不支援單獨調升 IP 訪問規則或白名單的特定項配額。建議通過建立“網段分組”並將分組添加到白名單的方式來規避條目限制,這樣既可以繞過直接添加 IP 的配額瓶頸,也便於後續批量維護管理。
IP 白名單規則顯示超出配額但實際未使用怎麼辦?
該情況通常由配額按賬戶維度共用導致,請檢查賬戶下其他網站的 IP 規則佔用情況。如確認賬戶整體未超限但仍報錯,請聯絡我們並提供網站資訊以便後台排查資料一致性。
在 WAF 中攔截惡意 IP 後,該 IP 是否無法再發起 DDoS 攻擊?
是的。在 WAF 中將惡意 IP 加入黑名單後,該 IP 的請求將在邊緣節點被直接拒絕,無法再訪問業務來源站點,從而阻斷該 IP 發起的進一步 DDoS 攻擊請求。
病毒庫和特徵庫在哪裡查看?
ESA WAF 不提供獨立的病毒庫或特徵庫版本查看入口,也不提供對應的版本號碼或更新日誌。防護規則由阿里雲自動更新,您無需手動維護或升級規則庫。
如需查看和配置安全性原則,登入ESA 控制台,選擇目標網站,在左側導覽列選擇安全防護 > WAF,在託管規則頁簽中查看和配置。託管規則由阿里雲智能託管,用於防護 OWASP 攻擊和最新的來源站點漏洞攻擊。
配置 IP 相關匹配條件時,應該使用哪個欄位來防止 IP 偽造?
自訂規則的匹配欄位中,客戶端IP(ip.src)與X-Forwarded-For(http.x_forwarded_for)是兩個語義不同的獨立匹配欄位:客戶端IP 取自與 ESA 建立串連的用戶端 IP,不受用戶端要求標頭影響;X-Forwarded-For 是 HTTP 要求頭中的欄位,可以被用戶端任意偽造。因此配置基於 IP 的匹配條件(如地區限制、IP 黑白名單)時,建議優先使用客戶端IP 作為匹配欄位,避免使用X-Forwarded-For,以防止攻擊者通過偽造該要求標頭繞過攔截規則。
如果您的來源站點需要擷取用戶端真實 IP,建議在轉換規則的託管轉換中開啟添加真實用戶端 IP 要求標頭,預設會在回源請求中添加名為 ali-real-client-ip 的要求標頭(標題名稱可自訂),來源站點側讀取該要求標頭即可擷取真實用戶端 IP,而不依賴可能被偽造的 X-Forwarded-For 頭。
如果您需要避免用戶端提交的 X-Forwarded-For 頭傳遞到來源站點造成幹擾,可以在轉換規則中配置修改出站要求標頭功能,對指定要求標頭執行新增、刪除或修改操作。
為什麼配置了地區/國家攔截規則,但非目標地區 IP 仍能訪問?
為什麼基於省/地區的攔截規則會出現誤攔截或無法識別 Unknown 地區?
IP 歸屬地資訊(洲、省/地區、省份、電訊廠商)無法做到 100% 準確,且 VPN 或代理服務會改變 IP 的歸屬地顯示,導致地理位置攔截失效。
私人 IP 段(如 100.64.0.0/10)及代理 IP 可能被識別為 Unknown 地區,ESA 不支援直接攔截 Unknown 地區。
建議:
在地區限制規則中增加
User-Agent或Referer的組合條件(例如:非指定地區 AND User-Agent 不是特定值),降低單獨依賴地區判斷帶來的誤判。出現誤攔截時,可配置白名單規則允許存取正常 IP。
訪問出現 403 Forbidden 錯誤如何排查?
訪問返回 403 Forbidden,常見原因包括:命中了 WAF 的自訂規則攔截動作、命中了 IP 黑名單、觸發了 Referer 防盜鏈規則、或觸發了地區/國家訪問限制等存取控制策略。
排查時,建議先擷取完整的 HTTP 回應標頭資訊,回應標頭中通常會包含命中規則的相關標識,可用於定位具體觸發的規則;然後登入 ESA 控制台,在安全防護模組下逐一檢查自訂規則的匹配條件與執行動作、IP 訪問規則(黑名單)配置,以及緩衝資源相關配置,確認是哪條規則或策略導致了本次攔截。