View a markdown version of this page

的 Security Hub CSPM 控制項AWS KMS - AWSSecurity Hub

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

的 Security Hub CSPM 控制項AWS KMS

這些AWS Security Hub CSPM控制項會評估 AWS Key Management Service(AWS KMS) 服務和資源。控制項可能無法全部使用AWS 區域。如需詳細資訊,請參閱依區域的控制項可用性

【KMS.1】 IAM 客戶受管政策不應允許對所有 KMS 金鑰執行解密動作

相關需求:NIST.800-53.r5 AC-2、NIST.800-53.r5 AC-2(1)、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(15)、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-5、NIST.800-53.r5 AC-6、NIST.800-53.r5 AC-6(3)

類別:保護 > 安全存取管理

嚴重性:

資源類型: AWS::IAM::Policy

AWS Config 規則:iam-customer-policy-blocked-kms-actions

排程類型:變更已觸發

參數:

  • blockedActionsPatterns: kms:ReEncryptFrom, kms:Decrypt (不可自訂)

  • excludePermissionBoundaryPolicyTrue(不可自訂)

檢查 IAM 客戶受管政策的預設版本是否允許主體在所有資源上使用AWS KMS解密動作。如果政策已開啟足以允許對所有 KMS 金鑰執行 kms:Decryptkms:ReEncryptFrom動作,則控制項會失敗。

控制項只會檢查資源元素中的 KMS 金鑰,不會考慮政策條件元素中的任何條件。此外,控制項會評估已連接和未連接的客戶受管政策。它不會檢查內嵌政策或AWS受管政策。

透過 AWS KMS,您可以控制誰可以使用您的 KMS 金鑰,並存取您的加密資料。IAM 政策會定義身分 (使用者、群組或角色) 可以對哪些資源執行哪些動作。遵循安全最佳實務,AWS建議您允許最低權限。換句話說,您應該僅將 kms:Decryptkms:ReEncryptFrom許可授予身分,並僅授予執行任務所需的金鑰。否則,使用者可能會使用不適合您資料的金鑰。

決定使用者存取加密資料所需的金鑰集下限,而不是授予所有金鑰的許可。然後設計僅允許使用者使用這些金鑰的政策。例如,不允許所有 KMS 金鑰的kms:Decrypt許可。反之,kms:Decrypt只允許 帳戶特定區域中的金鑰。透過採用最低權限原則,您可以降低意外揭露資料的風險。

修補

若要修改 IAM 客戶受管政策,請參閱《IAM 使用者指南》中的編輯客戶受管政策。編輯政策時,請針對 Resource 欄位提供您要允許解密動作之特定金鑰的 Amazon Resource Name (ARN)。

【KMS.2】 IAM 主體不應具有允許對所有 KMS 金鑰執行解密動作的 IAM 內嵌政策

相關需求:NIST.800-53.r5 AC-2、NIST.800-53.r5 AC-2(1)、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(15)、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-5、NIST.800-53.r5 AC-6、NIST.800-53.r5 AC-6(3)

類別:保護 > 安全存取管理

嚴重性:

資源類型:

  • AWS::IAM::Group

  • AWS::IAM::Role

  • AWS::IAM::User

AWS Config 規則:iam-inline-policy-blocked-kms-actions

排程類型:變更已觸發

參數:

  • blockedActionsPatterns: kms:ReEncryptFrom, kms:Decrypt (不可自訂)

此控制項會檢查內嵌在您的 IAM 身分 (角色、使用者或群組) 中的內嵌政策是否允許對所有 KMS 金鑰進行AWS KMS解密和重新加密動作。如果政策已開啟足以允許對所有 KMS 金鑰執行 kms:Decryptkms:ReEncryptFrom動作,則控制項會失敗。

控制項只會檢查資源元素中的 KMS 金鑰,不會考慮政策條件元素中的任何條件。

透過 AWS KMS,您可以控制誰可以使用您的 KMS 金鑰,並存取您的加密資料。IAM 政策會定義身分 (使用者、群組或角色) 可以對哪些資源執行哪些動作。遵循安全最佳實務,AWS建議您允許最低權限。換言之,您應該僅授予身分所需的許可,並僅授予執行任務所需的金鑰。否則,使用者可能會使用不適合您資料的金鑰。

決定使用者存取加密資料所需的金鑰集下限,而不是授予所有金鑰的許可。然後設計僅允許使用者使用這些金鑰的政策。例如,不允許所有 KMS 金鑰的kms:Decrypt許可。相反地,僅允許您帳戶特定區域中特定金鑰的 許可。透過採用最低權限原則,您可以降低意外揭露資料的風險。

修補

若要修改 IAM 內嵌政策,請參閱《IAM 使用者指南》中的編輯內嵌政策。編輯政策時,請針對 Resource 欄位提供您要允許解密動作之特定金鑰的 Amazon Resource Name (ARN)。

【KMS.3】 AWS KMS keys不應意外刪除

相關需求:NIST.800-53.r5 SC-12、NIST.800-53.r5 SC-12(2)

類別:保護 > 資料保護 > 資料刪除保護

嚴重性:嚴重

資源類型: AWS::KMS::Key

AWS Configrule:kms-cmk-not-scheduled-for-deletion-2(自訂 Security Hub CSPM 規則)

排程類型:變更已觸發

參數:

此控制項會檢查是否已排定刪除 KMS 金鑰。如果排定刪除 KMS 金鑰,則控制項會失敗。

刪除後,無法復原 KMS 金鑰。如果刪除 KMS 金鑰,在 KMS 金鑰下加密的資料也會永久無法復原。如果有意義的資料已在排程刪除的 KMS 金鑰下加密,請考慮解密資料或在新的 KMS 金鑰下重新加密資料,除非您刻意執行密碼編譯清除

排程刪除 KMS 金鑰時,如果排程錯誤,強制執行等待期間以允許時間反轉刪除。預設等待期間為 30 天,但在排定刪除 KMS 金鑰時,可以縮短為 7 天。在等待期間,排程刪除可以取消,而且不會刪除 KMS 金鑰。

如需有關刪除 KMS 金鑰的其他資訊,請參閱《 AWS Key Management Service開發人員指南》中的刪除 KMS 金鑰

修補

若要取消排定的 KMS 金鑰刪除,請參閱《 AWS Key Management Service開發人員指南》中的排程和取消金鑰刪除 (主控台) 下取消金鑰刪除

【KMS.4】 應啟用AWS KMS金鑰輪換

相關要求:CIS AWSFoundations Benchmark v5.0.0/3.6、CIS AWSFoundations Benchmark v3.0.0/3.6、CIS AWSFoundations Benchmark v1.4.0/3.8、CIS AWSFoundations Benchmark v1.2.0/2.8、NIST.800-53.r5 SC-12、NIST.800-53.r5 SC-12(2)、NIST.800-53.r5 SC-28(3)、PCI DSS v3.2.1/3.6.4、PCI DSS v4.0.1/3.7.4

類別:保護 > 資料保護 > data-at-rest加密

嚴重性:

資源類型: AWS::KMS::Key

AWS Config 規則:cmk-backing-key-rotation-enabled

排程類型:定期

參數:

AWS KMS可讓客戶輪換後端金鑰,這是存放在 中的金鑰材料AWS KMS,並與 KMS 金鑰的金鑰 ID 繫結。它是用來執行加密操作的備份金鑰,例如加密和解密。自動化輪換金鑰目前會保留之前所有的備份金鑰,以便透明解密加密的資料。

CIS 建議您啟用 KMS 金鑰輪換。輪換加密金鑰有助於降低被盜用金鑰造成的可能影響,因為可能公開的舊金鑰無法存取使用新金鑰加密的資料。

修補

若要啟用 KMS 金鑰輪換,請參閱《 AWS Key Management Service開發人員指南》中的如何啟用和停用自動金鑰輪換

【KMS.5】 不應公開存取 KMS 金鑰

類別:保護 > 安全網路組態 > 不可公開存取的資源

嚴重性:嚴重

資源類型: AWS::KMS::Key

AWS Config 規則:kms-key-policy-no-public-access

排程類型:已觸發變更

參數:

此控制項會檢查 是否AWS KMS key可公開存取。如果 KMS 金鑰可公開存取,則控制項會失敗。

實作最低權限存取對於降低安全風險以及錯誤或惡意意圖的影響至關重要。如果 的金鑰政策AWS KMS key允許從外部帳戶存取,第三方可能可以使用金鑰來加密和解密資料。這可能會導致來自使用 金鑰AWS 服務之 的內部或外部威脅滲透資料。

注意

AWS KMS key如果您的組態AWS Config無法在 KMS 金鑰的組態項目 (CI) 中記錄金鑰政策,此控制項也會傳回 的問題FAILED清單。若要AWS Config讓 將金鑰政策填入 KMS 金鑰的 CI,AWS Config角色必須具有使用 GetKeyPolicy API 呼叫讀取金鑰政策的存取權。若要解決此類FAILED問題清單,請檢查可以防止AWS Config角色對 KMS 金鑰的金鑰政策具有讀取存取權的政策。例如,請檢查下列項目:

此外,此控制項不會評估使用萬用字元或變數的政策條件。若要產生PASSED調查結果,金鑰政策中的條件只能使用固定值,這些值不包含萬用字元或政策變數。如需政策變數的相關資訊,請參閱AWS Identity and Access Management《 使用者指南》中的變數和標籤

修補

如需更新 金鑰政策的相關資訊AWS KMS key,請參閱《 AWS Key Management Service開發人員指南》中的 中的金鑰政策AWS KMS