透明接入模式目前支援接入阿里雲ALB執行個體、SLB執行個體(七層監聽)、SLB執行個體(四層監聽)、ECS執行個體的Web流量。本文介紹了在配置透明接入時,如何根據Web應用的部署架構,為伺服器執行個體配置引流連接埠(即為伺服器執行個體上提供Web服務的連接埠開啟透明接入,將連接埠流量引流到WAF進行防護)。
注意事項
引流連接埠配置針對伺服器執行個體+連接埠生效。您為某個伺服器執行個體+連接埠配置引流後,則連接埠的全部流量預設接入WAF防護。
如果多個網域名稱共用同一個伺服器連接埠,則您為其中任意一個網域名稱配置引流,都表示將使用同一個連接埠的所有網域名稱的流量接入WAF防護,暫不支援僅將連接埠上部分網域名稱的流量接入WAF防護。
假設您的ECS執行個體上有網域名稱A和B都通過80連接埠提供服務,則您為網域名稱A配置連接埠引流後,則預設網域名稱B的流量也接入WAF防護。這種情況下,您在為網域名稱B配置連接埠引流時,連接埠配置地區預設已選中80連接埠(佈建網域名A時添加的),您無需修改該配置,只需確認即可。
四層SLB執行個體、ECS執行個體上的HTTPS網站配置連接埠引流時,您必須上傳伺服器執行個體+連接埠下的所有SSL認證,否則可能引發業務異常:
如果連接埠下只有一個SSL認證,僅上傳預設認證即可。
如果連接埠下有多個SSL認證,需要上傳預設認證和所有擴充認證。
配置樣本
以下樣本分別介紹了單伺服器多網域名稱(不共用連接埠)、單伺服器多網域名稱(共用連接埠)、多伺服器多網域名稱(共用連接埠)情境下,如何為不同網域名稱配置連接埠引流,供您參考:
情境1:我有1個伺服器執行個體(server1)和2個網域名稱(domain1和domain2),執行個體(server1)的80連接埠監聽網域名稱(domain1)的流量,執行個體(server1)的443連接埠監聽網域名稱(domain2)的流量。
這種情況下,您可以參照以下步驟,依次為兩個網域名稱配置連接埠引流:
添加網域名稱(domain1)到WAF防護:在連接埠引流配置中,選中80連接埠。
添加完成後,執行個體(server1)80連接埠的Web流量(對應網域名稱domain1)已接入WAF防護。
添加網域名稱(domain2)到WAF防護:在連接埠引流配置中,選中443連接埠。
說明此時80連接埠已預設選中,表示網域名稱(domain1)的流量已接入WAF防護。您無需修改預設選中連接埠的狀態。
添加完成後,執行個體(server1)443連接埠的Web流量(對應網域名稱domain2)已接入WAF防護。
情境2:我有1個伺服器執行個體(server1)和2個網域名稱(domain1和domain2),執行個體(server1)的80連接埠監聽網域名稱(domain1和domain2)的流量。
這種情況下,您可以參照以下步驟,依次為兩個網域名稱配置連接埠引流:
添加網域名稱(domain1)到WAF防護:在連接埠引流配置中,選中80連接埠。
添加完成後,執行個體(server1)80連接埠的Web流量(對應網域名稱domain1和domain2)已接入WAF防護。
此時,網域名稱列表中只有網域名稱(domain1),表示您可以為domain1設定網站防護策略並查詢與domain1相關的防護資料;domain2的流量僅受到WAF預設防護策略的保護。
添加網域名稱(domain2)到WAF防護:連接埠引流配置中已預設選中80連接埠,無需修改,直接確認即可。
添加完成後,網域名稱(domain2)將會出現在網域名稱列表,表示您可以為domain2設定網站防護策略並查詢與domain2相關的防護資料。
情境3:我有2個伺服器執行個體(server1和server2)和3個網域名稱(domain1、domain2和domain3),執行個體(server1)的80連接埠監聽網域名稱(domain1和domain2)的流量,執行個體(server2)的80連接埠監聽網域名稱(domain2和domain3)的流量。
這種情況下,如果您要為網域名稱(domain2)配置連接埠引流,則需要在連接埠引流配置中,選中執行個體(server1)的80連接埠和執行個體(server2)的80連接埠。
添加完成後,執行個體(server1)80連接埠的Web流量(對應網域名稱domain2的部分流量的domain1的全部流量)和執行個體(server2)80連接埠的Web流量(對應網域名稱domain2的部分流量和domain3的全部流量)已接入WAF防護。
此時,網域名稱列表中只有網域名稱(domain2),表示您可以為domain2設定網站防護策略並查詢與domain2相關的防護資料;domain1在執行個體(server1)80連接埠的流量和domain3在執行個體(server2)80連接埠的流量僅受到WAF預設防護策略的保護。
如果您繼續為網域名稱(domain1和domain3)配置連接埠引流,則在連接埠引流配置中,預設已選中執行個體(server1)的80連接埠和執行個體(server2)的80連接埠,您無需修改該配置,直接確認即可。
說明預設選中的連接埠表示網域名稱(domain2)的Web流量已接入WAF防護。您無需修改預設選中連接埠的狀態。
添加完成後,網域名稱(domain1和domain3)將會出現在網域名稱列表。
ALB執行個體連接埠引流
推薦情境:您部署了應用型負載平衡(ALB)執行個體作為Web服務的入口,需要為ALB執行個體監聽連接埠上的流量開啟WAF防護。
前置步驟:在連接埠配置地區,單擊ALB類型頁簽。
執行個體列表說明:執行個體列表展示了負載平衡服務中已建立的公網ALB執行個體,連接埠號碼列展示了ALB執行個體下已建立的HTTP或HTTPS監聽對應的監聽連接埠。
為監聽連接埠開啟WAF防護的方法:在負載平衡控制台,為ALB執行個體建立HTTP或HTTPS監聽,並在監聽配置中選中為監聽開啟WAF安全防護。關於為ALB執行個體建立HTTP、HTTPS監聽的具體操作,請參見添加HTTP監聽、添加HTTPS監聽。
如果您已經建立過HTTP或HTTPS監聽,可以通過修改監聽配置,為監聽開啟或關閉WAF安全防護。
在WAF控制台透明接入模組的ALB類型執行個體列表中,您只可以查看已建立的HTTP或HTTPS監聽是否開啟了WAF防護,不支援修改。如需修改,必須在負載平衡控制台操作。
七層SLB執行個體連接埠引流
推薦情境:您部署了負載平衡(SLB)執行個體作為Web服務的入口,並且已建立HTTP或HTTPS七層協議監聽,需要為SLB執行個體監聽連接埠上的流量開啟WAF防護。
前置步驟:在連接埠配置地區,單擊七層SLB類型頁簽。
執行個體列表說明:七層SLB類型執行個體列表展示了負載平衡服務中已建立的公網SLB執行個體,連接埠號碼列展示了SLB執行個體下已建立的HTTP或HTTPS監聽對應的監聽連接埠。
為監聽連接埠開啟WAF防護的方法:在WAF控制台透明接入模組的七層SLB類型執行個體列表中,從連接埠號碼列(即已有的HTTP或HTTPS監聽連接埠範圍中)選中連接埠。
選中連接埠表示通過該連接埠訪問網站的流量會經過WAF,並受到WAF的檢測和防護。對於未選中的連接埠,通過該連接埠訪問網站的流量直接從用戶端發送到來源站點伺服器,將不會經過WAF。
如果某個連接埠同時監聽多個網站網域名稱的流量,則選中連接埠後,所有網站網域名稱流量預設都開啟了WAF防護。目前暫不支援單獨為某個網站網域名稱的流量開啟防護。
如果執行個體列表的連接埠號碼列提示暫無應用連接埠,表示該執行個體下尚未建立HTTP或HTTPS監聽。您需要先在負載平衡控制台為該執行個體建立HTTP或HTTPS監聽,然後才可以在WAF控制台為連接埠流量開啟WAF防護。關於建立七層HTTP、HTTPS監聽的具體操作,請參見添加HTTP監聽、添加HTTPS監聽。
四層SLB執行個體連接埠引流
推薦情境 :您部署了負載平衡(SLB)執行個體作為Web服務的入口,並且已建立TCP四層協議監聽,需要為SLB執行個體監聽連接埠上的流量開啟WAF防護。
前置步驟:在連接埠配置地區,單擊四層SLB類型頁簽。
執行個體列表說明 :四層SLB類型執行個體列表展示了負載平衡服務中已建立的公網SLB執行個體, 連接埠號碼列展示了已經添加到WAF控制台的TCP監聽連接埠。
操作步驟
該情境下,您必須先將已開啟的監聽連接埠添加到WAF,然後可以為已添加到WAF的連接埠開啟防護。具體操作步驟如下:
將已有的TCP監聽連接埠添加到WAF。
在WAF控制台透明接入模組的四層SLB類型執行個體列表中,單擊連接埠號碼列的添加。
在添加連接埠對話方塊,選擇一個已開啟TCP監聽的連接埠號碼和該連接埠相關 App協議類型(HTTP、HTTPS)。
可選:如果是HTTP連接埠,無需執行該步驟。如果是HTTPS連接埠,按照頁面提示,上傳對應的預設認證和擴充認證(最多可以添加3個)。
認證說明如下:
預設認證 :表示伺服器在收到用戶端的HTTPS請求時,預設返回給用戶端的認證。如果您的伺服器只使用了一個SSL認證,則只需要上傳預設認證。
擴充認證 :表示伺服器在收到用戶端的HTTPS請求時,通過SNI欄位匹配後(檢查請求中SNI擴充包含的網域名稱是否和擴充認證的網域名稱匹配),返回給用戶端的匹配認證。如果用戶端發送的SNI和擴充認證不匹配,則使用預設認證。
SNI(Server Name Indication)是為瞭解決一個伺服器使用多個網域名稱和認證的SSL/TLS擴充。它的工作原理是:在與伺服器建立SSL串連之前,先發送要訪問網站的網域名稱(Hostname),這樣伺服器會根據這個網域名稱返回一個合適的認證。
您可以從以下上傳方式中選擇一種方式上傳認證:
手動上傳:需要手動填寫認證名稱、認證檔案內容、認證私密金鑰內容。
選擇已有認證(推薦):只需從SSL認證服務的已有認證列表,選擇透明接入時要使用的認證。
如果您的認證不在SSL認證服務的認證列表,您可以單擊Apsara Stack Security-認證服務,先將您的認證上傳到SSL認證服務進行統一管理,再選擇已有認證。
為已添加到WAF的連接埠開啟防護:在WAF控制台透明接入模組的四層SLB類型執行個體列表中,從連接埠號碼列已添加的連接埠範圍中選中連接埠。
選中連接埠表示通過該連接埠訪問網站的流量會經過WAF,並受到WAF的檢測和防護。對於未選中的連接埠,通過該連接埠訪問網站的流量直接從用戶端發送到來源站點伺服器,將不會經過WAF。
重要如果某個連接埠同時監聽多個網站網域名稱的流量,則選中連接埠後,所有網站網域名稱流量預設都開啟了WAF防護。目前暫不支援單獨為某個網站網域名稱的流量開啟防護。
ECS執行個體連接埠引流
推薦情境:您直接使用ECS執行個體作為Web服務的入口,需要為ECS執行個體上的HTTP或HTTPS流量開啟WAF防護。
前置步驟:在連接埠配置地區,單擊ECS類型頁簽。
執行個體列表說明:ECS類型執行個體列表展示了Elastic Compute Service服務中已建立的具有公網IP的ECS執行個體,連接埠號碼列展示了已經添加到WAF的連接埠。
操作步驟
該情境下,您必須先在WAF添加要防護的連接埠,然後可以為已添加到WAF的連接埠開啟防護。具體操作步驟如下:
將要防護的連接埠添加到WAF。
在WAF控制台透明接入模組的ECS類型執行個體列表中,單擊連接埠號碼列的添加。
在添加連接埠對話方塊,將連接埠號碼設定為來源站點ECS執行個體上使用的HTTP或HTTPS應用連接埠,並選擇對應的協議類型(HTTP、HTTPS)。
可選:如果是HTTP連接埠,無需執行該步驟。如果是HTTPS連接埠,按照頁面提示,上傳對應的預設認證和擴充認證(最多可以添加3個)。
認證說明如下:
預設認證 :表示伺服器在收到用戶端的HTTPS請求時,預設返回給用戶端的認證。如果您的伺服器只使用了一個SSL認證,則只需要上傳預設認證。
擴充認證 :表示伺服器在收到用戶端的HTTPS請求時,通過SNI欄位匹配後(檢查請求中SNI擴充包含的網域名稱是否和擴充認證的網域名稱匹配),返回給用戶端的匹配認證。如果用戶端發送的SNI和擴充認證不匹配,則使用預設認證。
SNI(Server Name Indication)是為瞭解決一個伺服器使用多個網域名稱和認證的SSL/TLS擴充。它的工作原理是:在與伺服器建立SSL串連之前,先發送要訪問網站的網域名稱(Hostname),這樣伺服器會根據這個網域名稱返回一個合適的認證。
您可以從以下上傳方式中選擇一種方式上傳認證:
手動上傳:需要手動填寫認證名稱、認證檔案內容、認證私密金鑰內容。
選擇已有認證(推薦):只需從SSL認證服務的已有認證列表,選擇透明接入時要使用的認證。
如果您的認證不在SSL認證服務的認證列表,您可以單擊Apsara Stack Security-認證服務,先將您的認證上傳到SSL認證服務進行統一管理,再選擇已有認證。
為已添加到WAF的連接埠開啟防護:在WAF控制台透明接入模組的ECS類型執行個體列表中,從連接埠號碼列已添加的連接埠範圍中選中連接埠 。
選中連接埠表示通過該連接埠訪問網站的流量會經過WAF,並受到WAF的檢測和防護。對於未選中的連接埠,通過該連接埠訪問網站的流量直接從用戶端發送到來源站點伺服器,將不會經過WAF。
重要如果某個連接埠同時監聽多個網站網域名稱的流量,則選中連接埠後,所有網站網域名稱流量預設都開啟了WAF防護。目前暫不支援單獨為某個網站網域名稱的流量開啟防護。