修復 Amazon S3 儲存貯體的暴露 - AWS Security Hub

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

修復 Amazon S3 儲存貯體的暴露

注意

Security Hub 處於預覽版本,可能會有所變更。

AWS Security Hub 可以產生 Amazon Simple Storage Service (S3) 儲存貯體的公開調查結果。

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

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

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

注意

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

Amazon S3 儲存貯體的錯誤組態特性

以下是 Amazon S3 儲存貯體的錯誤組態特性和建議的修復步驟。

Amazon S3 儲存貯體已停用版本控制

Amazon S3 版本控制可協助您將物件的多個變體保留在同一個儲存貯體中。停用版本控制時,Amazon S3 只會儲存每個物件的最新版本,這表示如果物件被意外或惡意刪除或覆寫,則無法復原。啟用版本控制的儲存貯體可提供保護,防止意外刪除、應用程式故障,以及勒索軟體攻擊等安全事件,而未經授權的資料修改或刪除可能發生。遵循安全最佳實務,我們建議為包含重要資料的儲存貯體啟用版本控制,這些資料在遺失時難以或無法重新建立。

  1. 啟用版本控制 – 若要在儲存貯體上啟用 Amazon S3 版本控制,請參閱《Amazon Simple Storage Service 使用者指南》中的在儲存貯體上啟用版本控制。啟用版本控制時,請考慮實作生命週期規則來管理儲存體,因為版本控制會維護多個物件複本。

Amazon S3 儲存貯體已停用物件鎖定

Amazon S3 物件鎖定為 Amazon S3 物件提供write-once-read-many(WORM) 模型,防止它們在固定期間或無限期遭到刪除或覆寫。停用物件鎖定時,您的物件可能容易受到勒索軟體意外或惡意刪除、修改或加密的影響。物件鎖定對於符合需要不可變資料儲存的法規要求,以及防範可能嘗試加密資料的複雜威脅,尤其重要。透過啟用物件鎖定,您可以強制執行保留政策作為多一層資料保護,並為關鍵資料建立不可變的備份策略。遵循安全最佳實務,我們建議您啟用物件鎖定,以防止惡意修改物件。

  1. 請注意,物件鎖定只能在建立新儲存貯體時啟用,因此您需要在啟用物件鎖定的情況下建立新的儲存貯體。對於大型遷移,請考慮使用批次操作將物件複製到新的儲存貯體。在鎖定任何物件之前,您還必須在儲存貯體上啟用 Amazon S3 版本控制和物件鎖定。由於物件鎖定只能在新儲存貯體上啟用,因此您需要將現有資料遷移至啟用物件鎖定的新儲存貯體。設定 Amazon S3 物件鎖定 – 如需有關如何在儲存貯體上設定物件鎖定的資訊,請參閱ConfiguringAmazon Amazon S3Object 鎖定設定物件鎖定後,根據您的環境選擇適當的保留模式。

Amazon S3 儲存貯體不會使用 AWS KMS 金鑰進行靜態加密

Amazon S3 會使用 Amazon S3 受管金鑰套用伺服器端加密,作為所有新儲存貯體的預設加密層級。雖然 Amazon S3 受管金鑰提供強大的加密保護,但它不提供與 AWS Key Management Service 金鑰相同的存取控制和稽核功能層級。使用 KMS 金鑰時,存取物件需要 Amazon S3 儲存貯體和加密物件之 KMS 金鑰的許可。對於您需要精細控制誰可以存取加密物件的敏感資料,以及加密金鑰用量的完整稽核記錄,這尤其重要。遵循安全最佳實務,我們建議您使用 KMS 金鑰來加密包含敏感資料的儲存貯體,或用於具有嚴格合規要求的環境。

  1. 設定 Amazon S3 儲存貯體金鑰

    若要設定儲存貯體以將 Amazon S3 儲存貯體金鑰用於新物件,請參閱《Amazon Simple Storage Service 使用者指南》中的設定儲存貯體以將 Amazon S3 儲存貯體金鑰與 SSE-KMS 搭配使用。如需有關如何加密現有物件的資訊,請參閱 AWS 儲存部落格中的使用 Amazon S3 批次操作加密物件

實作 AWS KMS 加密時,請考慮下列事項:

  • 金鑰管理 – 決定要使用 AWS 受管金鑰還是客戶受管金鑰 (CMK)。CMKs可為客戶提供對其金鑰生命週期和用量的完全控制。如需這兩種金鑰類型之間差異的詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的 AWS KMS 金鑰

  • 金鑰輪換 – 如需其他安全措施,請啟用 KMS 金鑰的自動金鑰輪換。如需詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的啟用自動金鑰輪換

已在版本控制的 Amazon S3 儲存貯體上停用多重驗證 (MFA) 刪除

多重要素驗證 (MFA) 刪除為您的 Amazon S3 儲存貯體提供額外的安全層。它需要對破壞性 Amazon S3 操作進行多重驗證。停用 MFA 刪除時,具有適當許可的使用者可以永久刪除物件版本,或暫停儲存貯體上的版本控制,而不需要額外的身分驗證挑戰。啟用 MFA 刪除有助於防止未經授權或意外刪除您的資料,並增強對勒索軟體攻擊、內部威脅和操作錯誤的保護。對於包含關鍵或合規敏感資料的儲存貯體而言,MFA 刪除特別重要,這些資料必須受到保護,以防未經授權的刪除。遵循安全最佳實務,建議您為 Amazon S3 儲存貯體啟用 MFA。

  1. 檢閱 MFA 類型

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

  2. 在資源政策層級強制執行 MFA

    使用儲存貯體政策中的 aws:MultiFactorAuthAge 條件索引鍵,要求 MFA 進行敏感操作。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的需要 MFA

  3. 啟用 MFA

    若要啟用 MFA 刪除,請先確定您的 Amazon S3 儲存貯體已啟用版本控制。只有已啟用版本控制的儲存貯體才支援 MFA 刪除。如需有關如何啟用 Amazon S3 版本控制的資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的在儲存貯體上啟用版本控制。MFA 刪除無法透過 Amazon S3 主控台啟用。您必須使用 Amazon S3 API 或 AWS CLI。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的設定 MFA 刪除

Amazon S3 儲存貯體允許來自其他 AWS 帳戶的主體修改儲存貯體許可

Amazon S3 儲存貯體政策控制對儲存貯體和物件的存取。當儲存貯體政策允許其他 AWS 帳戶的主體修改儲存貯體許可時,未經授權的使用者可以重新設定您的儲存貯體。如果外部主體登入資料洩露,未經授權的使用者可以控制您的儲存貯體,導致資料外洩或服務中斷。遵循標準安全原則, AWS 建議您僅將許可管理動作限制為信任的主體。

  1. 檢閱和識別儲存貯體政策

    在公開中,識別 ARN 欄位中的 Amazon S3 儲存貯體。在 Amazon S3 主控台中,選取儲存貯體,然後導覽至許可索引標籤以檢閱儲存貯體政策。檢閱連接至儲存貯體的許可政策。尋找政策陳述式,以授予允許存取您帳戶外部主體的動作,例如 s3:PutBucketPolicy, s3:PutBucketAcl, s3:DeleteBucketPolicy, s3:* 或政策陳述式,如主體陳述式所示。

  2. 修改儲存貯體政策

    修改儲存貯體政策以移除或限制授予其他 AWS 帳戶的動作:

    • 移除授予外部帳戶許可管理動作的政策陳述式。

    • 如果需要跨帳戶存取,請將廣泛的許可取代(s3:*)為不包含儲存貯體許可管理的特定動作。

    如需修改儲存貯體政策的相關資訊,請參閱《Amazon S3 使用者指南》中的使用 Amazon S3 主控台新增儲存貯體政策Amazon S3

Amazon S3 儲存貯體的連線能力特性

以下是 Amazon S3 儲存貯體的連線能力特性和建議的修補步驟。

Amazon S3 儲存貯體具有公有存取權

根據預設,Amazon S3 儲存貯體和物件是私有的,但可以透過各種組態公開。如果您修改儲存貯體政策、存取點政策或物件許可以允許公開存取,您會有暴露敏感資料的風險。

  1. 評估儲存貯體

    根據您的組織政策、合規要求或資料分類,評估儲存貯體是否可以設為私有。如果您不打算將儲存貯體存取權授予公有或其他 AWS 帳戶,請遵循其餘的修補指示。

  2. 將儲存貯體設定為私有

    選擇下列其中一個選項,為您的 Amazon S3 儲存貯體設定私有存取:

Amazon S3 儲存貯體具有公有讀取存取權

具有公開讀取存取權的 Amazon S3 儲存貯體可讓網際網路上的任何人檢視儲存貯體的內容。雖然這對於公開存取的網站或共用資源而言可能是必要的,但如果儲存貯體包含敏感資料,則可能會產生安全風險。公開讀取存取可能會導致未經授權的檢視和下載,如果敏感資料存放在這些儲存貯體中,可能會導致資料外洩。遵循標準安全原則, AWS 建議將 Amazon S3 儲存貯體的存取權限制為必要的使用者和系統。

  1. 在儲存貯體層級封鎖公開存取

    Amazon S3 提供封鎖公開存取設定,可在儲存貯體和帳戶層級進行設定,以防止公開存取,無論儲存貯體政策或 ACLs 為何。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的封鎖對 Amazon S3 儲存的公開存取封鎖公開存取之後,請檢閱您的儲存貯體存取控制組態,以確保其符合您的存取需求。然後檢閱您的 Amazon S3 儲存貯體政策,明確定義誰可以存取您的儲存貯體。如需儲存貯體政策的範例,請參閱《Amazon Simple Storage Service 使用者指南》中的 Amazon S3 儲存貯體政策範例

  2. 替代存取方法

    如果需要公有讀取存取,請考慮這些更安全的替代方案:

    • CloudFront – 搭配原始存取身分 (OAI) 或原始存取控制 (OAC) 使用 CloudFront,以允許從私有 Amazon S3 儲存貯體進行讀取存取。此替代方案會限制直接存取 Amazon S3 儲存貯體,同時允許透過 CloudFront 公開存取內容。如需詳細資訊,請參閱《Amazon Amazon CloudFront限制對 Amazon S3 原始伺服器的存取

    • 預先簽章URLs – 使用預先簽章URLs 暫時存取特定物件。如需詳細資訊,請參閱《AWSAmazon S3User》中的使用預先簽章URLs 共用物件

Amazon S3 儲存貯體具有寫入存取權

具有公有寫入存取權的 Amazon S3 儲存貯體可讓網際網路上的任何人上傳、修改或刪除儲存貯體中的物件。這會產生重大的安全風險,包括有人上傳惡意檔案、修改現有檔案和刪除資料的可能性。公有寫入存取會建立可供攻擊者利用的安全漏洞。遵循標準安全原則, AWS 建議將 Amazon S3 儲存貯體的寫入存取權限制為僅限必要的使用者和系統。

  1. 在帳戶和儲存貯體層級封鎖公開存取

    Amazon S3 提供封鎖公開存取設定,可在儲存貯體和帳戶層級進行設定,以防止公開存取,無論儲存貯體政策或 ACLs 為何。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的封鎖對 Amazon S3 儲存體的公開存取

  2. 修改儲存貯體政策

    如需更精細的方法來移除公有寫入存取,請檢閱儲存貯體政策。您可以尋找 s3:PutObjects3:DeleteObjects3:*。如需管理儲存貯體政策的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的 Amazon S3 儲存貯體政策

  3. 替代存取方法 如果需要公開讀取存取,請考慮以下更安全的替代方法:

    • CloudFront – 搭配原始存取身分 (OAI) 或原始存取控制 (OAC) 使用 CloudFront,以允許從私有 Amazon S3 儲存貯體進行讀取存取。此替代方案會限制直接存取 Amazon S3 儲存貯體,同時允許透過 CloudFront 公開存取內容。如需詳細資訊,請參閱《Amazon CloudFront 開發人員指南》中的限制對 Amazon S3 原始伺服器的存取

    • 預先簽章URLs – 使用預先簽章URLs 暫時存取特定物件。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的使用預先簽章URLs 共用物件

Amazon S3 存取點已啟用公有存取設定

Amazon S3 存取點提供對 Amazon S3 儲存貯體中共用資料集的自訂存取。當您啟用存取點的公有存取時,網際網路上的任何人都會存取您的資料。遵循標準安全原則, AWS 建議限制對 Amazon S3 存取點的公開存取。

  1. 在啟用封鎖公開存取的情況下建立新的存取點

    建立存取點後,Amazon S3 不支援變更存取點的公有存取設定。如需建立存取點的相關資訊,請參閱《Amazon S3 使用者指南》中的管理一般用途儲存貯體存取點的公有存取。如需管理存取點公有存取權的詳細資訊,請參閱《Amazon S3 使用者指南》中的為一般用途儲存貯體建立存取點

Amazon S3 儲存貯體的敏感資料特徵

以下是 Amazon S3 儲存貯體的敏感資料特性和建議的修復步驟。

Amazon S3 儲存貯體的敏感資料特徵

當 Macie 識別 Amazon S3 儲存貯體中的敏感資料時,表示需要立即注意的潛在安全和合規暴露。

敏感資料可能包括:

  • 登入資料

  • 個人身分識別資訊

  • 財務資訊

  • 需要保護的機密內容

如果敏感資料因組態錯誤或未經授權的存取而公開,可能會導致違規、資料外洩、身分盜竊或財務損失。遵循安全最佳實務, AWS 建議正確分類資料,並持續監控 Amazon S3 儲存貯體中的敏感資料。

實作敏感資料的控制

在公開調查結果中,選擇開啟資源 。檢閱偵測到的敏感資料類型及其在儲存貯體中的位置。如需解譯 Macie 問題清單的說明,請參閱《Amazon Macie Macie 使用者指南》中的 Macie 問題清單類型

根據發現的敏感資料類型,實作適當的安全控制: