引流端口配置
透明接入模式目前支持接入阿里云ALB實(shí)例、SLB實(shí)例(七層監(jiān)聽(tīng))、SLB實(shí)例(四層監(jiān)聽(tīng))、ECS實(shí)例的Web流量。本文介紹了在配置透明接入時(shí),如何根據(jù)Web應(yīng)用的部署架構(gòu),為服務(wù)器實(shí)例配置引流端口(即為服務(wù)器實(shí)例上提供Web服務(wù)的端口開(kāi)啟透明接入,將端口流量引流到WAF進(jìn)行防護(hù))。
通過(guò)透明接入模式添加域名
如果您還沒(méi)有使用透明接入添加域名,可以在WAF控制臺(tái)的網(wǎng)站接入頁(yè)面,單擊網(wǎng)站接入,并在添加域名配置向?qū)е羞x擇透明接入模式,然后可以在添加域名信息模塊中配置引流端口(具體可根據(jù)您的服務(wù)器所在實(shí)例類(lèi)型,參照下文說(shuō)明進(jìn)行配置)。
編輯已添加的域名配置(透明接入)
如果您已經(jīng)使用透明模式添加過(guò)域名,可以在WAF控制臺(tái)的網(wǎng)站接入頁(yè)面,單擊域名配置(透明接入)操作列下的編輯,然后可以在添加域名信息模塊中配置引流端口(具體可根據(jù)您的服務(wù)器所在實(shí)例類(lèi)型,參照下文說(shuō)明進(jìn)行配置)。
注意事項(xiàng)
引流端口配置針對(duì)服務(wù)器實(shí)例+端口生效。您為某個(gè)服務(wù)器實(shí)例+端口配置引流后,則端口的全部流量默認(rèn)接入WAF防護(hù)。
如果多個(gè)域名共用同一個(gè)服務(wù)器端口,則您為其中任意一個(gè)域名配置引流,都表示將使用同一個(gè)端口的所有域名的流量接入WAF防護(hù),暫不支持僅將端口上部分域名的流量接入WAF防護(hù)。
假設(shè)您的ECS實(shí)例上有域名A和B都通過(guò)80端口提供服務(wù),則您為域名A配置端口引流后,則默認(rèn)域名B的流量也接入WAF防護(hù)。這種情況下,您在為域名B配置端口引流時(shí),端口配置區(qū)域默認(rèn)已選中80端口(配置域名A時(shí)添加的),您無(wú)需修改該配置,只需確認(rèn)即可。
四層SLB實(shí)例、ECS實(shí)例上的HTTPS網(wǎng)站配置端口引流時(shí),您必須上傳服務(wù)器實(shí)例+端口下的所有SSL證書(shū),否則可能引發(fā)業(yè)務(wù)異常:
如果端口下只有一個(gè)SSL證書(shū),僅上傳默認(rèn)證書(shū)即可。
如果端口下有多個(gè)SSL證書(shū),需要上傳默認(rèn)證書(shū)和所有擴(kuò)展證書(shū)。
配置示例
以下示例分別介紹了單服務(wù)器多域名(不共用端口)、單服務(wù)器多域名(共用端口)、多服務(wù)器多域名(共用端口)場(chǎng)景下,如何為不同域名配置端口引流,供您參考:
場(chǎng)景1:我有1個(gè)服務(wù)器實(shí)例(server1)和2個(gè)域名(domain1和domain2),實(shí)例(server1)的80端口監(jiān)聽(tīng)域名(domain1)的流量,實(shí)例(server1)的443端口監(jiān)聽(tīng)域名(domain2)的流量。
這種情況下,您可以參照以下步驟,依次為兩個(gè)域名配置端口引流:
添加域名(domain1)到WAF防護(hù):在端口引流配置中,選中80端口。
添加完成后,實(shí)例(server1)80端口的Web流量(對(duì)應(yīng)域名domain1)已接入WAF防護(hù)。
添加域名(domain2)到WAF防護(hù):在端口引流配置中,選中443端口。
說(shuō)明此時(shí)80端口已默認(rèn)選中,表示域名(domain1)的流量已接入WAF防護(hù)。您無(wú)需修改默認(rèn)選中端口的狀態(tài)。
添加完成后,實(shí)例(server1)443端口的Web流量(對(duì)應(yīng)域名domain2)已接入WAF防護(hù)。
場(chǎng)景2:我有1個(gè)服務(wù)器實(shí)例(server1)和2個(gè)域名(domain1和domain2),實(shí)例(server1)的80端口監(jiān)聽(tīng)域名(domain1和domain2)的流量。
這種情況下,您可以參照以下步驟,依次為兩個(gè)域名配置端口引流:
添加域名(domain1)到WAF防護(hù):在端口引流配置中,選中80端口。
添加完成后,實(shí)例(server1)80端口的Web流量(對(duì)應(yīng)域名domain1和domain2)已接入WAF防護(hù)。
此時(shí),域名列表中只有域名(domain1),表示您可以為domain1設(shè)置網(wǎng)站防護(hù)策略并查詢(xún)與domain1相關(guān)的防護(hù)數(shù)據(jù);domain2的流量?jī)H受到WAF默認(rèn)防護(hù)策略的保護(hù)。
添加域名(domain2)到WAF防護(hù):端口引流配置中已默認(rèn)選中80端口,無(wú)需修改,直接確認(rèn)即可。
添加完成后,域名(domain2)將會(huì)出現(xiàn)在域名列表,表示您可以為domain2設(shè)置網(wǎng)站防護(hù)策略并查詢(xún)與domain2相關(guān)的防護(hù)數(shù)據(jù)。
場(chǎng)景3:我有2個(gè)服務(wù)器實(shí)例(server1和server2)和3個(gè)域名(domain1、domain2和domain3),實(shí)例(server1)的80端口監(jiān)聽(tīng)域名(domain1和domain2)的流量,實(shí)例(server2)的80端口監(jiān)聽(tīng)域名(domain2和domain3)的流量。
這種情況下,如果您要為域名(domain2)配置端口引流,則需要在端口引流配置中,選中實(shí)例(server1)的80端口和實(shí)例(server2)的80端口。
添加完成后,實(shí)例(server1)80端口的Web流量(對(duì)應(yīng)域名domain2的部分流量的domain1的全部流量)和實(shí)例(server2)80端口的Web流量(對(duì)應(yīng)域名domain2的部分流量和domain3的全部流量)已接入WAF防護(hù)。
此時(shí),域名列表中只有域名(domain2),表示您可以為domain2設(shè)置網(wǎng)站防護(hù)策略并查詢(xún)與domain2相關(guān)的防護(hù)數(shù)據(jù);domain1在實(shí)例(server1)80端口的流量和domain3在實(shí)例(server2)80端口的流量?jī)H受到WAF默認(rèn)防護(hù)策略的保護(hù)。
如果您繼續(xù)為域名(domain1和domain3)配置端口引流,則在端口引流配置中,默認(rèn)已選中實(shí)例(server1)的80端口和實(shí)例(server2)的80端口,您無(wú)需修改該配置,直接確認(rèn)即可。
說(shuō)明默認(rèn)選中的端口表示域名(domain2)的Web流量已接入WAF防護(hù)。您無(wú)需修改默認(rèn)選中端口的狀態(tài)。
添加完成后,域名(domain1和domain3)將會(huì)出現(xiàn)在域名列表。
ALB實(shí)例端口引流
推薦場(chǎng)景:您部署了應(yīng)用型負(fù)載均衡(ALB)實(shí)例作為Web服務(wù)的入口,需要為ALB實(shí)例監(jiān)聽(tīng)端口上的流量開(kāi)啟WAF防護(hù)。
前置步驟:在端口配置區(qū)域,單擊ALB類(lèi)型頁(yè)簽。
實(shí)例列表說(shuō)明:實(shí)例列表展示了負(fù)載均衡服務(wù)中已創(chuàng)建的公網(wǎng)ALB實(shí)例,端口號(hào)列展示了ALB實(shí)例下已創(chuàng)建的HTTP或HTTPS監(jiān)聽(tīng)對(duì)應(yīng)的監(jiān)聽(tīng)端口。
為監(jiān)聽(tīng)端口開(kāi)啟WAF防護(hù)的方法:在負(fù)載均衡控制臺(tái),為ALB實(shí)例創(chuàng)建HTTP或HTTPS監(jiān)聽(tīng),并在監(jiān)聽(tīng)配置中選中為監(jiān)聽(tīng)開(kāi)啟WAF安全防護(hù)。關(guān)于為ALB實(shí)例創(chuàng)建HTTP、HTTPS監(jiān)聽(tīng)的具體操作,請(qǐng)參見(jiàn)添加HTTP監(jiān)聽(tīng)、添加HTTPS監(jiān)聽(tīng)。
如果您已經(jīng)創(chuàng)建過(guò)HTTP或HTTPS監(jiān)聽(tīng),可以通過(guò)修改監(jiān)聽(tīng)配置,為監(jiān)聽(tīng)開(kāi)啟或關(guān)閉WAF安全防護(hù)。
在WAF控制臺(tái)透明接入模塊的ALB類(lèi)型實(shí)例列表中,您只可以查看已創(chuàng)建的HTTP或HTTPS監(jiān)聽(tīng)是否開(kāi)啟了WAF防護(hù),不支持修改。如需修改,必須在負(fù)載均衡控制臺(tái)操作。
七層SLB實(shí)例端口引流
推薦場(chǎng)景:您部署了負(fù)載均衡(SLB)實(shí)例作為Web服務(wù)的入口,并且已創(chuàng)建HTTP或HTTPS七層協(xié)議監(jiān)聽(tīng),需要為SLB實(shí)例監(jiān)聽(tīng)端口上的流量開(kāi)啟WAF防護(hù)。
前置步驟:在端口配置區(qū)域,單擊七層SLB類(lèi)型頁(yè)簽。
實(shí)例列表說(shuō)明:七層SLB類(lèi)型實(shí)例列表展示了負(fù)載均衡服務(wù)中已創(chuàng)建的公網(wǎng)SLB實(shí)例,端口號(hào)列展示了SLB實(shí)例下已創(chuàng)建的HTTP或HTTPS監(jiān)聽(tīng)對(duì)應(yīng)的監(jiān)聽(tīng)端口。
為監(jiān)聽(tīng)端口開(kāi)啟WAF防護(hù)的方法:在WAF控制臺(tái)透明接入模塊的七層SLB類(lèi)型實(shí)例列表中,從端口號(hào)列(即已有的HTTP或HTTPS監(jiān)聽(tīng)端口范圍中)選中端口。
選中端口表示通過(guò)該端口訪問(wèn)網(wǎng)站的流量會(huì)經(jīng)過(guò)WAF,并受到WAF的檢測(cè)和防護(hù)。對(duì)于未選中的端口,通過(guò)該端口訪問(wèn)網(wǎng)站的流量直接從客戶(hù)端發(fā)送到源站服務(wù)器,將不會(huì)經(jīng)過(guò)WAF。
如果某個(gè)端口同時(shí)監(jiān)聽(tīng)多個(gè)網(wǎng)站域名的流量,則選中端口后,所有網(wǎng)站域名流量默認(rèn)都開(kāi)啟了WAF防護(hù)。目前暫不支持單獨(dú)為某個(gè)網(wǎng)站域名的流量開(kāi)啟防護(hù)。
如果實(shí)例列表的端口號(hào)列提示暫無(wú)應(yīng)用端口,表示該實(shí)例下尚未創(chuàng)建HTTP或HTTPS監(jiān)聽(tīng)。您需要先在負(fù)載均衡控制臺(tái)為該實(shí)例創(chuàng)建HTTP或HTTPS監(jiān)聽(tīng),然后才可以在WAF控制臺(tái)為端口流量開(kāi)啟WAF防護(hù)。關(guān)于創(chuàng)建七層HTTP、HTTPS監(jiān)聽(tīng)的具體操作,請(qǐng)參見(jiàn)添加HTTP監(jiān)聽(tīng)、添加HTTPS監(jiān)聽(tīng)。
四層SLB實(shí)例端口引流
推薦場(chǎng)景 :您部署了負(fù)載均衡(SLB)實(shí)例作為Web服務(wù)的入口,并且已創(chuàng)建TCP四層協(xié)議監(jiān)聽(tīng),需要為SLB實(shí)例監(jiān)聽(tīng)端口上的流量開(kāi)啟WAF防護(hù)。
前置步驟:在端口配置區(qū)域,單擊四層SLB類(lèi)型頁(yè)簽。
實(shí)例列表說(shuō)明 :四層SLB類(lèi)型實(shí)例列表展示了負(fù)載均衡服務(wù)中已創(chuàng)建的公網(wǎng)SLB實(shí)例, 端口號(hào)列展示了已經(jīng)添加到WAF控制臺(tái)的TCP監(jiān)聽(tīng)端口。
操作步驟
該場(chǎng)景下,您必須先將已開(kāi)啟的監(jiān)聽(tīng)端口添加到WAF,然后可以為已添加到WAF的端口開(kāi)啟防護(hù)。具體操作步驟如下:
將已有的TCP監(jiān)聽(tīng)端口添加到WAF。
重要您只有已經(jīng)在負(fù)載均衡控制臺(tái)為SLB實(shí)例創(chuàng)建了TCP協(xié)議監(jiān)聽(tīng),然后才能在WAF控制臺(tái)將已有的TCP監(jiān)聽(tīng)端口添加進(jìn)來(lái)。關(guān)于創(chuàng)建四層TCP協(xié)議監(jiān)聽(tīng)的具體操作,請(qǐng)參見(jiàn)添加TCP監(jiān)聽(tīng)。
在WAF控制臺(tái)透明接入模塊的四層SLB類(lèi)型實(shí)例列表中,單擊端口號(hào)列的添加。
在添加端口對(duì)話(huà)框,選擇一個(gè)已開(kāi)啟TCP監(jiān)聽(tīng)的端口號(hào)和該端口關(guān)聯(lián)的應(yīng)用協(xié)議類(lèi)型(HTTP、HTTPS)。
可選:如果是HTTP端口,無(wú)需執(zhí)行該步驟。如果是HTTPS端口,按照頁(yè)面提示,上傳對(duì)應(yīng)的默認(rèn)證書(shū)和擴(kuò)展證書(shū)(最多可以添加3個(gè))。
證書(shū)說(shuō)明如下:
默認(rèn)證書(shū) :表示服務(wù)器在收到客戶(hù)端的HTTPS請(qǐng)求時(shí),默認(rèn)返回給客戶(hù)端的證書(shū)。如果您的服務(wù)器只使用了一個(gè)SSL證書(shū),則只需要上傳默認(rèn)證書(shū)。
擴(kuò)展證書(shū) :表示服務(wù)器在收到客戶(hù)端的HTTPS請(qǐng)求時(shí),通過(guò)SNI字段匹配后(檢查請(qǐng)求中SNI擴(kuò)展包含的域名是否和擴(kuò)展證書(shū)的域名匹配),返回給客戶(hù)端的匹配證書(shū)。如果客戶(hù)端發(fā)送的SNI和擴(kuò)展證書(shū)不匹配,則使用默認(rèn)證書(shū)。
SNI(Server Name Indication)是為了解決一個(gè)服務(wù)器使用多個(gè)域名和證書(shū)的SSL/TLS擴(kuò)展。它的工作原理是:在與服務(wù)器建立SSL連接之前,先發(fā)送要訪問(wèn)站點(diǎn)的域名(Hostname),這樣服務(wù)器會(huì)根據(jù)這個(gè)域名返回一個(gè)合適的證書(shū)。
您可以從以下上傳方式中選擇一種方式上傳證書(shū):
手動(dòng)上傳:需要手動(dòng)填寫(xiě)證書(shū)名稱(chēng)、證書(shū)文件內(nèi)容、證書(shū)私鑰內(nèi)容。
選擇已有證書(shū)(推薦):只需從SSL證書(shū)服務(wù)的已有證書(shū)列表,選擇透明接入時(shí)要使用的證書(shū)。
如果您的證書(shū)不在SSL證書(shū)服務(wù)的證書(shū)列表,您可以單擊云盾-證書(shū)服務(wù),先將您的證書(shū)上傳到SSL證書(shū)服務(wù)進(jìn)行統(tǒng)一管理,再選擇已有證書(shū)。
為已添加到WAF的端口開(kāi)啟防護(hù):在WAF控制臺(tái)透明接入模塊的四層SLB類(lèi)型實(shí)例列表中,從端口號(hào)列已添加的端口范圍中選中端口。
選中端口表示通過(guò)該端口訪問(wèn)網(wǎng)站的流量會(huì)經(jīng)過(guò)WAF,并受到WAF的檢測(cè)和防護(hù)。對(duì)于未選中的端口,通過(guò)該端口訪問(wèn)網(wǎng)站的流量直接從客戶(hù)端發(fā)送到源站服務(wù)器,將不會(huì)經(jīng)過(guò)WAF。
重要如果某個(gè)端口同時(shí)監(jiān)聽(tīng)多個(gè)網(wǎng)站域名的流量,則選中端口后,所有網(wǎng)站域名流量默認(rèn)都開(kāi)啟了WAF防護(hù)。目前暫不支持單獨(dú)為某個(gè)網(wǎng)站域名的流量開(kāi)啟防護(hù)。
ECS實(shí)例端口引流
推薦場(chǎng)景:您直接使用ECS實(shí)例作為Web服務(wù)的入口,需要為ECS實(shí)例上的HTTP或HTTPS流量開(kāi)啟WAF防護(hù)。
前置步驟:在端口配置區(qū)域,單擊ECS類(lèi)型頁(yè)簽。
實(shí)例列表說(shuō)明:ECS類(lèi)型實(shí)例列表展示了云服務(wù)器ECS服務(wù)中已創(chuàng)建的具有公網(wǎng)IP的ECS實(shí)例,端口號(hào)列展示了已經(jīng)添加到WAF的端口。
操作步驟
該場(chǎng)景下,您必須先在WAF添加要防護(hù)的端口,然后可以為已添加到WAF的端口開(kāi)啟防護(hù)。具體操作步驟如下:
將要防護(hù)的端口添加到WAF。
在WAF控制臺(tái)透明接入模塊的ECS類(lèi)型實(shí)例列表中,單擊端口號(hào)列的添加。
在添加端口對(duì)話(huà)框,將端口號(hào)設(shè)置為源站ECS實(shí)例上使用的HTTP或HTTPS應(yīng)用端口,并選擇對(duì)應(yīng)的協(xié)議類(lèi)型(HTTP、HTTPS)。
可選:如果是HTTP端口,無(wú)需執(zhí)行該步驟。如果是HTTPS端口,按照頁(yè)面提示,上傳對(duì)應(yīng)的默認(rèn)證書(shū)和擴(kuò)展證書(shū)(最多可以添加3個(gè))。
證書(shū)說(shuō)明如下:
默認(rèn)證書(shū) :表示服務(wù)器在收到客戶(hù)端的HTTPS請(qǐng)求時(shí),默認(rèn)返回給客戶(hù)端的證書(shū)。如果您的服務(wù)器只使用了一個(gè)SSL證書(shū),則只需要上傳默認(rèn)證書(shū)。
擴(kuò)展證書(shū) :表示服務(wù)器在收到客戶(hù)端的HTTPS請(qǐng)求時(shí),通過(guò)SNI字段匹配后(檢查請(qǐng)求中SNI擴(kuò)展包含的域名是否和擴(kuò)展證書(shū)的域名匹配),返回給客戶(hù)端的匹配證書(shū)。如果客戶(hù)端發(fā)送的SNI和擴(kuò)展證書(shū)不匹配,則使用默認(rèn)證書(shū)。
SNI(Server Name Indication)是為了解決一個(gè)服務(wù)器使用多個(gè)域名和證書(shū)的SSL/TLS擴(kuò)展。它的工作原理是:在與服務(wù)器建立SSL連接之前,先發(fā)送要訪問(wèn)站點(diǎn)的域名(Hostname),這樣服務(wù)器會(huì)根據(jù)這個(gè)域名返回一個(gè)合適的證書(shū)。
您可以從以下上傳方式中選擇一種方式上傳證書(shū):
手動(dòng)上傳:需要手動(dòng)填寫(xiě)證書(shū)名稱(chēng)、證書(shū)文件內(nèi)容、證書(shū)私鑰內(nèi)容。
選擇已有證書(shū)(推薦):只需從SSL證書(shū)服務(wù)的已有證書(shū)列表,選擇透明接入時(shí)要使用的證書(shū)。
如果您的證書(shū)不在SSL證書(shū)服務(wù)的證書(shū)列表,您可以單擊云盾-證書(shū)服務(wù),先將您的證書(shū)上傳到SSL證書(shū)服務(wù)進(jìn)行統(tǒng)一管理,再選擇已有證書(shū)。
為已添加到WAF的端口開(kāi)啟防護(hù):在WAF控制臺(tái)透明接入模塊的ECS類(lèi)型實(shí)例列表中,從端口號(hào)列已添加的端口范圍中選中端口 。
選中端口表示通過(guò)該端口訪問(wèn)網(wǎng)站的流量會(huì)經(jīng)過(guò)WAF,并受到WAF的檢測(cè)和防護(hù)。對(duì)于未選中的端口,通過(guò)該端口訪問(wèn)網(wǎng)站的流量直接從客戶(hù)端發(fā)送到源站服務(wù)器,將不會(huì)經(jīng)過(guò)WAF。
重要如果某個(gè)端口同時(shí)監(jiān)聽(tīng)多個(gè)網(wǎng)站域名的流量,則選中端口后,所有網(wǎng)站域名流量默認(rèn)都開(kāi)啟了WAF防護(hù)。目前暫不支持單獨(dú)為某個(gè)網(wǎng)站域名的流量開(kāi)啟防護(hù)。