安全性群組是一種虛擬防火牆,通過其規則控制應用型負載平衡ALB執行個體出/入方向流量。如果您需要拒絕或允許特定IP訪問ALB執行個體,可以使用ALB安全性群組功能來實現流量存取控制。通過配置ALB安全性群組,您可以建立黑白名單的存取原則,以便對流量進行更精確的控制。
情境說明
ALB執行個體未加入安全性群組時,ALB監聽連接埠預設對所有請求允許存取。
當ALB執行個體加入安全性群組且未設定任何拒絕策略時,ALB監聽連接埠預設對所有請求放通。如果您需要只允許特定IP訪問ALB,請注意添加一條拒絕策略進行兜底。
如果您需要拒絕或允許特定IP訪問ALB執行個體,請參見ALB配置安全性群組實現黑白名單存取原則。
如果您需要對ALB實現基於協議/連接埠的存取控制,請參見ALB配置安全性群組實現基於監聽/連接埠粒度的存取控制。
當您的ALB執行個體有存取控制的訴求,希望控制ALB執行個體的入流量時,您可以選擇為ALB執行個體添加安全性群組,同時可基於業務設定相應的安全性群組規則。
負載平衡的出方向流量為使用者請求的回包。為了保證您的業務正常運行,ALB的安全性群組對出流量不做限制,您無需額外配置安全性群組出方向規則。
在ALB執行個體建立完成後,系統會在執行個體所在的VPC網路下自動產生一個託管安全性群組,由ALB執行個體進行管理,您只有查看許可權,沒有操作許可權。ALB託管安全性群組包括以下2類安全性群組規則:
優先順序為1的規則:預設放通Local IP(用於與後端伺服器通訊)。
新增安全性群組規則時,建議您避免對ALB的Local IP添加優先順序為1的拒絕策略,以確保新增的安全性群組規則不會與ALB託管安全性群組策略衝突,因為這可能會影響ALB與您後端服務之間的正常通訊。您可以登入應用型負載平衡ALB控制台,在執行個體詳情頁面查看Local IP。
優先順序為100的規則:預設放通所有IP,即ALB加入安全性群組且未設定任何拒絕策略時,ALB監聽連接埠預設對所有請求放通。
普通安全性群組或企業安全性群組的預設存取控制規則(不可見)中存在1條拒絕其他任何流量的規則,此時,ALB託管安全性群組的預設放通規則會優先生效。
本文通過以下兩種情境為您介紹ALB安全性群組的黑白名單存取原則。關於安全性群組規則的排序策略,請參見安全性群組規則。
黑名單:ALB安全性群組對指定IP地址的拒絕存取原則
企業在阿里雲某地區使用ALB部署了業務,當公司的安全團隊對業務進行安全監測時,發現某IP地址(如121.XX.XX.12)頻繁發起惡意請求和攻擊嘗試,這不僅帶來了潛在的業務風險,還有可能導致資料泄露等安全隱患。
為瞭解決這個問題,可以在ALB中配置安全性群組規則,限制特定IP地址(如121.XX.XX.12)的存取權限,從而有效阻止惡意請求和攻擊嘗試,保護業務環境的安全和穩定。
白名單:ALB安全性群組對指定IP地址的允許存取原則
企業在阿里雲某地區使用ALB部署了包含敏感資訊的業務。為了嚴格限制對ALB執行個體的存取權限,僅允許特定IP地址(如121.XX.XX.12)訪問,企業可以為ALB配置安全性群組規則,設定只允許該IP地址訪問,拒絕其他所有IP地址的訪問請求。
使用限制
ALB升級執行個體支援通過安全性群組或ACL來管理訪問流量。升級前的ALB執行個體,僅支援通過ACL來進行存取控制。若您需要使用安全性群組,請建立執行個體或向商務經理申請存量執行個體的升級。
分類 | 安全性群組類型 | 說明 |
ALB支援加入的安全性群組 |
|
關於普通安全性群組和企業安全性群組的介紹,請參見普通安全性群組與企業級安全性群組。 |
ALB不支援加入的安全性群組 | 託管安全性群組 | 關於託管安全性群組的介紹,請參見託管安全性群組。 |
前提條件
您已在華東1(杭州)地區建立Virtual Private Cloud1,並分別在可用性區域H和可用性區域I建立了交換器VSW1和VSW2。具體操作,請參見建立專用網路和交換器。
您已在VSW1中建立2台ECS執行個體,且ECS01和ECS02執行個體中部署了應用服務。
關於建立ECS執行個體,請參見自訂購買執行個體。
本文ECS01和ECS02部署測試應用樣本如下:
下表列出本文用戶端和服務端的IP配置,僅供參考。
分類 | IP | 說明 |
服務端ECS01 |
| 作為ALB執行個體後端伺服器。 |
服務端ECS02 |
| |
用戶端03 | 公網:121.XX.XX.12 | 作為訪問ALB執行個體的用戶端。 |
用戶端04 | 公網:121.XX.XX.45 |
操作步驟
步驟一:建立伺服器組
在頂部功能表列,選擇伺服器組所屬的地區。本文選擇華東1(杭州)。
在左側導覽列,選擇。
在伺服器組頁面,單擊建立伺服器組。
在建立伺服器組對話方塊中,完成以下配置,然後單擊建立。
此處僅列出與本文強相關的配置項,其餘部分參數可保持預設值。更多資訊,請參見建立和管理伺服器組。
配置
說明
伺服器群組類型
選擇一種伺服器群組類型。本文選擇伺服器類型。
伺服器組名稱
輸入伺服器組名稱。
VPC
從VPC下拉式清單中選擇一個VPC。本文選擇已建立的VPC1。
選擇後端協議
選擇一種後端協議。本文選擇HTTP。
選擇調度演算法
選擇一種調度演算法。本文選擇加權輪詢。
在伺服器組建立成功對話方塊中單擊添加後端伺服器。
在後端伺服器頁簽單擊添加後端伺服器。
在添加後端伺服器面板,選擇已建立的ECS01和ECS02執行個體,然後單擊下一步。
為已添加的伺服器設定連接埠和權重,然後單擊確定。
步驟二:建立ALB執行個體並配置監聽
在執行個體頁面,單擊建立應用型負載平衡。
在購買頁面,完成以下配置。
此處僅列出和本文強相關的配置項,其他未列出的配置項使用預設值。關於參數的更多資訊,請參見建立和管理ALB執行個體。
地區:本文選擇華東1(杭州)。
執行個體網路類型:本文選擇公網。
VPC:本文選擇已建立的VPC1。
單擊立即購買,然後根據控制台提示完成執行個體開通。
返回執行個體頁面,找到已建立的ALB執行個體,單擊該ALB執行個體ID。
單擊監聽頁簽,然後單擊快速建立監聽。
在快速建立監聽對話方塊中,配置以下參數,完成HTTP 80監聽的建立,然後單擊確定。
配置
說明
選擇監聽協議
選擇監聽的協議類型。本文選擇HTTP。
監聽連接埠
輸入監聽連接埠。本文輸入80。
轉寄的後端伺服器組
在伺服器類型下選擇目標伺服器組。本文選擇已建立的伺服器組。
步驟三:設定網域名稱解析
實際業務情境中,建議您使用自有網域名稱,通過CNAME解析的方式將自有網域名稱指向ALB執行個體網域名稱。
在左側導覽列,選擇
在執行個體頁面,複製已建立的ALB執行個體的DNS名稱。
執行以下步驟添加CNAME解析記錄。
說明對於非阿里雲註冊網域名稱,需先將網域名稱添加到雲解析控制台,才可以進行網域名稱解析設定。具體操作,請參見網域名稱管理。如果您是阿里雲註冊的網域名稱,請直接執行以下步驟。
登入網域名稱解析控制台。
在權威網域名稱解析頁面,找到目標網域名稱,在操作列單擊解析設定。
在解析設定頁面,單擊添加記錄。
在添加記錄面板,配置以下資訊完成CNAME解析配置,然後單擊確定。
配置
說明
記錄類型
在下拉式清單中選擇CNAME。
主機記錄
您的網域名稱的首碼。本文輸入@。
說明建立網域名稱為根網域名稱時,主機記錄為
@。解析請求來源
選擇預設。
記錄值
輸入欄位名對應的CNAME地址,即您複製的ALB執行個體的DNS名稱。
TTL
全稱Time To Live,表示DNS記錄在DNS伺服器上的緩衝時間,本文使用預設值。
步驟四:建立安全性群組
在ALB執行個體加入安全性群組前,您需要先至ECS管理主控台建立安全性群組,按照以下訪問規則建立2個安全性群組。
實現黑名單策略的安全性群組1
新增拒絕策略的規則。本文以拒絕公網IP(121.XX.XX.12)訪問為例,添加一條拒絕策略的規則。預設的安全性群組規則可保留。
授權策略
優先順序
協議類型
連接埠範圍
授權對象
拒絕
1
全部
目的:-1/-1
源:121.XX.XX.12
實現白名單策略的安全性群組2
新增允許和拒絕的規則。本文以允許公網IP(121.XX.XX.12)為例,添加一條允許策略的規則,並添加一條拒絕策略的規則。
授權策略
優先順序
協議類型
連接埠範圍
授權對象
允許
1
全部
目的:-1/-1
源:121.XX.XX.12
拒絕
100
全部
目的:-1/-1
源:0.0.0.0/0
步驟五:ALB執行個體未加入安全性群組並驗證結果
以用戶端03和用戶端04為例,測試用戶端與ECS01和ECS02的連通性。
登入用戶端03,執行
curl http://<自有網域名稱>,收到如下圖所示Hello World ! This is ECS01.報文,表示該用戶端可以訪問ALB執行個體。
登入用戶端04,執行
curl http://<自有網域名稱>,收到如下圖所示Hello World ! This is ECS02.報文,表示該用戶端可以訪問ALB執行個體。
步驟六:ALB執行個體加入安全性群組並驗證結果
實現黑名單存取原則
ALB執行個體加入步驟四:建立安全性群組建立的安全性群組1,並驗證安全性群組1中規則對ALB執行個體的存取控制是否生效。
在頂部功能表列,選擇ALB執行個體的所屬的地區。本文選擇華東1(杭州)。
在ALB執行個體頁面,找到已建立的ALB執行個體,單擊執行個體ID。在執行個體詳情頁面單擊安全性群組頁簽。
在安全性群組頁簽,單擊添加安全性群組,在彈出的ALB執行個體加入安全性群組對話方塊中,選擇步驟四:建立安全性群組建立的安全性群組1,然後單擊確定。
在左側列表框單擊目標安全性群組ID,可單擊入方向或出方向頁簽分別查看安全性群組規則。
此處僅列出與本文強相關的安全性群組入方向規則。
授權策略
優先順序
協議類型
連接埠範圍
授權對象
拒絕
1
全部
目的:-1/-1
源:121.XX.XX.12
ALB執行個體加入安全性群組後,測試訪問結果。
登入用戶端03,執行
curl http://<自有網域名稱>,收到如下圖所示的回複報文,表示該用戶端被拒絕訪問ALB執行個體。
登入用戶端04,執行
curl http://<自有網域名稱>,收到如下圖所示Hello World ! This is ECS01.報文,表示該用戶端可以訪問ALB執行個體。
驗證結果表明:ALB執行個體加入實現黑名單策略的安全性群組1後,安全性群組內拒絕規則中的IP地址不能訪問該ALB執行個體,不在安全性群組拒絕規則中的IP可以正常訪問。
實現白名單存取原則
ALB執行個體加入步驟四:建立安全性群組建立的安全性群組2,並驗證安全性群組2中規則對ALB執行個體的存取控制是否生效。
在頂部功能表列,選擇ALB執行個體的所屬的地區。本文選擇華東1(杭州)。
在ALB執行個體頁面,找到已建立的ALB執行個體,單擊執行個體ID。在執行個體詳情頁簽,單擊安全性群組頁簽。
在安全性群組頁簽,單擊添加安全性群組,在彈出的ALB執行個體加入安全性群組對話方塊中,選擇步驟四:建立安全性群組建立的安全性群組2,然後單擊確定。
在左側列表框單擊目標安全性群組ID,可單擊入方向或出方向頁簽分別查看安全性群組規則。
此處僅列出與本文強相關的安全性群組規則
授權策略
優先順序
協議類型
連接埠範圍
授權對象
允許
1
全部
目的:-1/-1
源:121.XX.XX.12
拒絕
100
全部
目的:-1/-1
源:所有IPv4(0.0.0.0/0)
ALB執行個體加入安全性群組後,測試訪問結果。
登入用戶端03,執行
curl http://<自有網域名稱>,收到如下圖所示Hello World ! This is ECS01.報文,表示該用戶端可以訪問ALB執行個體。
登入用戶端04,執行
curl http://<自有網域名稱>,收到如下圖所示的回複報文,表示該用戶端被拒絕訪問ALB執行個體。
驗證結果表明:ALB執行個體加入實現白名單策略的安全性群組2時,安全性群組內僅允許規則中的IP地址訪問該ALB執行個體。
相關文檔
控制台操作文檔
關於ALB加入安全性群組和解除綁定安全性群組等操作,請參見ALB加入安全性群組。
如何配置安全性群組實現ALB基於監聽/連接埠粒度的存取控制,請參見ALB配置安全性群組實現基於監聽/連接埠粒度的存取控制。
關於普通安全性群組和企業安全性群組的介紹,請參見普通安全性群組與企業級安全性群組。
API文檔
LoadBalancerJoinSecurityGroup:為應用型Server Load Balancer執行個體綁定已建立的安全性群組。
LoadBalancerLeaveSecurityGroup:為應用型Server Load Balancer執行個體解除綁定安全性群組。