如果您將為或者已為阿里云函數計算(Function Compute,簡稱FC)上的Web應用綁定自定義域名,并通過自定義域名訪問該應用時,您可以在函數計算控制臺,為該自定義域名開啟Web應用防火墻(Web Application Firewall,簡稱WAF)功能,將Web應用業務流量引流到WAF進行安全防護。本文介紹如何為FC自定義域名開啟WAF防護。
背景信息
函數計算是Serverless架構的一種形態,面向函數編程,基于事件驅動提供阿里云服務之間端到端的解決方案。借助函數計算,您可以快速構建多種類型的應用和服務。更多信息,請參見什么是函數計算。
WAF通過SDK模塊化的方式與函數計算原生架構集成,支持為函數計算上的Web應用綁定的自定義域名開啟安全防護,通過識別應用或者應用中函數的業務流量惡意特征,將正常和安全的流量回源至后端函數,避免函數被惡意侵入。
使用限制
云產品接入適用于快速將阿里云ALB、MSE、FC、CLB、ECS、NLB、SAE 2.0或APIG資源接入WAF防護。如需防護非阿里云資源的Web應用,請通過CNAME接入方式將域名下業務接入WAF,具體操作請參見添加域名。
僅支持為華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)和華南1(深圳)地域的FC自定義域名開啟WAF防護。
通過函數計算接入WAF的防護對象暫不支持網頁防篡改、信息泄露防護、Bot管理和API安全功能。
前提條件
已開通中國內地地域的WAF 3.0服務。具體操作,請參見開通包年包月WAF 3.0、開通按量付費WAF 3.0。
如果您開通的是包年包月實例,請確認您的實例還可以添加防護對象。否則,將無法進行云產品接入。
您可以訪問防護對象頁面,查看實例還可以添加的防護對象數。
操作步驟
您可以在為應用創建自定義域名的同時開啟WAF防護,也可以為已有自定義域名開啟WAF防護。
登錄Web應用防火墻3.0控制臺。在頂部菜單欄,選擇WAF實例的資源組和地域(中國內地)。
在左側導航欄,單擊接入管理。
選擇云產品接入頁簽,在左側云產品類型列表,選擇FC。
根據頁面提示,單擊立即授權,完成云產品授權。
完成后,阿里云將自動為您創建WAF服務關聯角色AliyunServiceRoleForWAF。您可以在RAM控制臺的 頁面,查看阿里云為WAF自動創建的服務關聯角色。
說明如果您已經完成云產品授權,則授權頁面不會出現,您可以直接執行后續步驟。
單擊接入,頁面將跳轉到函數計算FC控制臺。
在函數計算控制臺的域名管理頁面,為FC自定義域名開啟WAF防護。
創建自定義域名并開啟WAF防護
在頂部菜單欄,選擇地域為華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)和華南1(深圳),單擊添加自定義域名。
在添加自定義域名頁面,完成如下配置后,單擊創建。
配置項
操作
域名
填寫已在阿里云備案或接入備案的自定義域名名稱。支持單域名(例如
www.aliyun.com
)或通配符域名(例如*.aliyun.com
)。HTTPS
根據需要啟用或禁用HTTPS協議訪問自定義域名的功能。取值如下:
啟用:開啟通過HTTPS協議訪問自定義域名的功能。表示支持使用HTTP或HTTPS協議訪問該自定義域名。
說明您還可以選中強制HTTPS復選框,此時僅支持使用HTTPS協議訪問該自定義域名,函數計算會將所有使用HTTP協議訪問該自定義域名的請求重定向至HTTPS協議。
禁用:關閉通過HTTPS協議訪問自定義域名功能。表示僅支持使用HTTP協議訪問該自定義域名,使用HTTPS協議將無法訪問該自定義域名。
證書類型
選擇要上傳的證書類型。當您啟用HTTPS協議訪問自定義域名的功能時,需設置此配置項。取值說明如下:
阿里云 SSL 證書:選擇您的阿里云SSL證書。如果證書名稱下拉列表為空,則說明您尚未購買阿里云SSL證書,您可以登錄SSL證書管理控制臺購買。具體步驟,請參見購買SSL證書。
手動上傳:手動輸入證書名稱,并填寫PEM 證書內容和PEM 證書密鑰。
說明上傳的證書的大小不能超過20 KB,證書密鑰的大小不能超過4 KB。
TLS 協議版本
選擇函數使用的TLS協議版本。
說明選擇以上TLS協議版本后,您還可以選中開啟支持TLS 1.3復選框,表示同時支持TLS 1.3協議。
加密套件
選擇TLS加密算法套件,如果不配置,默認選擇全部加密套件。取值說明如下:
全部加密套件,兼容性最高,安全性較低:選擇全部加密套件。函數計算支持的加密套件列表請參見強加密和弱加密套件列表。
協議版本的自定義加密套件,請謹慎選擇,避免影響業務:選擇部分支持的加密套件。下拉列表中顯示所有加密套件,您可以單擊加密套件右側的圖標,刪除安全性較弱的弱加密套件,保留您選擇的TLS協議版本支持的加密套件。
重要請謹慎選擇自定義加密套件,確保服務端和客戶端套件的正確匹配。
關于TLS協議版本和其支持的加密套件,請參見TLS協議版本與加密套件對應關系。
函數計算對加密套件的命名使用RFC命名規范。同一個加密套件,使用不同命名規范的命名會存在差異。關于RFC和OpenSSL命名的加密套件名稱差異點,請參見RFC與OpenSSL加密套件命名對照表。
CDN 加速
根據需要啟用或禁用CDN加速開關。為域名設置CDN加速功能后,終端用戶將通過CDN加速域名快速讀取所需內容。
啟用:開啟CDN加速功能。需要填寫自定義的CDN 加速域名。然后登錄CDN控制臺為加速域名配置CNAME。更多信息,請參見步驟四:開啟CDN加速(可選)。
禁用:關閉CDN加速功能。
Web 應用防火墻
根據需要啟用或者禁用Web應用防火墻開關。為自定義域名開啟Web應用防火墻安全防護之后,Web應用防火墻將對該域名上的業務流量進行惡意特征識別和防護,避免函數被惡意侵入。具體信息,請參見開啟Web應用防火墻。
啟用:開啟Web應用防火墻安全防護功能。
禁用:關閉Web應用防火墻安全防護功能。
路由配置
設置路徑與函數的對應關系,即不同的請求路徑可以觸發不同的函數執行。您需要設置以下字段:
路徑:可以觸發指定服務下的指定函數的請求路徑。
服務名稱:來自指定路徑的請求觸發的對應服務。
函數名稱:來自指定路徑的請求觸發的指定服務下的對應函數。
版本或別名:來自指定路徑的請求觸發的指定服務下的對應函數版本或別名。
重寫策略:將匹配指定路徑的請求的URI根據規則進行重寫。具體操作,請參見操作步驟。
您可以根據需要添加多個路由。更多路由信息,請參見路由匹配規則。
為已有自定義域名開啟WAF防護
在頂部菜單欄,選擇地域后,定位到目標自定義域名,單擊操作列的編輯。
在編輯自定義域名頁面,將Web 應用防火墻配置為啟用,然后單擊保存。
完成接入后,WAF會自動生成一個命名為“域名-fc”的防護對象,并為該防護對象默認開啟基礎防護規則。您可以在接入列表,單擊已接入的域名,在防護對象頁面,查看自動添加的防護對象,并為其配置防護規則。具體操作,請參見防護配置概述。