存取金鑰(AccessKey)是您調用阿里雲API時用於完成身分識別驗證的憑證,AccessKey泄露會對該帳號下所有資源的安全帶來威脅,產生非預期的費用以及惡意勒索等,嚴重情況下甚至可能給阿里雲或其他使用者帶來危害。本文為您介紹疑似泄露的AccessKey的處理方案,避免AccessKey泄露造成更大範圍的身份憑證冒用風險。
阿里雲安全措施
阿里雲一直致力於提升雲端服務的安全性,並盡最大努力支援您更好地保護您的賬戶及資產安全。當阿里雲根據外部線索,掌握到您的AccessKey已經被公開,阿里雲將通過您預留的連絡方式及時通知您。同時,為保障您的業務及資料安全,阿里雲將對該AccessKey進行限制性保護,禁止該AccessKey調用部分雲產品的高危許可權API,詳情請參見AccessKey限制性保護說明。
請您務必及時關注簡訊、郵箱、站內訊息等渠道的通知,並結合業務實際需求進行及時處置,同時關注您帳號下的雲資源異動,以免影響業務的正常運行。
阿里雲無法也不可能掌握您全部AccessKey的使用安全情況。根據安全責任共擔模型,雲上的安全由您和阿里雲共同分擔。其中AccessKey屬於雲客戶的帳號和身份訪問憑證,相關安全責任仍需要由您負責承擔,請您務必關注。
阿里雲帳號(主帳號)AccessKey疑似泄露手動處理措施
若確認AccessKey不在使用中,請訪問AccessKey管理頁面,直接禁用和刪除AccessKey。
若確認AccessKey在使用中,請訪問AccessKey管理頁面,輪轉AccessKey。
您可以先建立一個新的AccessKey,妥善保管AccessKey Secret。將原AccessKey替換為新的AccessKey,驗證正常運行後,禁用和刪除AccessKey。
RAM使用者AccessKey疑似泄露手動處理措施
若確認AccessKey不在使用中,訪問RAM控制台,直接禁用和刪除RAM使用者的AccessKey。具體操作,請參見禁用RAM使用者的AccessKey、刪除RAM使用者的AccessKey。
若確認AccessKey在使用中且可以直接輪轉,請儘快輪轉。
您可以建立新的AccessKey,妥善保管AccessKey Secret。將原AccessKey替換為新的AccessKey,驗證正常運行後,禁用和刪除舊的AccessKey。具體操作,請參見輪轉RAM使用者的AccessKey。
若確認AccessKey在使用中且短期內無法順利輪轉,為降低被盜用的影響,您可以按照下圖所示步驟進行處置。完成後務必儘快輪轉。
步驟一:縮小AccessKey許可權
請先明確業務情境,在不影響當前業務啟動並執行前提下,儘快縮小疑似泄露的AccessKey許可權,限制高風險許可權,降低業務和資費受損的風險。在AccessKey禁用和刪除之前請不要解除該策略(限制高風險許可權)的授權。
建議限制的高風險許可權,例如:禁止該RAM使用者在存取控制(RAM)中建立新的RAM使用者及授權,禁止ECS、RDS、OSS、SLS資源的釋放,禁止傳送簡訊等。
以下提供一個禁用高風險許可權的自訂權限原則樣本,請您充分評估影響,根據業務情況設定。
{ "Version": "1", "Statement": [ { "Effect": "Deny", "Action": [ "ram:AddUserToGroup", "ram:AttachPolicyToGroup", "ram:AttachPolicyToRole", "ram:AttachPolicyToUser", "ram:ChangePassword", "ram:CreateAccessKey", "ram:CreateLoginProfile", "ram:CreatePolicyVersion", "ram:CreateRole", "ram:CreateUser", "ram:DetachPolicyFromUser", "ram:PassRole", "ram:SetDefaultPolicyVersion", "ram:UpdateAccessKey", "ram:SetPasswordPolicy", "ram:UpdateRole", "ram:UpdateLoginProfile", "ram:UpdateUser" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "ecs:DeleteInstance", "ecs:DeleteInstances", "ecs:DeregisterManagedInstance", "ecs:ReleaseDedicatedHost" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "rds:DeleteAccount", "rds:DeleteDatabase", "rds:DeleteDBInstance", "rds:DestroyDBInstance" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "oss:DeleteBucket", "oss:DeleteObject", "oss:PutBucketAcl", "oss:PutBucketPolicy" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "log:DeleteLogStore", "log:DeleteProject", "log:PutProjectPolicy", "log:DeleteProjectPolicy" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "dysms:CreateProductNew", "dysms:CreateSmsTemplateNew", "dysms:AddSmsTemplate", "dysms:SendSms", "dysms:SendBatchSms" ], "Resource": "*" } ] }
建議您明確AccessKey所需要的業務許可權,將不需要的許可權全部移除。
步驟二:開啟RAM使用者的MFA
按照最佳實務,建議您阿里雲帳號(主帳號)下所有用於控制台訪問的RAM使用者開啟多因素認證(MFA)。
設定主帳號下的RAM使用者登入控制台必須開啟MFA。
具體操作,請參見管理RAM使用者登入設定。
為使用者綁定MFA裝置。
具體操作,請參見為RAM使用者綁定MFA裝置。
步驟三:檢查是否存在AccessKey異常操作
檢查AccessKey是否存在異常操作行為,以及排查是否有其他疑似泄露的身份。重點關注異常的訪問IP、非業務需要的資源建立或刪除操作等。
檢查方式:在RAM控制台尋找RAM使用者的AccessKey列表,在列表中查看操作記錄,或在Action Trail控制台的AccessKey 審計頁面直接輸入AccessKey ID查詢操作記錄。
說明未接入Action Trail的資料類動作記錄,如OSS、SLS等,需要使用各雲產品的日誌功能查詢。
進一步排查除了已知存在泄露風險的AccessKey之外,是否還有其他RAM使用者和AccessKey存在異常操作行為。若發現存在異常行為,與相關人員確認操作是否由本人執行,若存在疑似泄露風險,建議按以下方式處理:
RAM使用者如果需要繼續使用,建議您立即修改RAM使用者密碼並開啟多因素認證(MFA)。
RAM使用者並非正常建立的,或確認為閑置使用者不需要繼續使用的,可進行刪除。RAM使用者刪除後會進入資源回收筒,觀察業務是否受到影響,如有影響該RAM使用者可快速恢複。
AccessKey異常操作,參照上文所述方法進行許可權限制,然後進行輪轉。
步驟四:檢查是否存在異常費用
在費用與成本檢查是否存在異常的費用產生,結合上一步結果,針對性採取產品的防護措施。