您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關配置安全組入網規則的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
在云端安全組提供類似虛擬防火墻功能,用于設置單個或多個 ECS 實例的網絡訪問控制,是重要的安全隔離手段。創建 ECS 實例時,您必須選擇一個安全組。您還可以添加安全組規則,對某個安全組下的所有 ECS 實例的出方向和入方向進行網絡控制。
本文主要介紹如何配置安全組的入網規則。
安全組相關的信息
在配置安全組的入網規則之前,您應已經了解以下安全組相關的信息:
安全組限制
安全組默認規則
設置安全組 In 方向的訪問權限
設置安全組 Out 方向的訪問權限
安全組實踐的基本建議
在開始安全組的實踐之前,下面有一些基本的建議:
最重要的規則:安全組應作為白名單使用。
開放應用出入規則時應遵循“最小授權”原則,例如,您可以選擇開放具體的端口(如 80 端口)。
不應使用一個安全組管理所有應用,因為不同的分層一定有不同的需求。
對于分布式應用來說,不同的應用類型應該使用不同的安全組,例如,您應對 Web、Service、Database、Cache 層使用不同的安全組,暴露不同的出入規則和權限。
沒有必要為每個實例單獨設置一個安全組,控制管理成本。
優先考慮 VPC 網絡。
不需要公網訪問的資源不應提供公網 IP。
盡可能保持單個安全組的規則簡潔。因為一個實例最多可以加入 5 個安全組,一個安全組最多可以包括 100 個安全組規則,所以一個實例可能同時應用數百條安全組規則。您可以聚合所有分配的安全規則以判斷是否允許流入或留出,但是,如果單個安全組規則很復雜,就會增加管理的復雜度。所以,應盡可能地保持單個安全組的規則簡潔。
調整線上的安全組的出入規則是比較危險的動作。如果您無法確定,不應隨意更新安全組出入規則的設置。阿里云的控制臺提供了克隆安全組和安全組規則的功能。如果您想要修改線上的安全組和規則,您應先克隆一個安全組,再在克隆的安全組上進行調試,從而避免直接影響線上應用。
設置安全組的入網規則
以下是安全組的入網規則的實踐建議。
不要使用 0.0.0.0/0 的入網規則
允許全部入網訪問是經常犯的錯誤。使用 0.0.0.0/0 意味著所有的端口都對外暴露了訪問權限。這是非常不安全的。正確的做法是,先拒絕所有的端口對外開放。安全組應該是白名單訪問。例如,如果您需要暴露 Web 服務,默認情況下可以只開放 80、8080 和 443 之類的常用TCP端口,其它的端口都應關閉。
{ "IpProtocol" : "tcp", "FromPort" : "80", "ToPort" : "80", "SourceCidrIp" : "0.0.0.0/0", "Policy": "accept"} , { "IpProtocol" : "tcp", "FromPort" : "8080", "ToPort" : "8080", "SourceCidrIp" : "0.0.0.0/0", "Policy": "accept"} , { "IpProtocol" : "tcp", "FromPort" : "443", "ToPort" : "443", "SourceCidrIp" : "0.0.0.0/0", "Policy": "accept"} ,
關閉不需要的入網規則
如果您當前使用的入規則已經包含了 0.0.0.0/0,您需要重新審視自己的應用需要對外暴露的端口和服務。如果確定不想讓某些端口直接對外提供服務,您可以加一條拒絕的規則。比如,如果您的服務器上安裝了 MySQL 數據庫服務,默認情況下您不應該將 3306 端口暴露到公網,此時,您可以添加一條拒絕規則,如下所示,并將其優先級設為100,即優先級最低。
{ "IpProtocol" : "tcp", "FromPort" : "3306", "ToPort" : "3306", "SourceCidrIp" : "0.0.0.0/0", "Policy": "drop", Priority: 100} ,
上面的調整會導致所有的端口都不能訪問 3306 端口,極有可能會阻止您正常的業務需求。此時,您可以通過授權另外一個安全組的資源進行入規則訪問。
授權另外一個安全組入網訪問
不同的安全組按照最小原則開放相應的出入規則。對于不同的應用分層應該使用不同的安全組,不同的安全組應有相應的出入規則。
例如,如果是分布式應用,您會區分不同的安全組,但是,不同的安全組可能網絡不通,此時您不應該直接授權 IP 或者 CIDR 網段,而是直接授權另外一個安全組 ID 的所有的資源都可以直接訪問。比如,您的應用對 Web、Database 分別創建了不同的安全組:sg-web 和 sg-database。在sg-database 中,您可以添加如下規則,授權所有的 sg-web 安全組的資源訪問您的 3306 端口。
{ "IpProtocol" : "tcp", "FromPort" : "3306", "ToPort" : "3306", "SourceGroupId" : "sg-web", "Policy": "accept", Priority: 2} ,
授權另外一個 CIDR 可以入網訪問
經典網絡中,因為網段不太可控,建議您使用安全組 ID 來授信入網規則。
VPC 網絡中,您可以自己通過不同的 VSwitch 設置不同的 IP 域,規劃 IP 地址。所以,在 VPC 網絡中,您可以默認拒絕所有的訪問,再授信自己的專有網絡的網段訪問,直接授信可以相信的 CIDR 網段。
{ "IpProtocol" : "icmp", "FromPort" : "-1", "ToPort" : "-1", "SourceCidrIp" : "10.0.0.0/24", Priority: 2} , { "IpProtocol" : "tcp", "FromPort" : "0", "ToPort" : "65535", "SourceCidrIp" : "10.0.0.0/24", Priority: 2} , { "IpProtocol" : "udp", "FromPort" : "0", "ToPort" : "65535", "SourceCidrIp" : "10.0.0.0/24", Priority: 2} ,
變更安全組規則步驟和說明
變更安全組規則可能會影響您的實例間的網絡通信。為了保證必要的網絡通信不受影響,您應先嘗試以下方法放行必要的實例,再執行安全組策略收緊變更。
注意:執行收緊變更后,應觀察一段時間,確認業務應用無異常后再執行其它必要的變更。
新建一個安全組,將需要互通訪問的實例加入這個安全組,再執行變更操作。
如果授權類型為 安全組訪問,則將需要互通訪問的對端實例所綁定的安全組 ID 添加為授權對象;
如果授權類型為 地址段訪問,則將需要互通訪問的對端實例內網 IP 添加為授權對象。
關于配置安全組入網規則的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。