為保護暴露在公網的應用型負載平衡(ALB)執行個體免受Web攻擊,可為其開啟Web Application Firewall(WAF 3.0)防護。該方案將ALB執行個體以原生整合方式升級為“WAF增強版”,在不變更現有網路架構與DNS配置的前提下,為應用提供低延遲、高可用的Web安全防護能力。
接入原理
ALB執行個體開啟WAF防護後,將自動升級為WAF增強版。WAF 3.0基於SDK內嵌架構,將安全檢測能力直接整合至ALB的資料平面。當業務流量到達ALB時,內嵌的SDK在轉寄路徑上即時執行流量分析與威脅檢測,自動攔截惡意請求,合法請求則正常轉寄至後端伺服器。
適用範圍
若ALB 執行個體不滿足以下要求,請使用CNAME接入。
帳號要求:ALB執行個體與WAF執行個體必須屬於同一阿里雲帳號(已配置企業多帳號統一管理除外)。
執行個體地區要求:
地區 | 地區 |
中國 | 西南1(成都)、華北1(青島)、華北2(北京)、華南3(廣州)、華東1(杭州)、華北6(烏蘭察布)、華東2(上海)、華南1(深圳)、華北3(張家口)、中國香港 |
亞太地區 | 菲律賓(馬尼拉)、印尼(雅加達)、日本(東京)、馬來西亞(吉隆坡)、新加坡、泰國(曼穀)、韓國(首爾) |
歐美地區 | 德國(法蘭克福)、美國(矽谷)、美國(維吉尼亞)、墨西哥 |
中東 | 沙特(利雅得) |
操作步驟
進入控制台:
登入Web Application Firewall3.0控制台。在頂部功能表列,選擇WAF執行個體的資源群組和地區(中国内地、非中国内地)。在左側導覽列,單擊接入管理。選擇云产品接入頁簽,在左側雲產品類型列表,選擇应用型负载均衡 ALB。
雲產品授權(僅限未完成授權使用者):
根據頁面提示,單擊立即授權,完成雲產品授權。您可以在RAM控制台的頁面,查看建立的服務關聯角色AliyunServiceRoleForWAF。
接入ALB執行個體:
在右側列表,查看ALB執行個體及其WAF防護狀態,找到希望接入WAF的ALB執行個體,在操作列單擊立即接入,如果找不到目標執行個體,請單擊頁面右上方同步资产,若仍無法找到,說明執行個體不滿足適用範圍。
重要ALB執行個體接入WAF後,將自動升級為ALB WAF增強版,這將在ALB側產生額外費用,詳細資料請參見ALB計費規則。
說明您也可以勾選多個ALB執行個體批量接入,或點擊一键全量接入,一鍵為所有執行個體接入WAF。
驗證防護效果:
當WAF防護狀態顯示全部防护時,表示接入成功。此時在瀏覽器輸入您的網站網域名稱和Web攻擊代碼進行驗證(例如
<您的網站網域名稱>/alert(xss),alert(xss)為用作測試的跨站指令碼攻擊代碼),如果返回405攔截提示頁面,表示攻擊已被成功攔截,WAF防護已生效。
後續步驟
查看並配置防護規則
完成接入後,WAF將自動建立一個尾碼為-alb的防護對象,並為該防護對象預設啟用Web核心防護規則等模組的防護規則,可以在頁面查看。如果預設的防護規則不滿足您的業務需求,可以建立或編輯防護規則。更多資訊,請參見防護配置概述。
若您有多個網域名稱解析指向了同一ALB執行個體,並且希望在接入後單獨為這些網域名稱配置不同的防護規則,則還需要手動將網域名稱添加為防護對象,詳細資料,請參見手動添加防護對象。

相關操作
接入復原(取消接入)
臨時關閉WAF防護:如果您在接入後出現問題,例如出現大量誤攔截,需要臨時關閉WAF防護時,可以在WAF控制台的防护对象頁面中,關閉WAF防护状态開關。更多資訊,請參見一鍵關閉WAF防護功能。
取消接入:如果您不再希望使用WAF對ALB執行個體進行防護,可以在云产品接入頁簽,從左側雲產品類型列表中選擇应用型负载均衡 ALB,在執行個體列表單擊目標執行個體操作列的取消接入,在彈出的對話方塊,單擊確定。
重要取消接入後,ALB執行個體上的業務流量將不再受WAF防護,安全報表中也不再包含相關業務流量的防護資料。
如果您的WAF執行個體為隨用隨付,取消接入ALB執行個體後不會產生請求處理費,但由於WAF執行個體本身及其他防護規則的存在,仍會產生功能費。若您不再希望繼續使用WAF並停止WAF計費,請參見關閉WAF。
在ALB側接入並管理WAF防護
除了本文提供的接入與管理方式,您也可以參考以下文檔,在ALB側為ALB執行個體開啟WAF防護。
在ALB控制台為執行個體開通WAF防護,請參見在ALB側接入WAF防護。
在ALB控制台為已開通防護的執行個體進行管理,請參見在ALB側管理WAF防護。
通過API變更ALB執行個體功能版本,請參見UpdateLoadBalancerEdition - 變更負載平衡版本。
應用於生產環境
接入和取消接入ALB執行個體的過程對業務無影響。但接入ALB執行個體時,您仍需關注日誌與監控,確保業務可用性。
灰階策略:優先在業務低峰期接入非生產環境的ALB執行個體,運行一段時間以確認業務正常後,再接入生產環境的ALB執行個體。
檢查業務:接入完成後,您可以通過如下方式確認業務是否正常。
後續營運:生產環境接入完成後,需進行持續的營運工作,關注攻擊與誤攔截事件。
事件查收:建議關注安全報表,並配置CloudMonitor通知,及時瞭解攻擊事件與安全事件。
調整規則:回顧攻擊日誌,分析是否存在業務請求被誤攔截的情況,針對性最佳化防護規則。
配額與限制
實名認證:購買ALB WAF增強版執行個體前,請先完成實名認證。
執行個體狀態:
僅當ALB基礎版、標準版執行個體狀態為運行中時,才支援升級至WAF增強版。
如需在Container Service Kubernetes 版(ACK)中為 ALB 接入 WAF,請參考使用ALB WAF增強版執行個體保護服務。
接入的執行個體數量:未超過 WAF 執行個體規格的上限。
WAF訂用帳戶執行個體:基礎版最多300個;進階版最多600個;企業版最多2,500個;旗艦版最多10,000個。
WAF隨用隨付執行個體:最多10,000個。
不支援的功能:資訊泄露防護、Bot管理網頁防爬情境化防護中的自動整合Web SDK。
常見問題
為什麼找不到需接入的ALB執行個體?
請先嘗試單擊接入管理頁面右上方同步资产。
若仍無法找到,說明執行個體不滿足適用範圍。例如非中國內地地區的ALB執行個體需要通過購買非中國內地WAF進行雲產品接入,或使用CNAME接入。

同一個網域名稱解析指向了多個ALB執行個體,該如何接入?
使用雲產品接入:需要同時接入這些ALB執行個體,實現WAF對這幾個執行個體進行防護。
使用CNAME接入:CNAME接入此網域名稱並配置來源站點為多個ALB執行個體的CNAME。
多個網域名稱解析指向了同一個ALB執行個體,該如何接入?
使用雲產品接入:接入此雲產品執行個體後,執行個體上的所有網域名稱都將受到WAF預設防護策略的防護。但如果您希望單獨為這些網域名稱配置不同的防護規則,則需要手動將網域名稱添加為防護對象,詳細資料,請參見手動添加防護對象。
使用CNAME接入:逐一接入多個網域名稱。
ALB執行個體上的網域名稱能否同時使用雲產品接入和CNAME接入?
不推薦。每個網域名稱只能使用雲產品接入或CNAME接入兩種模式之一,重複接入將導致轉寄衝突防護失效。如果您已通過CNAME接入的網域名稱,需要切換為雲產品接入,您必須先將DNS解析切換回來源站點,待DNS解析收斂後,刪除該網域名稱的CNAME接入配置,然後重新進行雲產品接入其對應的ALB執行個體。
WAF 2.0與WAF 3.0接入ALB執行個體的原理差異
WAF 3.0 SDK整合:通過 SDK 整合的方式。SDK 內嵌於ALB執行個體,負責流量提取、檢測與防護。WAF 不參與流量轉寄,避免引入額外轉寄層導致的相容性與穩定性問題。請求只經過一道網關,省去了WAF從ALB執行個體同步認證和加密套件配置的步驟,不會出現認證和配置不同步等問題。
WAF 2.0透明化接入:採用透明代理的方式,通過配置引流連接埠,雲產品網關自動改變路由,將Web業務引流到 WAF。WAF 攔截攻擊流量,轉寄正常請求至來源站點,同時參與流量的轉寄和檢測防護。請求需經過兩道網關,WAF側與負載平衡側都需維護逾時時間和認證等配置。
更多資訊,請參見WAF 3.0與WAF 2.0對比。