為滿足您在網站提供Web服務、管理遠端連線訪問等常見情境下的網路流量管理需求,本文介紹如何利用安全性群組的特性來配置相應的安全性群組規則,保障雲資源網路流量的安全性和可靠性。
注意事項
在查閱安全性群組應用案例之前,您需要注意以下幾點資訊:
安全性群組預設拒絕所有入方向訪問。
普通安全性群組預設允許所有出方向訪問。
不同安全性群組之間的執行個體預設內網隔離。
在網路類型為專用網路的安全性群組中,一條安全性群組規則可以同時適用於公網和內網存取控制。即通過配置一條規則,您可以限制或允許來自公網和內網的流量訪問。
在網路類型為傳統網路的安全性群組中,由於傳統網路中公網和內網使用相同的IP地址空間,為了控制公網和內網訪問,需要分別建立不同的安全性群組規則。
典型的應用通常使用預設的連接埠來提供服務。這些應用會通過伺服器的特定連接埠與外部進行通訊。更多資訊,請參見常用連接埠。
授權對象為0.0.0.0/0,表示允許所有IP訪問執行個體。請您根據實際業務需求,按照最小範圍開放原則配置安全性群組規則,盡量避免全開(慎用::/0或者0.0.0.0/0)以免引發安全問題。關於安全性群組支援的授權物件類型,請參見安全性群組規則。
網站提供Web服務
對於開放公網訪問的網站伺服器,可以設定安全性群組規則,只允許來自任何源的TCP連接埠80(HTTP)和443(HTTPS)的入站流量,確保網站可以被外部存取,但限制了對伺服器上其他服務的直接存取。
安全性群組規則的配置樣本如下表所示:
規則方向 | 授權策略 | 優先順序 | 協議類型 | 連接埠範圍 | 授權對象 |
入方向 | 允許 | 1 | 自訂TCP | 服務的開放連接埠:
| 源:0.0.0.0/0 |
如果添加安全性群組規則後仍無法訪問網站,請檢查服務的開放連接埠是否正常工作。具體操作,請參見無法訪問ECS執行個體中的服務的排查方法。
管理遠端連線訪問
為了遠端連線ECS執行個體,通常需要開放TCP連接埠22(SSH)或自訂的SSH連接埠。您可以通過設定安全性群組規則,將允許訪問實際遠程連接埠的授權對象限定為特定使用者(如管理員)或特定伺服器的IP,以減少被惡意攻擊的風險。
建議您謹慎管理遠端連線連接埠的授權對象,遵循最小範圍開放原則,盡量避免全開(慎用::/0或者0.0.0.0/0),以免引發安全問題。
安全性群組規則的配置樣本如下表所示:
規則方向 | 授權策略 | 優先順序 | 協議類型 | 連接埠範圍 | 授權對象 |
入方向 | 允許 | 1 | 自訂TCP |
| 源:192.168.XX.XX 說明 特定使用者或特定伺服器的IP地址,根據是公網串連還是私網串連輸入公網IP或者私網IP。 |
使用阿里雲Workbench遠端連線執行個體時,只需允許特定的授權對象即可,安全性群組入方向規則樣本如下表所示。
授權策略 | 優先順序 | 協議類型 | 連接埠範圍 | 授權對象 |
允許 | 1 | 自訂TCP |
|
|
關於使用Workbench串連傳統網路執行個體的安全性群組規則說明,請參見通過密碼或密鑰認證登入Linux執行個體和通過密碼或密鑰認證登入Windows執行個體。
實現不同安全性群組的執行個體內網互連
在同一個專用網路中,如果需要在執行個體之間進行資料共用等操作,例如安全性群組A的執行個體需要通過FTP訪問安全性群組B的執行個體中的共用檔案,您可以通過授權安全性群組的方式實現內網互連。相比於授權單個IP地址或CIDR地址塊,授權安全性群組能夠更加便捷地實現多個執行個體之間的訪問。您可以輕鬆地允許一組執行個體訪問另一組執行個體,而無需逐個配置每個執行個體的存取權限。
如果執行個體分別屬於不同的專用網路,則不能通過安全性群組實現內網互連。您可以使用雲企業網串連不同專用網路之間的執行個體,更多資訊,請參見雲企業網快速入門。
情況一:
安全性群組A和安全性群組B屬於同一帳號時,授權對象填寫安全性群組ID即可,安全性群組規則的配置樣本如下表所示。
規則方向
授權策略
優先順序
協議類型
連接埠範圍
授權對象
入方向
允許
1
自訂TCP
目的:21/21
源:sg-bp1hv6wvmegs036****
說明請根據實際情況替換安全性群組ID。
情況二:
安全性群組A和安全性群組B屬於不同帳號時,授權對象需要填寫阿里雲帳號ID和安全性群組ID,安全性群組規則的配置樣本如下表所示。
規則方向
授權策略
優先順序
協議類型
連接埠範圍
授權對象
入方向
允許
1
自訂TCP
目的:21/21
源:160998252992****/sg-bp174yoe2ib1sqj5****
說明請根據實際情況替換阿里雲帳號ID和安全性群組ID。
資料庫服務存取控制
資料庫服務通常需要更嚴格的安全性原則。您可以通過配置安全性群組,僅允許來自特定IP地址或安全性群組(例如應用伺服器所在的安全性群組)的對應連接埠的入站串連,確保資料庫訪問的私密性和安全性。
建議您謹慎管理資料庫服務的授權對象,遵循最小範圍開放原則,盡量避免全開(慎用::/0或者0.0.0.0/0),以免引發安全問題。
以下是一些常見資料庫在預設連接埠下的安全性群組規則配置:
資料庫類型 | 規則方向 | 授權策略 | 優先順序 | 協議類型 | 連接埠範圍 | 授權對象 |
MySQL | 入方向 | 允許 | 1 | 自訂TCP | 目的:3306/3306 | 源:172.16.XX.XX |
Oracle | 入方向 | 允許 | 1 | 自訂TCP | 目的:1521/1521 | 源:192.168.XX.XX |
MS SQL | 入方向 | 允許 | 1 | 自訂TCP | 目的:1433/1433 | 源:192.168.XX.XX/16 |
PostgreSQL | 入方向 | 允許 | 1 | 自訂TCP | 目的:5432/5432 | 源:sg-bp1hv6wvmegs036**** |
Redis | 入方向 | 允許 | 1 | 自訂TCP | 目的:6379/6379 | 源:160998252992****/sg-bp174yoe2ib1sqj5**** |
請根據實際情況替換IP地址、CIDR地址塊、阿里雲帳號ID和安全性群組ID。
特定協議訪問
根據業務需求,可能需要限制特定的網路通訊協定,例如只允許TCP或UDP的某些連接埠通訊。ICMP協議主要用於在IP主機、路由器之間傳遞控制訊息。在進行一些測試操作之前,需要允許基於ICMP協議的訪問。例如,在用戶端執行ping
命令來測試網路連通性時,就需要允許ICMP協議的訪問。安全性群組規則的配置樣本如下表所示:
規則方向 | 授權策略 | 優先順序 | 協議類型 | 連接埠範圍 | 授權對象 |
入方向 | 允許 | 1 |
| 目的:-1/-1 | 用戶端IP地址 說明 根據網路環境不同,輸入IPv4地址或者IPv6地址。 |
限制執行個體訪問外部網站
如果您需要限制執行個體只能訪問指定網站,可以將安全性群組作為白名單使用,設定預設拒絕所有出方向訪問,然後僅允許訪問指定網站的IP。
設定安全性群組規則時您需要注意:
系統基於協議、連接埠、授權對象匹配到多條安全性群組規則後,會繼續通過優先順序和授權策略來判定最終生效的安全性群組規則,最終結果為允許訪問時才建立會話。
安全性群組規則優先順序的數值越小,代表優先順序越高。在相同優先順序的情況下,如果兩條安全性群組規則只有授權策略不同,則拒絕策略的安全性群組規則生效。因此,拒絕策略的優先順序應低於允許策略的優先順序,這樣允許策略的安全性群組規則才會生效,以實現執行個體僅對指定網站的出方向訪問。
安全性群組規則的配置樣本如下表所示:
規則方向 | 授權策略 | 優先順序 | 協議類型 | 連接埠範圍 | 授權對象 |
出方向 | 拒絕 | 2 | 全部 | 目的:-1/-1 | 目的:0.0.0.0/0 |
出方向 | 允許 | 1 | 自訂TCP | 目的:80/80 | 目的:47.96.XX.XX |
出方向 | 允許 | 1 | 自訂TCP | 目的:443/443 | 目的:121.199.XX.XX |
以上規則表示:允許安全性群組內執行個體訪問47.96.XX.XX上80連接埠的HTTP服務和訪問121.199.XX.XX上443連接埠的HTTPS服務,除此之外其他出方向的訪問均不允許。