全部產品
Search
文件中心

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

更新時間:Nov 16, 2024

如果您需要拒絕或允許特定IP訪問網路型負載平衡NLB執行個體,您可以通過NLB安全性群組功能來實現流量的存取控制。通過設定NLB安全性群組,您可以實現黑白名單的存取原則,以便對流量進行更精確的控制。

情境說明

  • NLB執行個體未加入安全性群組時,NLB監聽連接埠預設對所有請求放通。

  • 當NLB執行個體加入安全性群組且未設定任何拒絕策略時,NLB監聽連接埠預設對所有請求放通。如果您需要只允許特定IP訪問NLB,請注意添加一條拒絕策略進行兜底。

當您的NLB執行個體有存取控制的訴求,希望控制NLB執行個體的入流量時,您可以選擇為NLB執行個體添加安全性群組,同時可基於業務設定相應的安全性群組規則。

重要

負載平衡的出方向流量為使用者請求的回包,為了保證您的業務正常運行,NLB的安全性群組對出流量不做限制,您無需額外配置安全性群組出方向規則。

本文從以下2種情境為例介紹NLB安全性群組的黑白名單存取原則。關於安全性群組規則的排序策略,請參見安全性群組規則排序策略

黑名單:NLB安全性群組對指定IP地址的拒絕存取原則

image.png

白名單:NLB安全性群組對指定IP地址的允許存取原則

image.png

使用限制

分類

安全性群組類型

說明

NLB支援加入的安全性群組

  • 普通安全性群組

  • 企業安全性群組

  • 要求安全性群組為專用網路類型,且安全性群組和NLB執行個體屬於同一個Virtual Private Cloud(Virtual Private Cloud)。

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

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

  • 2022年09月30日前建立的NLB公測執行個體不支援加入安全性群組,如需使用安全性群組功能請更換或新購NLB執行個體。

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

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

託管安全性群組

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

前提條件

您已建立4台ECS執行個體。關於如何建立ECS執行個體,請參見自訂購買執行個體

  • ECS01和ECS02執行個體作為NLB執行個體的後端伺服器,且ECS01和ECS02執行個體中部署了應用服務。

    本文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
    
  • ECS03和ECS04執行個體為公網執行個體,用於訪問NLB執行個體。您也可以使用已有的Linux伺服器訪問NLB執行個體,這種情況下無需建立ECS03和ECS04執行個體。

  • 您已註冊網域名稱並完成備案,且通過自有網域名稱為NLB配置CNAME解析

    下表列出了本文ECS執行個體的相關配置,僅供參考。

    分類

    ECS配置

    所屬VPC

    IP

    說明

    ECS01

    • 執行個體規格:ecs.u1-c1m1.large

    • CPU&記憶體:2核(vCPU) 2 GiB

    • 作業系統:Alibaba Cloud Linux 3.2104 LTS 64位更換作業系統

    • 網路類型:Virtual Private Cloud

    VPC01

    • 私網:192.168.0.24

    • 公網:無

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

    ECS02

    • 私網:192.168.0.37

    • 公網:無

    ECS03

    VPC02

    • 私網:192.168.0.25

    • 公網:47.XX.XX.55

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

    ECS04

    • 私網:192.168.0.26

    • 公網:101.XX.XX.251

步驟一:建立伺服器組

  1. 登入網路型負載平衡NLB控制台
  2. 在頂部功能表列,選擇伺服器組所屬的地區。本文選擇華東1(杭州)

  3. 在左側導覽列,選擇網路型負載均衡 NLB > 伺服器組

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

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

    此處僅列出部分配置項,其餘參數可保持預設值。更多資訊,請參見建立伺服器組

    配置

    說明

    伺服器群組類型

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

    伺服器組名稱

    輸入伺服器組名稱。本文輸入RS01。

    VPC

    從VPC下拉式清單中選擇一個VPC。本文選擇VPC1,與ECS01、ECS02執行個體所屬VPC保持一致。

    選擇後端協議

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

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

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

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

  6. 為已添加的伺服器設定連接埠和權重,然後單擊確定。本文連接埠輸入80,權重保持預設值。

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

  1. 在左側導覽列,選擇網路型負載平衡NLB > 執行個體,在執行個體頁面,單擊建立網路型負載平衡

  2. 網路型負載平衡(隨用隨付)購買頁面,完成以下配置。

    此處僅列出部分配置項。其餘參數的配置,請參見建立執行個體

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

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

    • VPC:本文選擇VPC01。

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

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

  5. 單擊監聽頁簽,在監聽頁簽單擊快速建立監聽。在快速建立監聽對話方塊中,配置以下參數,完成TCP 80監聽的建立,然後單擊確定

    監聽配置

    說明

    選擇負載平衡協議

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

    監聽連接埠

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

    轉寄的後端伺服器組

    選擇伺服器類型伺服器類型下的伺服器組。

    本文選擇步驟一:建立伺服器組建立的伺服器組。

  6. NLB執行個體未加入安全性群組時,驗證訪問結果。驗證過程中執行的curl -s http://whatismyip.akamai.com/ 命令是為了擷取當前用戶端的公網IP地址,以方便您識別當前用戶端。

    1. 登入ECS03執行個體,執行telnet 網域名稱 80命令,測試ECS03執行個體是否可以訪問NLB執行個體。

      收到如下所示的回複報文,則表示訪問成功。

      p698514.png

    2. 登入ECS04執行個體。執行telnet 網域名稱 80命令,測試ECS04執行個體是否可以訪問NLB執行個體。

      收到如下所示的回複報文,則表示訪問成功。

      p698636.png

    驗證結果表明:NLB執行個體未加入安全性群組時,ECS03和ECS04可正常訪問NLB執行個體。

步驟三:建立安全性群組

NLB執行個體加入安全性群組前,您需要先至ECS管理主控台建立安全性群組,按照以下訪問規則建立2個安全性群組。

  • 實現黑名單策略的安全性群組1

    新增拒絕策略的規則。本文以拒絕ECS03執行個體的公網IP(47.XX.XX.55)訪問為例,添加一條拒絕策略的規則,預設的安全性群組規則可保留。

    授權策略

    優先順序

    協議類型

    連接埠範圍

    授權對象

    拒絕

    1

    全部

    目的:-1/-1

    源:47.XX.XX.55

  • 實現白名單策略的安全性群組2

    新增允許和拒絕的規則。本文以允許ECS03執行個體的公網IP(47.XX.XX.55)訪問為例,添加一條允許策略的規則,並增加一條拒絕策略的規則,如下表。

    授權策略

    優先順序

    協議類型

    連接埠範圍

    授權對象

    允許

    1

    全部

    目的:-1/-1

    源:47.XX.XX.55

    拒絕

    100

    全部

    目的:-1/-1

    源:0.0.0.0/0

  1. 登入ECS管理主控台

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

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

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

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

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

    • 網路:本文選擇VPC1,與NLB執行個體所屬VPC保持一致。

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

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

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

    2. 單擊建立安全性群組

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

實現黑名單存取原則

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

  1. 登入網路型負載平衡NLB控制台
  2. 在頂部功能表列,選擇NLB執行個體所屬的地區。本文選擇華東1(杭州)

  3. NLB執行個體頁面,找到步驟二:建立NLB執行個體並配置監聽建立的NLB執行個體,單擊執行個體ID。在執行個體詳情頁簽,單擊安全性群組頁簽。

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

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

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

    授權策略

    優先順序

    協議類型

    連接埠範圍

    授權對象

    拒絕

    1

    全部

    目的:-1/-1

    源:47.XX.XX.55

  6. NLB執行個體加入安全性群組後,測試訪問結果。驗證過程中執行的curl -s http://whatismyip.akamai.com/ 命令是為了擷取當前用戶端的公網IP地址,以方便您識別當前用戶端。

    1. 登入ECS03執行個體。執行telnet 網域名稱 80命令,測試ECS03執行個體是否可以訪問NLB執行個體。

      收到如下所示的回複報文,則表示訪問失敗。p698637.png

    2. 登入ECS04執行個體,執行telnet 網域名稱 80命令,測試ECS04執行個體是否可以訪問NLB執行個體。

      收到如下所示的回複報文,則表示訪問成功。p698638.png

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

實現白名單存取原則

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

  1. 登入網路型負載平衡NLB控制台
  2. 在頂部功能表列,選擇NLB執行個體所屬的地區。本文選擇華東1(杭州)

  3. NLB執行個體頁面,找到步驟二:建立NLB執行個體並配置監聽建立的NLB執行個體,單擊執行個體ID。在執行個體詳情頁簽,單擊安全性群組頁簽。

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

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

    授權策略

    優先順序

    協議類型

    連接埠範圍

    授權對象

    允許

    1

    全部

    目的:-1/-1

    源:47.XX.XX.55

    拒絕

    100

    全部

    目的:-1/-1

    源:0.0.0.0/0

  6. NLB執行個體加入安全性群組後,測試訪問結果。驗證過程中執行的curl -s http://whatismyip.akamai.com/ 命令是為了擷取當前用戶端的公網IP地址,以方便您識別當前用戶端。

    1. 登入ECS03執行個體。執行telnet 網域名稱 80命令,測試ECS03執行個體是否可以訪問NLB執行個體。

      收到如下所示的回複報文,則表示訪問成功。p738563.png

    2. 登入ECS04執行個體,執行telnet 網域名稱 80命令,測試ECS04執行個體是否可以訪問NLB執行個體。

      收到如下所示的回複報文,則表示訪問失敗。p738568.png

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

相關文檔