全部產品
Search
文件中心

Server Load Balancer:ALB配置安全性群組實現黑白名單存取原則

更新時間:Mar 01, 2025

安全性群組是一種虛擬防火牆,通過其規則控制應用型負載平衡ALB執行個體出/入方向流量。如果您需要拒絕或允許特定IP訪問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執行個體屬於同一個Virtual Private Cloud(Virtual Private Cloud)。

  • ALB執行個體可加入的安全性群組數量及可關聯的安全性群組規則數量,均遵循ECS安全性群組相關配額的限制:

  • 同一個ALB執行個體加入的安全性群組類型需保持一致,即不支援同時加入普通安全性群組和企業級安全性群組。

    某個ALB執行個體已加入普通安全性群組,如果需要加入企業級安全性群組,可解除綁定當前ALB執行個體的所有普通安全性群組後再行操作,反之亦然。

關於普通安全性群組和企業安全性群組的介紹,請參見普通安全性群組與企業級安全性群組

ALB不支援加入的安全性群組

託管安全性群組

關於託管安全性群組的介紹,請參見託管安全性群組

前提條件

  • 您已在華東1(杭州)地區建立Virtual Private Cloud1,並分別在可用性區域H和可用性區域I建立了交換器VSW1和VSW2。具體操作,請參見建立專用網路和交換器

  • 您已在VSW1中建立2台ECS執行個體,且ECS01和ECS02執行個體中部署了應用服務。

    • 關於建立ECS執行個體,請參見自訂購買執行個體

    • 本文ECS01和ECS02部署測試應用樣本如下:

      ECS01服務部署命令

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS01." > index.html

      ECS02服務部署命令

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS02." > index.html
  • 您已經註冊自有網域名稱並完成備案。具體操作,請參見註冊阿里雲網域名稱ICP備案

下表列出本文用戶端和服務端的IP配置,僅供參考。

分類

IP

說明

服務端ECS01

  • 私網:192.168.10.22

  • 公網:無

作為ALB執行個體後端伺服器。

服務端ECS02

  • 私網:192.168.10.35

  • 公網:無

用戶端03

公網:121.XX.XX.12

作為訪問ALB執行個體的用戶端。

用戶端04

公網:121.XX.XX.45

操作步驟

步驟一:建立伺服器組

  1. 登入應用型負載平衡ALB控制台

  2. 在頂部功能表列,選擇伺服器組所屬的地區。本文選擇華東1(杭州)

  3. 在左側導覽列,選擇應用型負載平衡ALB > 伺服器組

  4. 伺服器組頁面,單擊建立伺服器組

  5. 建立伺服器組對話方塊中,完成以下配置,然後單擊建立

    此處僅列出與本文強相關的配置項,其餘部分參數可保持預設值。更多資訊,請參見建立和管理伺服器組

    配置

    說明

    伺服器群組類型

    選擇一種伺服器群組類型。本文選擇伺服器類型

    伺服器組名稱

    輸入伺服器組名稱。

    VPC

    從VPC下拉式清單中選擇一個VPC。本文選擇已建立的VPC1。

    選擇後端協議

    選擇一種後端協議。本文選擇HTTP

    選擇調度演算法

    選擇一種調度演算法。本文選擇加權輪詢

  6. 伺服器組建立成功對話方塊中單擊添加後端伺服器

  7. 後端伺服器頁簽單擊添加後端伺服器

  8. 添加後端伺服器面板,選擇已建立的ECS01和ECS02執行個體,然後單擊下一步

  9. 為已添加的伺服器設定連接埠和權重,然後單擊確定

步驟二:建立ALB執行個體並配置監聽

  1. 登入應用型負載平衡ALB控制台

  2. 執行個體頁面,單擊建立應用型負載平衡

  3. 在購買頁面,完成以下配置。

    此處僅列出和本文強相關的配置項,其他未列出的配置項使用預設值。關於參數的更多資訊,請參見建立和管理ALB執行個體

    • 地區:本文選擇華東1(杭州)

    • 執行個體網路類型:本文選擇公網

    • VPC:本文選擇已建立的VPC1。

  4. 單擊立即購買,然後根據控制台提示完成執行個體開通。

  5. 返回執行個體頁面,找到已建立的ALB執行個體,單擊該ALB執行個體ID。

  6. 單擊監聽頁簽,然後單擊快速建立監聽

  7. 快速建立監聽對話方塊中,配置以下參數,完成HTTP 80監聽的建立,然後單擊確定

    配置

    說明

    選擇監聽協議

    選擇監聽的協議類型。本文選擇HTTP

    監聽連接埠

    輸入監聽連接埠。本文輸入80

    轉寄的後端伺服器組

    伺服器類型下選擇目標伺服器組。本文選擇已建立的伺服器組。

步驟三:設定網域名稱解析

實際業務情境中,建議您使用自有網域名稱,通過CNAME解析的方式將自有網域名稱指向ALB執行個體網域名稱。

  1. 在左側導覽列,選擇應用型負載平衡 ALB > 執行個體

  2. 執行個體頁面,複製已建立的ALB執行個體的DNS名稱。

  3. 執行以下步驟添加CNAME解析記錄。

    說明

    對於非阿里雲註冊網域名稱,需先將網域名稱添加到雲解析控制台,才可以進行網域名稱解析設定。具體操作,請參見網域名稱管理。如果您是阿里雲註冊的網域名稱,請直接執行以下步驟。

    1. 登入網域名稱解析控制台

    2. 權威網域名稱解析頁面,找到目標網域名稱,在操作列單擊解析設定

    3. 解析設定頁面,單擊添加記錄

    4. 添加記錄面板,配置以下資訊完成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

  1. 登入ECS管理主控台

  2. 在左側導覽列,選擇網路與安全 > 安全性群組

  3. 在頂部功能表列,選擇安全性群組所屬的地區。本文選擇華東1(杭州)

  4. 安全性群組頁面,單擊建立安全性群組

  5. 建立安全性群組頁面,設定安全性群組的基本資料參數。

    此處僅列出部分配置項,其餘參數的配置請參見建立安全性群組

    • 網路:本文選擇已建立的VPC。

    • 安全性群組類型:本文選擇普通安全性群組

  6. 建立安全性群組安全性群組頁面,設定安全性群組的訪問規則參數。

    1. 入方向單擊手動添加,分別按照實現黑名單策略的安全性群組1實現白名單策略的安全性群組2的規則建立

    2. 單擊建立安全性群組

步驟五:ALB執行個體未加入安全性群組並驗證結果

以用戶端03和用戶端04為例,測試用戶端與ECS01和ECS02的連通性。

  1. 登入用戶端03,執行curl http://<自有網域名稱> ,收到如下圖所示Hello World ! This is ECS01.報文,表示該用戶端可以訪問ALB執行個體。

    image

  2. 登入用戶端04,執行curl http://<自有網域名稱>,收到如下圖所示Hello World ! This is ECS02.報文,表示該用戶端可以訪問ALB執行個體。

    image

步驟六:ALB執行個體加入安全性群組並驗證結果

實現黑名單存取原則

ALB執行個體加入步驟四:建立安全性群組建立的安全性群組1,並驗證安全性群組1中規則對ALB執行個體的存取控制是否生效。

  1. 登入應用型負載平衡ALB控制台

  2. 在頂部功能表列,選擇ALB執行個體的所屬的地區。本文選擇華東1(杭州)

  3. 在ALB執行個體頁面,找到已建立的ALB執行個體,單擊執行個體ID。在執行個體詳情頁面單擊安全性群組頁簽。

  4. 安全性群組頁簽,單擊添加安全性群組,在彈出的ALB執行個體加入安全性群組對話方塊中,選擇步驟四:建立安全性群組建立的安全性群組1,然後單擊確定

  5. 在左側列表框單擊目標安全性群組ID,可單擊入方向出方向頁簽分別查看安全性群組規則。

    此處僅列出與本文強相關的安全性群組入方向規則。

    授權策略

    優先順序

    協議類型

    連接埠範圍

    授權對象

    拒絕

    1

    全部

    目的:-1/-1

    源:121.XX.XX.12

  6. ALB執行個體加入安全性群組後,測試訪問結果。

    1. 登入用戶端03,執行curl http://<自有網域名稱> ,收到如下圖所示的回複報文,表示該用戶端被拒絕訪問ALB執行個體。

      image

    2. 登入用戶端04,執行curl http://<自有網域名稱> ,收到如下圖所示Hello World ! This is ECS01.報文,表示該用戶端可以訪問ALB執行個體。

      image

驗證結果表明:ALB執行個體加入實現黑名單策略的安全性群組1後,安全性群組內拒絕規則中的IP地址不能訪問該ALB執行個體,不在安全性群組拒絕規則中的IP可以正常訪問。

實現白名單存取原則

ALB執行個體加入步驟四:建立安全性群組建立的安全性群組2,並驗證安全性群組2中規則對ALB執行個體的存取控制是否生效。

  1. 登入應用型負載平衡ALB控制台

  2. 在頂部功能表列,選擇ALB執行個體的所屬的地區。本文選擇華東1(杭州)

  3. 在ALB執行個體頁面,找到已建立的ALB執行個體,單擊執行個體ID。在執行個體詳情頁簽,單擊安全性群組頁簽。

  4. 安全性群組頁簽,單擊添加安全性群組,在彈出的ALB執行個體加入安全性群組對話方塊中,選擇步驟四:建立安全性群組建立的安全性群組2,然後單擊確定

  5. 在左側列表框單擊目標安全性群組ID,可單擊入方向出方向頁簽分別查看安全性群組規則。

    此處僅列出與本文強相關的安全性群組規則

    授權策略

    優先順序

    協議類型

    連接埠範圍

    授權對象

    允許

    1

    全部

    目的:-1/-1

    源:121.XX.XX.12

    拒絕

    100

    全部

    目的:-1/-1

    源:所有IPv4(0.0.0.0/0)

  6. ALB執行個體加入安全性群組後,測試訪問結果。

    1. 登入用戶端03,執行curl http://<自有網域名稱> ,收到如下圖所示Hello World ! This is ECS01.報文,表示該用戶端可以訪問ALB執行個體。

      image

    2. 登入用戶端04,執行curl http://<自有網域名稱> ,收到如下圖所示的回複報文,表示該用戶端被拒絕訪問ALB執行個體。

      image

驗證結果表明:ALB執行個體加入實現白名單策略的安全性群組2時,安全性群組內僅允許規則中的IP地址訪問該ALB執行個體。

相關文檔

控制台操作文檔

API文檔