建立執行個體時應避免安全性群組開放營運連接埠的所有訪問來源IP授權,安全性群組應僅開啟必要連接埠並限制僅允許從指定IP進行訪問。
安全風險
雲端服務器的營運連接埠,如Linux系統的SSH(22連接埠)和Windows系統的RDP(3389連接埠),是管理員遠端管理伺服器的“大門”。如果在安全性群組中將這些連接埠的存取權限設定為對所有IP(即0.0.0.0/0)開放,就等於將這扇大門向整個互連網敞開:
暴力破解攻擊: 攻擊者可以利用自動化工具,持續不斷地嘗試使用常見使用者名稱和密碼組合來登入您的伺服器。一旦成功,他們便能完全控制您的伺服器。
資料泄露與篡改: 入侵者可以竊取、修改您伺服器上的核心業務資料,給您的業務帶來直接損失。
惡意軟體植入: 伺服器可能被用作殭屍網路的一部分(肉雞),用於發起DDoS攻擊、挖礦或作為進一步攻擊其他網路的跳板。
最佳實務
通過安全性群組,僅開啟必要的連接埠,並且連接埠限制只能允許指定來源IP訪問。
控制台
API
使用CreateSecurityGroup介面建立一個新的安全性群組,再通過AuthorizeSecurityGroup介面增加必要的入方向規則,可指定
SourceCidrIp參數限制來源訪問IP。使用RunInstances或者CreateInstance介面建立執行個體時,指定
SecurityGroupId參數來加入安全性群組。
合規能力
檢查:是否存在營運連接埠所有IP開放的安全性群組
ECS使用成熟度等級評估與洞察
選擇安全效能力頁簽,單擊檢查項安全性群組的特定連接埠無限制訪問,可以查看特定連接埠任意IP(即0.0.0.0/0)訪問的執行個體。
Security Center
在左側功能表列選擇,選擇雲產品配置風險頁簽,尋找名為22連接埠禁止任意IP訪問、3389連接埠禁止任意IP訪問的檢查項,單擊操作列的掃描按鈕。
若狀態顯示為未通過,表示存在開啟任意IP訪問22或3389連接埠的執行個體,可單擊詳情進行查看。
攔截:禁止營運連接埠任意IP訪問的執行個體建立操作
在組織或賬戶層面通過RAM Policy策略,主動攔截安全性群組中連接埠任意IP訪問的規則。
針對企業使用者:
使用阿里雲主帳號登入資來源目錄控制台,單擊左側功能表列的管控策略,建立自訂權限原則,粘貼以下JSON內容。
限制連接埠任意IP訪問的執行個體建立、安全性群組建立與修改操作。
{ "Version": "1", "Statement": [ { "Effect": "Deny", "Action": [ "ecs:AuthorizeSecurityGroup", "ecs:ConfigureSecurityGroupPermissions", "ecs:ModifySecurityGroupRule" ], "Resource": "*", "Condition": { "StringLike": { "ecs:SecurityGroupIpProtocols": [ "TCP" ] }, "CIDRInRange": { "ecs:SecurityGroupSourceCidrIps": [ "0.0.0.0/0" ] } } }, { "Effect": "Deny", "Action": [ "ecs:CreateInstance", "ecs:RunInstances" ], "Resource": "*", "Condition": { "Bool": { "ecs:NotSpecifySecureGroupId": [ "true" ] } } } ] }在資來源目錄中選擇合適的節點繫結原則,策略將對目錄下的帳號產生攔截效果。
針對非企業使用者:
使用阿里雲主帳號登入RAM控制台,單擊左側功能表列的權限原則,建立一條與上述內容相同的自訂策略。
通過系統管理權限策略授權將該條權限原則授權給RAM使用者、RAM使用者組或RAM角色。
修複:修改安全性群組規則
修改現有安全性群組規則,將授權對象從 0.0.0.0/0 更改為具體的、可信的IP位址區段。
定位不安全的規則: 使用檢查部分的方法找到存在風險的安全性群組和規則。
修改規則:
前往ECS控制台-安全性群組,找到目標安全性群組,單擊操作列的管理規則,
找到對應的規則(例如,連接埠為22,授權對象為0.0.0.0/0的規則),單擊編輯,將授權對象更新為可信來源IP,單擊確定。
使用阿里雲Workbench遠端連線執行個體時,安全性群組入方向規則如下表所示。
授權策略 | 優先順序 | 協議類型 | 連接埠範圍 | 授權對象 |
允許 | 1 | 自訂TCP |
|
|
為了安全和穩定,營運連接埠建議不要對公網IP(包括辦公網出口)開放,請考慮開放VPC內網IP進行訪問。更多資訊,請參見安全性群組應用指導和案例。