修復 IAM 使用者的曝光 - AWS Security Hub

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

修復 IAM 使用者的曝光

AWS Security Hub 可以為 AWS Identity and Access Management (IAM) 使用者產生公開調查結果。

在 Security Hub 主控台上,涉及公開調查結果的 IAM 使用者及其識別資訊會列在調查結果詳細資訊的資源區段中。您可以使用 Security Hub API GetFindingsV2的操作,以程式設計方式擷取資源詳細資訊。

識別暴露調查結果中涉及的資源之後,如果不需要,您可以刪除資源。刪除非必要的資源可以降低您的暴露描述檔和 AWS 成本。如果資源是必要的,請遵循這些建議的修補步驟,以協助降低風險。修復主題會根據特徵類型分割。

單一公開調查結果包含多個修復主題中識別的問題。相反地,您可以透過僅解決一個修補主題來解決暴露問題並降低其嚴重性。您的風險修補方法取決於您的組織需求和工作負載。

注意

本主題提供的修補指引可能需要對其他 AWS 資源進行額外諮詢。

IAM 最佳實務建議您建立 IAM 角色,或與身分提供者使用聯合身分來使用臨時憑證存取 AWS ,而不是建立個別 IAM 使用者。如果這是您組織和使用案例的選項,建議您切換到角色或聯合,而不是使用 IAM 使用者。如需詳細資訊,請參閱「IAM 使用者指南」中的 IAM 使用者

IAM 使用者的錯誤組態特徵

以下是 IAM 使用者的錯誤組態特性和建議的修復步驟。

IAM 使用者具有具有管理存取權的政策

存取 資源時,IAM 政策會將一組權限授予 IAM 使用者。管理政策為 IAM 使用者提供對 AWS 服務和資源的廣泛許可。如果登入資料遭到入侵,提供完整的管理權限,而不是使用者所需的最低許可集,可以增加攻擊範圍。遵循標準安全原則, AWS 建議您授予最低權限,這表示您僅授予執行任務所需的許可。

  1. 檢閱並識別管理政策 – 在資源 ID 中,識別 IAM 角色名稱。前往 IAM 儀表板,然後選取已識別的角色。檢閱連接至 IAM 使用者的許可政策。如果政策是 AWS 受管政策,請尋找 AdministratorAccessIAMFullAccess。否則,在政策文件中,尋找具有 "Effect": "Allow" 陳述式"Action": "*"超過 的陳述式"Resource": "*"

  2. 實作最低權限存取 – 將服務管理政策取代為僅授予使用者運作所需特定許可的政策。如需 IAM 政策安全最佳實務的詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的套用最低權限許可。若要識別不必要的許可,您可以使用 IAM Access Analyzer 了解如何根據存取歷史記錄修改政策。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的外部和未使用存取的調查結果

  3. 安全組態考量 – 如果執行個體需要服務管理許可,請考慮實作這些額外的安全控制來降低風險:

    • 多重要素驗證 (MFA) – MFA 需要其他形式的身分驗證來新增額外的安全層。即使登入資料遭到入侵,這也有助於防止未經授權的存取。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的需要多重要素驗證 (MFA)

    • IAM 條件 – 設定條件元素可讓您根據來源 IP 或 MFA 存留期等因素,限制何時及如何使用管理許可。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的使用 IAM 政策中的條件來進一步限制存取。

    • 許可界限 – 許可界限會建立角色可擁有的最大許可,為具有管理存取權的角色提供護欄。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的使用許可界限來委派 帳戶中的許可管理

IAM 使用者未啟用 MFA

Multi-Factor authentication (MFA) 在使用者名稱和密碼之外,多增加一層保護。啟用 MFA 且 IAM 使用者登入 AWS 網站時,系統會提示他們輸入使用者名稱、密碼和 AWS MFA 裝置的驗證碼。身分驗證委託人必須擁有發出時效性金鑰的裝置,並且必須擁有登入資料的知識。如果沒有 MFA,如果使用者的密碼遭到入侵,攻擊者會取得使用者 AWS 許可的完整存取權。遵循標準安全原則, AWS 建議為所有 AWS Management Console 可存取的帳戶和使用者啟用 MFA。

檢閱 MFA 類型

AWS 支援下列 MFA 類型

  • 通行密鑰和安全金鑰

  • 虛擬驗證器應用程式

  • 硬體 TOTP 權杖

雖然使用實體裝置的身分驗證通常提供更嚴格的安全性保護,但使用任何類型的 MFA 比停用 MFA 更安全。

啟用 MFA

若要啟用符合您需求的 MFA 類型,請參閱《AWS IAM 使用者指南》中的 IAM 中的多重要素驗證請遵循您要實作之特定 MFA 類型的步驟。對於管理許多使用者的組織,您可能需要 MFA 存取敏感資源,以強制執行 MFA 用量。

IAM 使用者具有 管理存取權的政策 AWS 服務

服務管理員政策為 IAM 使用者提供在特定 AWS 服務內執行所有動作的許可。這些政策通常包含使用者執行其任務功能不需要的許可。為 IAM 使用者提供服務管理員權限,而不是所需的最低許可集,可在憑證洩露時增加攻擊範圍。遵循標準安全原則, AWS 建議您授予最低權限,這表示您僅授予執行任務所需的許可。

檢閱和識別服務管理員政策

資源 ID 中,識別 IAM 角色名稱。前往 IAM 儀表板,然後選取已識別的角色。檢閱連接至 IAM 使用者的許可政策。如果政策是 AWS 受管政策,請尋找 AdministratorAccessIAMFullAccess。否則,請在政策文件中尋找具有陳述式 " 的陳述式Effect": "Allow" with "Action": "*" over "Resource": "*"

實作最低權限存取

將服務管理政策取代為僅授予使用者運作所需特定許可的政策。若要識別不必要的許可,您可以使用 IAM Access Analyzer 了解如何根據存取歷史記錄修改政策。

安全組態考量

如果執行個體需要服務管理許可,請考慮實作這些額外的安全控制,以減少暴露:

  • MFA 需要其他形式的身分驗證來新增額外的安全層。即使登入資料遭到入侵,這也有助於防止未經授權的存取。

  • 使用條件元素,根據來源 IP 或 MFA 存留期等因素,限制何時及如何使用管理許可。

  • 使用許可界限來建立角色可擁有的最大許可,為具有管理存取權的角色提供護欄。

IAM 使用者 AWS 的帳戶具有較弱的密碼政策

密碼政策透過強制執行 IAM 使用者密碼的最低複雜性要求,協助防止未經授權的存取。如果沒有強大的密碼政策,使用者帳戶可能會因為密碼猜測或暴力破解攻擊而遭到入侵的風險會增加。遵循標準安全原則, AWS 建議實作強大的密碼政策,以確保使用者建立難以猜測的複雜密碼。

設定強式密碼政策

前往 IAM 儀表板並導覽至帳戶設定。檢閱您帳戶的目前密碼政策設定,包括長度下限、所需的字元類型,以及密碼過期設定。

設定密碼政策時,建議至少 AWS 遵循這些最佳實務:

  • 至少需要一個大寫字元。

  • 至少需要一個小寫字元。

  • 至少需要一個符號。

  • 至少需要一個數字。

  • 至少需要八個字元。

其他安全考慮事項

除了強式密碼政策之外,請考慮以下額外的安全措施:

  • MFA 需要其他形式的身分驗證來新增額外的安全層。即使登入資料遭到入侵,這也有助於防止未經授權的存取。

  • 設定條件元素,根據來源 IP 或 MFA 存留期等因素,限制何時及如何使用管理許可。

IAM 使用者具有未使用的登入資料

未使用的登入資料,包括已閒置 90 天或更長時間的密碼和存取金鑰,都會對您的 AWS 環境造成安全風險。這些未使用的登入資料會為攻擊者建立潛在的攻擊媒介,並增加組織的整體攻擊面。遵循安全最佳實務, AWS 建議停用或移除 90 天或更長時間內未使用的登入資料,以減少您的攻擊面。

停用或移除未使用的登入資料

在公開調查結果中,開啟 資源。這會開啟使用者詳細資訊視窗。在對未使用的登入資料採取動作之前,請評估對您環境的潛在影響。在沒有適當評估的情況下移除登入資料可能會中斷背景程序、排程任務等。在永久移除之前,請考慮短暫停用期間,以驗證移除未使用登入資料的影響。

根據登入資料類型採取適當的動作:

  • 對於未使用的主控台密碼,請考慮先變更密碼並暫時停用。如果沒有發生問題,請繼續永久停用或刪除。

  • 對於未使用的存取金鑰,請考慮先停用金鑰。確認沒有任何系統受到影響後,請繼續永久停用或刪除。

  • 對於未使用的使用者,請考慮在完全刪除之前連接限制性政策來暫時停用使用者。

IAM 使用者具有未輪換的存取金鑰

存取金鑰包含存取金鑰 ID 和私密存取金鑰,以程式設計方式存取 AWS 資源。當存取金鑰長時間保持不變時,如果遭到入侵,它們會增加未經授權的存取風險。遵循安全最佳實務, AWS 建議每 90 天輪換存取金鑰,將攻擊者使用遭入侵登入資料的機會降至最低。

輪換存取金鑰

在公開調查結果中,開啟 資源。這會開啟使用者詳細資訊視窗。若要輪換存取金鑰,請參閱《IAM 使用者指南》中的管理 IAM 使用者的存取金鑰

IAM 使用者具有允許無限制存取 KMS 金鑰解密的政策

AWS KMS 可讓您建立和管理用於保護資料的密碼編譯金鑰。允許所有 KMS 金鑰上不受限制 AWS KMS 解密許可 (例如 kms:Decryptkms:ReEncryptFrom) 的 IAM 政策,如果 IAM 使用者的登入資料遭到洩漏,可能會導致未經授權的資料存取。如果攻擊者取得這些登入資料的存取權,他們可能會解密您環境中的任何加密資料,其中可能包含敏感資料。遵循安全最佳實務, AWS 建議將 AWS KMS 解密許可限制為使用者工作職能所需的特定金鑰,以實作最低權限。

實作最低權限存取

在公開調查結果中,開啟 資源。這會開啟 IAM 政策視窗。尋找 KMS 中允許 kms:Decrypt kms:ReEncryptFrom或 資源規格KMS:*為 的許可"*"。更新政策,將 AWS KMS 解密許可限制為僅需要的特定金鑰。修改政策,將"*"資源取代為必要 AWS KMS 金鑰的特定 ARNs。

安全組態考量

考慮新增條件以進一步限制何時可以使用這些許可。例如,您可以將解密操作限制在特定 VPC 端點或來源 IP 範圍。您也可以設定金鑰政策,進一步限制誰可以使用特定的 KMS 金鑰。