為保護API Gateway下的雲原生API Gateway(簡稱APIG)執行個體免受Web攻擊,可為其開啟Web Application Firewall(Web Application Firewall,簡稱WAF)防護。該方案在不變更現有網路架構與DNS配置的前提下,為應用提供低延遲、高可用的Web安全防護能力。
接入原理
雲產品接入雲原生API Gateway執行個體時,通過 SDK 整合的方式。SDK 內嵌於雲產品,負責流量提取、檢測與防護。WAF 不參與流量轉寄,避免引入額外轉寄層導致的相容性與穩定性問題。
適用範圍
若雲原生API Gateway執行個體不滿足以下要求,請使用CNAME接入。
帳號要求:APIG執行個體與WAF執行個體必須屬於同一阿里雲帳號(已配置企業多帳號統一管理除外)。
地區要求:僅支援為華東1(杭州)、華東2(上海)、華北2(北京)、華南1(深圳)、華北6(烏蘭察布)、華北3(張家口)、華北1(青島)、西南1(成都)、中國香港、新加坡、印尼(雅加達)、日本(東京)、德國(法蘭克福)、美國(矽谷)、美國(維吉尼亞)地區的APIG執行個體開啟WAF防護。
操作步驟
首次為APIG執行個體啟用WAF防護時,可能觸發網關服務自動重啟,導致長串連中斷,進而引發業務中斷或效能下降。建議在業務低峰期執行此操作。WAF防護規則將在啟用後約5分鐘生效。
進入控制台:
登入Web Application Firewall3.0控制台。在頂部功能表列,選擇WAF執行個體的資源群組和地區(中國內地)。在左側導覽列,單擊接入管理。選擇雲產品接入頁簽,在左側雲產品類型列表,選擇云原生API网关 APIG。
雲產品授權(僅限未完成授權使用者):
根據頁面提示,單擊立即授權,完成雲產品授權。可以在RAM控制台的頁面,查看建立的服務關聯角色AliyunServiceRoleForWAF。
接入云原生API网关 APIG執行個體:
單擊接入,頁面跳轉至雲原生APIG網關控制台。
在左側導覽列單擊实例,開啟WAF防護。
開啟執行個體級防護
在实例頁面中,單擊執行個體ID/名稱列的目標網關。
在基本資料頁簽的网络信息地區中,單擊開啟WAF防護,並在彈出的面板中選擇继续,开启实例级 WAF 防护(推荐)。
開啟路由級防護
在实例頁面中,單擊目標網關操作列的API管理。
在API頁面中,單擊API名称列的目標API,選擇策略配置頁簽。
在入站处理地區,單擊启用策略/插件。選擇Waf策略卡片。
單擊开启路由级 WAF 防护(推荐),然後在彈出的對話方塊單擊确定。
驗證防護效果:
當目標執行個體基本資料頁WAF防護顯示已开启,或目標路由策略配置頁Waf顯示已启用時,表示接入成功。此時在瀏覽器輸入您的網域名稱和Web攻擊代碼進行驗證(例如
<您的網域名稱>/alert(xss),alert(xss)為用作測試的跨站指令碼攻擊代碼),如果返回405攔截提示頁面,表示攻擊已被成功攔截,WAF防護已生效。
後續步驟
查看並配置防護規則
完成接入後,WAF將自動建立一個尾碼為-apig的防護對象,並為該防護對象預設啟用Web核心防護規則等模組的防護規則,可以在WAF控制台的頁面查看。如果預設的防護規則不滿足您的業務需求,可以建立或編輯防護規則。更多資訊,請參見防護配置概述。

接入復原(取消接入)
臨時關閉WAF防護:若在接入後出現問題,例如出現大量誤攔截,需要臨時關閉WAF防護時,可以在WAF控制台的防護對象頁面中,關閉WAF防護狀態開關。更多資訊,請參見一鍵關閉WAF防護功能。
取消接入:若不再希望使用WAF對APIG執行個體進行防護,可以前往雲原生APIG網關控制台,在左側導覽列單擊实例,關閉WAF防護。
關閉執行個體級防護
在实例頁面中,單擊執行個體ID/名稱列的目標網關。
在基本資料頁簽的网络信息地區中,單擊关闭WAF防護,並在彈出的面板中選擇继续,关闭实例级 WAF 防护(不推荐)。
關閉路由級防護
在实例頁面中,單擊目標網關操作列的API管理。
在API頁面中,單擊API名称列的目標API,選擇策略配置頁簽。
在入站处理地區,單擊Waf後的
表徵圖,然後在彈出的對話方塊單擊删除。
重要取消接入後,業務流量將不再受WAF防護,安全報表中也不再包含相關業務流量的防護資料。
若您的WAF執行個體為隨用隨付,取消接入後不會產生請求處理費,但由於WAF執行個體本身及其他防護規則的存在,仍會產生功能費。若不再希望繼續使用WAF並停止WAF計費,請參見關閉WAF。
配額與限制
接入的執行個體數量:未超過 WAF 執行個體規格的上限。
WAF訂用帳戶執行個體:基礎版最多300個;進階版最多600個;企業版最多2,500個;旗艦版最多10,000個。
WAF隨用隨付執行個體:最多10,000個。
不支援的功能:
網頁防篡改。
資訊泄露防護。
Bot管理網頁防爬情境化防護中的自動整合Web SDK。
常見問題
WAF的雲產品接入和CNAME接入有什麼區別?能否一起使用?
WAF 支援兩種接入方式:雲產品接入和 CNAME 接入。
雲產品接入(本文所述方式):快速接入本帳號阿里雲雲產品執行個體。
CNAME接入:接入網域名稱,適用情境廣泛,支援跨帳號、跨雲情境。
兩種方式不可同時使用。每個網域名稱僅可選擇其中一種接入方式,重複配置將導致流量轉寄衝突,使防護功能失效。詳細區別請參見接入概述文檔。