安全性群組規則用來控制ECS執行個體的出入站流量,適用於允許或拒絕特定網路流量、封鎖不必要的連接埠、限制特定協議的流量和配置應用程式存取權限等使用情境。本文介紹安全性群組規則的添加、修改、查詢、刪除和匯入匯出操作。
操作前須知
在添加安全性群組規則之前,請瞭解以下內容:
安全性群組的入方向規則控制ECS執行個體入站的流量,出方向規則控制ECS執行個體出站的流量。ECS 執行個體關聯的多個安全性群組規則將按固定的策略排序,共同決定是否允許存取執行個體出入站的流量。
安全性群組能力概述和使用建議,請參見安全性群組概述。
除了自訂的安全性群組規則,安全性群組還有一些不可見的預設存取控制規則,會影響流量的允許或拒絕,請參見普通安全性群組與企業級安全性群組。
安全性群組規則的構成和排序策略,請參見安全性群組規則。
安全性群組規則有數量限制,您應盡量保持規則的精簡,請參見安全性群組使用限制。
使用情境
當您的ECS執行個體需要對外提供服務時,您需要添加入方向、允許訪問的安全性群組規則。
當您發現ECS執行個體遭受到惡意攻擊行為時,您可以添加入方向、拒絕訪問的安全性群組規則。
當您希望ECS執行個體主動串連外部網路時,需根據安全性群組類型及組內聯通策略判斷是否需要添加出方向、允許訪問的安全性群組規則。
當您不再需要某些出方向、入方向的流量管控時,可以刪除對應方向的安全性群組規則。
當您想要將規則快速複製到其他安全性群組,可使用匯入匯出安全性群組規則功能。
更多情境,請參見安全性群組應用案例。
添加安全性群組規則
安全性群組出入方向規則包含授權策略、優先順序、協議類型、連接埠範圍、授權對象。當流量成功匹配授權對象、連接埠和協議類型時,表示流量匹配到安全性群組規則,才會根據優先順序和授權策略匹配,決定流量是否被允許訪問。否則流量表示未匹配到安全性群組規則,遵循安全性群組的兜底策略。
授權對象:入方向規則中匹配流量的源地址,出方向規則中匹配流量的目的地址。支援配置IP地址(可選擇多個)、安全性群組、首碼列表。
如果授權對象選擇安全性群組和首碼列表,表示選擇安全性群組和首碼列表中所有的IP地址的存取權限受這條安全性群組規則限制。
如果您想實現在不同安全性群組的資源之間的網路互連,您應使用安全性群組方式授權。對於內網訪問,您應使用源安全性群組授權,而不是CIDR網段授權。
對於傳統網路類型的ECS執行個體,阿里雲預設不開啟任何內網的入規則。為了安全考慮,不建議開啟任何基於CIDR網段的授權。
連接埠範圍:匹配流量的連接埠。瞭解典型應用的連接埠及其對應的情境樣本,請參見常用連接埠。
協議類型:匹配流量的協議類型。
TCP協議主要適用於高可靠性的應用,如網頁瀏覽、電子郵件傳輸、遠程登入、上傳下載檔案等。
UDP協議主要適用於速度比準確性更重要的應用,如線上遊戲、視頻會議等。
ICMP協議主要適用於在網路裝置之間傳遞控制資訊,如使用ping命令、錯誤報表、診斷資訊等。
GRE協議主要適用於安全性高的應用,通過GRE可以跨越不同的網路類型(如IP over IP)安全地傳輸資料。
優先順序:匹配流量的優先順序,最高優先順序為1。
對於優先順序不同的規則,流量先匹配優先順序高的規則,如果成功匹配到優先順序高的規則,將會對流量執行規則授權策略指定的動作,不會再去匹配優先順序低的規則。
對於優先順序相同的規則,只是授權策略不同時,優先匹配拒絕策略,再匹配允許策略。
授權策略:匹配流量的授權動作是允許還是拒絕。
安全性群組規則中配置的連接埠,您需要確認該連接埠對應的應用處於啟動狀態,且連接埠需要監聽到0.0.0.0上。如何查看當前連接埠狀態,請參見檢查服務狀態及連接埠監聽狀態。
使用ECS控制台
登入ECS管理主控台。
在左側導覽列,選擇 。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
到目標安全性群組,在操作列單擊管理規則,添加出入方向的安全性群組規則。
方式一:快速添加安全性群組規則
適用於快速設定常用的TCP協議規則,您單擊快速添加後,只需要設定授權策略、授權對象,並選中一個或多個連接埠便能完成。
如果快速添加對話方塊中連接埠範圍不包含您需要放通或者拒絕的連接埠,您可以先勾選一個連接埠建立出一條安全性群組規則,然後修改這條規則的連接埠範圍等。也可以通過方式二:手動添加安全性群組規則,直接設定需要的連接埠。
方式二:手動添加安全性群組規則
您需要設定授權策略、優先順序、協議類型、連接埠範圍、授權對象等資訊。具體操作步驟如下:
單擊手動添加。
在規則列表中,配置新增的安全性群組規則,配置完成後,單擊操作列中的儲存。
單條規則如何設定,請參見安全性群組規則。
使用API
如果您需要更精確地控制ECS執行個體的出流量和入流量,可以使用安全性群組五元組規則。五元組規則包含:源IP地址、源連接埠、目的IP地址、目的連接埠以及協議類型,並且與原有的安全性群組規則完全相容。您可以通過API的方式配置安全性群組五元組規則。更多資訊請參見安全性群組五元組規則。
調用AuthorizeSecurityGroup - 增加安全性群組入方向規則,添加入方向規則。
調用AuthorizeSecurityGroupEgress - 增加安全性群組出方向規則,添加入方向規則。
修改安全性群組規則
修改安全性群組規則後,新的安全性群組規則對安全性群組中的ECS執行個體立即生效,您可能需要監控網路流量和串連情況,以確保修改後的規則滿足實際業務需求,並維持網路安全。更多資訊,請參見什麼是CloudMonitor。
使用ECS控制台
在
頁面,找到需要修改安全性群組規則的安全性群組,單擊操作列中的管理規則。找到需要修改的安全性群組規則,單擊操作列中的編輯,進行修改,完成後,單擊儲存。
使用API
使用ModifySecurityGroupRule - 修改安全性群組入方向規則,修改入方向規則。
使用ModifySecurityGroupEgressRule - 修改安全性群組出方向規則,修改出方向規則。
查詢安全性群組規則
通過健全狀態檢查功能檢測安全性群組中的冗餘規則,可以協助您簡化安全性群組配置,減少管理工作量,提高網路管理的方便性和效率,同時降低安全性漏洞的風險。
使用ECS控制台
方式一:查看單個安全性群組的規則
在
頁面,找到需要修改安全性群組規則的安全性群組,單擊操作列中的管理規則。選擇安全性群組規則所屬的方向,可以查詢到各自分類的安全性群組規則。
說明在安全性群組規則列表上方的搜尋方塊中輸入連接埠或授權對象,能夠快速搜尋出合格安全性群組規則。
方式二:查看ECS執行個體已加入的所有安全性群組中的規則
在
頁面,找到待查看安全性群組規則的目標執行個體並單擊執行個體ID,進入執行個體詳情頁。在安全性群組頁簽下,查看該執行個體加入的所有安全性群組。
單擊操作列管理規則,逐個查詢所有安全性群組的規則。
使用API
使用DescribeSecurityGroupAttribute - 查詢安全性群組和組內規則資訊,查詢安全性群組規則。
刪除安全性群組規則
在刪除安全性群組規則之前,請確保您瞭解此操作可能帶來的影響。避免因誤刪而導致不必要的網路安全問題。如果在刪除安全性群組規則後發現仍然需要使用該規則,您可以重新建立一條新的規則來取代它。
使用ECS控制台
在
頁面,找到需要修改安全性群組規則的安全性群組,單擊操作列中的管理規則。找到需要刪除的安全性群組規則,單擊操作列中的刪除。
在彈出的對話方塊中閱讀提示資訊,確認無誤後,單擊確定。
使用API
使用RevokeSecurityGroup - 刪除安全性群組入方向規則,刪除入方向規則。
使用RevokeSecurityGroupEgress - 刪除出方向安全性群組規則,刪除出方向規則。
檢查安全性群組是否存在冗餘規則
安全性群組的健全狀態檢查功能用於檢查單個安全性群組中是否存在冗餘規則。例如,安全性群組規則A的所有條件被規則B完全包含,並且規則A的優先順序小於等於規則B的優先順序,則規則A被認定為冗餘規則。如果存在冗餘規則,請清除冗餘規則,避免出現安全性群組規則數量達到上限影響安全性群組的使用。
每個安全性群組以及ECS執行個體的每張彈性網卡可以包含的安全性群組規則數量有限。有關安全性群組規則的使用限制及配額,請參見安全性群組使用限制。
使用ECS控制台
在
頁面,找到需要查詢規則的安全性群組,單擊操作列中的管理規則。在訪問規則地區,單擊。
在健全狀態檢查對話方塊中確認是否存在冗餘規則。
如下圖所示,表示該安全性群組中存在兩條冗餘規則。
選中冗餘規則,然後單擊確定,可對冗餘規則進行刪除。
匯入匯出安全性群組規則
ECS控制台支援安全性群組規則匯出和匯入功能,適用於安全性群組規則備份、恢複和遷移等使用情境。
在匯入安全性群組之前,您需要符合如下限制,否則將會有匯入失敗的風險:
安全性群組規則的優先順序範圍1~100,大於100的優先順序需要先刪除,匯入後再重新建立。
ECS控制台支援將安全性群組規則匯出為JSON或CSV檔案。請確保您使用的檔案格式正確,並且遵循了阿里雲的安全性群組規則檔案命名規則。
匯入時建議單次匯入規則數量不超過200條。
在跨地區匯入規則時,不支援安全性群組規則中授權對象為安全性群組和首碼列表。
使用ECS控制台
在
頁面,找到需要匯出安全性群組規則的安全性群組,單擊操作列中的管理規則。在訪問規則地區,選擇對應操作進行管理。
匯入安全性群組規則
單擊,在匯入安全性群組規則對話方塊中,單擊選擇檔案,然後選擇本地的JSON或CSV檔案。然後單擊開始匯入。
如果存在匯入失敗的規則,您可以將游標移到警告圖示上查看失敗原因。
匯出安全性群組規則
單擊,並選擇儲存的檔案格式,下載並儲存到本地。
JSON格式
JSON檔案命名規則樣本為:
ecs_${region_id}_${groupID}.json
假設
regionID
是cn-qingdao
,groupID
是sg-123
,匯出的JSON檔案名稱則是ecs_cn-qingdao_sg-123.json
。CSV格式
CSV檔案命名規則樣本為:
ecs_sgRule_${groupID}_${region_id}_${time}.csv
假設
regionID
是cn-qingdao
,groupID
是sg-123
,time
是2020-01-20
,匯出的CSV檔案名稱則是ecs_sgRule_sg-123_cn-qingdao_2020-01-20.csv
。
安全性群組規則常見問題和最佳實務
關於安全性群組配置、安全性群組規則設定、主機處罰與解禁流程、資源限額管理等常見問題,請參見安全FAQ。
關於協議類型和連接埠範圍的問題,請參見常用連接埠、修改伺服器預設遠程連接埠。
將雲資源(ECS執行個體,彈性網卡)加入新的安全性群組中,請參見安全性群組與ECS執行個體關聯的管理、安全性群組與彈性網卡關聯的管理。
根據業務需要,如果需要修改安全性群組的組內連通策略,請參見修改普通安全性群組的組內連通策略。
安全性群組規則配置最佳實務與應用案例:
如果伺服器開啟了防火牆,並設定了屏蔽外界訪問的規則,那麼在遠端存取該伺服器時,可能會導致訪問失敗。開啟和關閉系統防火牆的最佳實務:
其他最佳實務: