全部產品
Search
文件中心

Elastic Compute Service:避免使用弱口令登入執行個體

更新時間:Sep 10, 2025

避免使用弱口令(弱密碼、簡單密碼)登入ECS執行個體,推薦採用金鑰組認證方式、較高強度密碼認證登入或者使用Workbench免密串連,並配合定期更換策略提高執行個體訪問安全性,消除弱口令帶來的安全風險。

安全風險

使用使用者名稱和密碼登入伺服器是一種便捷但風險較高的身分識別驗證方式,弱口令是最容易出現的也是最容易被利用的漏洞之一,許多使用者出於簡單易記的目的,設定諸如123456、admin@123這樣的弱口令,導致系統存在安全風險:

  • 暴力破解:攻擊者使用自動化工具(如Hydra、John the Ripper)快速嘗試常見密碼組合,短時間內即可破解弱密碼。

  • 資料泄露:破解密碼後,攻擊者可竊取敏感性資料(如個人隱私、財務資訊)或冒充使用者進行欺詐。

  • 橫向攻擊:攻擊者通過弱口令入侵低許可權賬戶(如普通員工郵箱),進一步滲透內網,擷取管理員權限或關鍵系統控制權。

  • 撞庫攻擊:使用者在不同平台重複使用同一弱密碼,一旦某平台泄露,攻擊者利用“撞庫”入侵其他賬戶。

最佳實務

Linux執行個體

建議使用金鑰組認證,相比密碼認證更安全。

控制台

通過執行個體購買頁建立執行個體時,設定登入憑證金鑰組,然後選擇已建立的金鑰組

沒有金鑰組,建立金鑰組後再進行選擇。

API

通過RunInstances或者CreateInstance介面建立執行個體時,指定KeyPairName參數為金鑰組名稱,此時password參數將忽略。

若無金鑰組,可通過CreateKeyPair介面建立金鑰組。

Windows執行個體

建議使用較高強度密碼認證(不支援使用金鑰組認證)。

通過執行個體購買頁建立執行個體時,登入憑證選擇自訂密碼,然後根據提示設定複雜(高強度)登入密碼

  • 設定複雜密碼,複雜密碼應同時滿足以下要求:

    • 密碼長度大於等於8個字元。

    • 至少包含大寫字母(A~Z)、小寫字母(a~z)、數字(0~9)、特殊字元(~、!、@、$、%、^、&、*、-、_、=、+、#、/、?)中的三種字元組合。

    • 密碼不能為使用者名稱或使用者名稱的倒序。

  • 不使用常見或公開的弱口令,常見或公開的弱口令舉例如下:

    • 已公開的常用弱口令。例如abcd1234、admin、root、admin@123等。

    • 數字或字母連排或混排,鍵盤字母連排。例如123456、abcdef、123abc、qwerty、1qaz2wsx等。

    • 短語密碼。例如5201314、woaini1314等。

    • 公司名稱、生日、姓名、身份證、手機號、郵箱名、使用者ID、時間年份等。

  • 定期修改密碼

    建議每隔90天更改一次密碼。

合規能力

檢查:是否存在未使用密鑰認證登入的Linux執行個體

ECS使用成熟度等級評估與洞察

  1. 前往ECS使用成熟度等級評估與洞察

  2. 選擇安全效能力頁簽,單擊檢查項使用金鑰組(僅 Linux),可以查看未使用密鑰認證登入的Linux執行個體。

Security Center

  1. 前往Security Center控制台

  2. 在左側功能表列選擇風險治理 > 雲安全態勢管理,選擇雲產品配置風險頁簽,尋找名為使用SSH金鑰組登入的檢查項,單擊操作列的掃描按鈕。

    若狀態顯示為未通過,表示存在未使用密鑰認證登入的Linux執行個體,可單擊詳情進行查看。

攔截:禁止建立Linux執行個體等操作中配置密碼認證

在組織或賬戶層面通過RAM Policy策略,主動攔截為Linux執行個體設定密碼的行為。

  • 針對企業使用者:

    1. 使用阿里雲主帳號登入資來源目錄控制台,單擊左側功能表列的管控策略建立自訂權限原則,粘貼以下JSON內容。

      禁止在建立執行個體、系統硬碟掛載、更換系統硬碟、修改執行個體屬性以及修改密碼等操作中配置密碼認證方式。

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:RunInstances",
                      "ecs:CreateInstance",
                      "ecs:ReplaceSystemDisk"
                  ],
                  "Resource": "*",
                  "Condition": {
                      "Bool": {
                          "ecs:PasswordCustomized": [
                              "true"
                          ]
                      },
                      "StringEquals": {
                          "ecs:ImagePlatform": "linux"
                      }
                  },
                  "Effect": "Deny"
              },
              {
                  "Action": [
                      "ecs:ModifyInstanceAttribute",
                      "ecs:InvokeCommand",
                      "ecs:AttachDisk"
                  ],
                  "Resource": "*",
                  "Condition": {
                      "Bool": {
                          "ecs:PasswordCustomized": [
                              "true"
                          ]
                      }
                  },
                  "Effect": "Deny"
              }
          ]
      }
    2. 在資來源目錄中選擇合適的節點繫結原則,策略將對目錄下的帳號產生攔截效果。

  • 針對非企業使用者:

    1. 使用阿里雲主帳號登入RAM控制台,單擊左側功能表列的權限原則,建立一條與上述內容相同的自訂策略。

    2. 通過系統管理權限策略授權將該條權限原則授權給RAM使用者、RAM使用者組或RAM角色。

修複:將現有執行個體切換至密鑰登入

如果檢查發現已有Linux執行個體正在使用密碼登入,將其切換到金鑰組認證。

  1. 綁定金鑰組選擇綁定一個已有的金鑰組,或為其建立一個新的金鑰組並完成綁定。

    綁定金鑰組後,請先用新的金鑰組嘗試登入一次,確保可以成功訪問執行個體。

  2. 禁用密碼登入登入執行個體內部,執行以下指令碼,修改SSH服務組態檔。

    #!/bin/bash
    # 備份原始設定檔
    cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak_$(date +%F)
    
    # 禁用密碼認證:將 PasswordAuthentication 參數修改為 no
    sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
    
    # 重啟 SSH 服務以使配置生效
    # 對於不同作業系統,命令可能為 sshd 或 ssh
    systemctl restart sshd || service sshd restart
  3. 驗證:操作完成後,請重新啟動執行個體,嘗試使用密碼認證登入,此時應登入失敗。然後,再嘗試使用金鑰組登入,確認可以成功登入。