選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

偵測 CA 憑證即將過期的 Amazon RDS 和 Aurora 資料庫執行個體 - AWS 方案指引

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

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

偵測 CA 憑證即將過期的 Amazon RDS 和 Aurora 資料庫執行個體

由 Stephen DiCato (AWS) 和 Eugene Shifer (AWS) 建立

Summary

作為安全最佳實務,建議您加密應用程式伺服器和關聯式資料庫之間傳輸的資料。您可以使用 SSL 或 TLS 來加密與資料庫 (資料庫) 執行個體或叢集的連線。這些通訊協定有助於在應用程式和資料庫之間提供機密性、完整性和真實性。資料庫使用由憑證授權單位 (CA) 發出的伺服器憑證,並用於執行伺服器身分驗證。SSL 或 TLS 透過驗證憑證的數位簽章並確保憑證未過期,來驗證憑證的真實性。

在 中 AWS Management Console,Amazon Relational Database Service (Amazon RDS)Amazon Aurora 會提供需要憑證更新的資料庫執行個體相關通知。不過,若要檢查這些通知,您必須登入每個 , AWS 帳戶 並導覽至每個 中的服務主控台 AWS 區域。如果您需要評估在 中以組織身分管理的許多 之間的憑證有效性 AWS 帳戶 ,此任務會變得更加複雜AWS Organizations

透過將基礎設施佈建為此模式中提供的程式碼 (IaC),您可以偵測 AWS 帳戶 或 AWS 組織中所有 Amazon RDS 和 Aurora 資料庫執行個體的過期 CA 憑證。AWS CloudFormation 範本會佈建 AWS Config 規則、 AWS Lambda 函數和必要的許可。您可以將它部署到單一 帳戶做為堆疊,也可以將它部署到整個 AWS 組織做為堆疊集

先決條件和限制

先決條件

  • 作用中 AWS 帳戶

  • 如果您要部署到單一 AWS 帳戶:

    • 請確定您具有建立 CloudFormation 堆疊的許可

    • 在目標帳戶中啟用 AWS Config 。

    • (選用) 在目標帳戶中啟用 AWS Security Hub 。

  • 如果您要部署到 AWS 組織:

    • 請確定您具有建立 CloudFormation 堆疊集的許可

    • 透過 AWS Organizations 整合啟用 Security Hub。

    • 在您部署此解決方案的帳戶中啟用 AWS Config 。

    • 將 指定 AWS 帳戶 為 AWS Config 和 Security Hub 的委派管理員。

限制

  • 如果您要部署到未啟用 Security Hub 的個別帳戶,您可以使用 AWS Config 來評估問題清單。

  • 如果您要部署到沒有 AWS Config 和 Security Hub 委派管理員的組織,您必須登入個別成員帳戶才能檢視問題清單。

  • 如果您使用 AWS Control Tower 來管理和管理組織中的帳戶,請使用 Customizations for AWS Control Tower (CfCT) 在此模式中部署 IaC。使用 CloudFormation AWS Control Tower 主控台將從護欄建立組態偏離,並要求您重新註冊組織單位 (OUs) 或受管帳戶。

  • 有些 AWS 服務 完全無法使用 AWS 區域。如需區域可用性,請參閱服務端點和配額頁面,然後選擇服務的連結。

架構

部署至個別 AWS 帳戶

下列架構圖顯示單一 中 AWS 資源的部署 AWS 帳戶。其實作方式是直接透過 CloudFormation 主控台使用 CloudFormation 範本。如果啟用 Security Hub,您可以在 AWS Config 或 Security Hub 中檢視結果。如果 Security Hub 未啟用,您只能在 AWS Config 主控台中檢視結果。

在單一帳戶中部署提供的 CloudFormation 範本。

圖表顯示下列步驟:

  1. 您可以建立 CloudFormation 堆疊。這會部署 Lambda 函數和 AWS Config 規則。規則和函數都會設定在 AWS Config 和 日誌中發佈資源評估所需的 AWS Identity and Access Management (IAM) 許可。

  2. 此 AWS Config 規則以偵測評估模式運作,每 24 小時執行一次。

  3. Security Hub 會收到所有 AWS Config 調查結果。

  4. 您可以根據帳戶的組態 AWS Config,在 Security Hub 或 中檢視問題清單。

部署至 AWS 組織

下圖顯示透過 AWS Organizations 和 管理的多個帳戶的憑證過期評估 AWS Control Tower。您可以透過 CfCT 部署 CloudFormation 範本。評估結果集中在委派管理員帳戶中的 Security Hub 中。圖表中描述的 AWS CodePipeline 工作流程顯示 CfCT 部署期間發生的背景步驟。

將提供的 CloudFormation 範本部署到 AWS Organization 中的多個帳戶。

圖表顯示下列步驟:

  1. 根據 CfCT 的組態,在管理帳戶中,您可以將 IaC 推送到 AWS CodeCommit 儲存庫,或將 IaC 的壓縮 (ZIP) 檔案上傳到 Amazon Simple Storage Service (Amazon S3) 儲存貯體。

  2. CfCT 管道會解壓縮 檔案、執行 cfn-nag (GitHub) 檢查,並將其部署為 CloudFormation 堆疊集。

  3. 根據 CfCT 資訊清單檔案中指定的組態,CloudFormation StackSets 會將堆疊部署到個別帳戶或指定的 OUs。這會在目標帳戶中部署 Lambda 函數和 AWS Config 規則。規則和函數都會設定在 AWS Config 和 日誌中發佈資源評估所需的 IAM 許可。

  4. 此 AWS Config 規則以偵測評估模式運作,每 24 小時執行一次。

  5. AWS Config 會將所有問題清單轉送至 Security Hub。

  6. Security Hub 調查結果會在委派的管理員帳戶中彙總。

  7. 您可以在委派管理員帳戶中檢視 Security Hub 中的調查結果。

工具

AWS 服務

  • AWS CloudFormation 可協助您設定 AWS 資源、快速且一致地佈建資源,以及在整個 AWS 帳戶 和 區域的生命週期中管理資源。

  • AWS Config 提供 中資源的詳細檢視 AWS 帳戶 及其設定方式。它可協助您識別資源彼此的關係,以及其組態如何隨時間變化。An AWS Config rule 會定義您的理想資源組態設定,並可 AWS Config 評估您的 AWS 資源是否符合規則中的條件。

  • AWS Control Tower 可協助您設定和管理 AWS 多帳戶環境,並遵循規範最佳實務。for AWS Control Tower (CfCT) 的自訂可協助您自訂 AWS Control Tower 登陸區域,並保持符合 AWS 最佳實務。自訂是使用 CloudFormation 範本和服務控制政策 (SCPs實作。

  • AWS Lambda 是一項運算服務,可協助您執行程式碼,無需佈建或管理伺服器。它只會在需要時執行程式碼並自動擴展,因此您只需支付您使用的運算時間。

  • AWS Organizations 是一種帳戶管理服務,可協助您將多個 合併 AWS 帳戶 到您建立並集中管理的組織。

  • AWS Security Hub 提供安全狀態的完整檢視 AWS。它還可協助您根據安全產業標準和最佳實務來檢查 AWS 環境。

其他工具

  • Python 是一種一般用途的電腦程式設計語言。

程式碼儲存庫

此模式的程式碼可在 GitHub Detect Amazon RDS 執行個體中使用,該執行個體的 CA 憑證儲存庫即將過期

最佳實務

我們建議您遵守下列資源中的最佳實務:

史詩

任務描述所需的技能

決定您的部署策略。

檢閱解決方案和程式碼,以判斷如何將其部署到您的 AWS 環境。決定您要部署到單一帳戶或 AWS 組織。

應用程式擁有者、一般 AWS

複製儲存庫。

輸入下列命令,以複製具有即將過期 CA 憑證儲存庫的 Detect Amazon RDS 執行個體

git clone https://github.com/aws-samples/config-rds-ca-expiry.git
應用程式開發人員、應用程式擁有者

驗證 Python 版本。

  1. 導覽至複製儲存庫中的最上層目錄。

    cd config-rds-ca-expiry
  2. 開啟 config-rds-ca-expiry.yaml

  3. CertExpirationCheckLambdaFunction 資源中,確認 Python 版本與您的目標相容 AWS 區域。根據預設,此函數會使用 Python 3.12。如需詳細資訊,請參閱 AWS Lambda 新增對 Python 3.12 的支援。如有必要,請更新 Python 版本。

  4. 儲存並關閉 config-rds-ca-expiry.yaml

應用程式開發人員、應用程式擁有者

檢閱解決方案和程式碼

任務描述所需的技能

決定您的部署策略。

檢閱解決方案和程式碼,以判斷如何將其部署到您的 AWS 環境。決定您要部署到單一帳戶或 AWS 組織。

應用程式擁有者、一般 AWS

複製儲存庫。

輸入下列命令,以複製具有即將過期 CA 憑證儲存庫的 Detect Amazon RDS 執行個體

git clone https://github.com/aws-samples/config-rds-ca-expiry.git
應用程式開發人員、應用程式擁有者

驗證 Python 版本。

  1. 導覽至複製儲存庫中的最上層目錄。

    cd config-rds-ca-expiry
  2. 開啟 config-rds-ca-expiry.yaml

  3. CertExpirationCheckLambdaFunction 資源中,確認 Python 版本與您的目標相容 AWS 區域。根據預設,此函數會使用 Python 3.12。如需詳細資訊,請參閱 AWS Lambda 新增對 Python 3.12 的支援。如有必要,請更新 Python 版本。

  4. 儲存並關閉 config-rds-ca-expiry.yaml

應用程式開發人員、應用程式擁有者
任務描述所需的技能

部署 CloudFormation 範本。

將 CloudFormation 範本部署到您的 AWS 環境。執行以下任意一項:

  • 如果您要部署至單一 AWS 帳戶,請遵循建立堆疊中的指示。

  • 如果您要部署到非 管理的組織 AWS Control Tower,請遵循建立堆疊集中的指示。

  • 如果您要部署到由 管理的組織 AWS Control Tower,請參閱建置您自己的自訂中的說明。

應用程式開發人員、AWS 管理員、一般 AWS

驗證部署。

CloudFormation 主控台中,確認堆疊或堆疊集已成功部署。

AWS 管理員、應用程式擁有者

部署解決方案

任務描述所需的技能

部署 CloudFormation 範本。

將 CloudFormation 範本部署到您的 AWS 環境。執行以下任意一項:

  • 如果您要部署至單一 AWS 帳戶,請遵循建立堆疊中的指示。

  • 如果您要部署到非 管理的組織 AWS Control Tower,請遵循建立堆疊集中的指示。

  • 如果您要部署到由 管理的組織 AWS Control Tower,請參閱建置您自己的自訂中的說明。

應用程式開發人員、AWS 管理員、一般 AWS

驗證部署。

CloudFormation 主控台中,確認堆疊或堆疊集已成功部署。

AWS 管理員、應用程式擁有者
任務描述所需的技能

檢視 AWS Config 規則調查結果。

在 Security Hub 中,執行下列動作以檢視個別調查結果的清單:

  1. 開啟 Security Hub 主控台

  2. 在導覽窗格中,選擇調查結果

  3. 新增篩選條件方塊中,新增下列篩選條件:

    • 合規狀態FAILED

    • 標題rds-has-expiring-ca

  4. 選擇套用

在 Security Hub 中,執行下列動作以檢視依 分組的調查結果總數清單 AWS 帳戶:

  1. 開啟 Security Hub 主控台

  2. 在導覽窗格中,選擇 Insights

  3. 選擇 Create insight (建立洞見)

  4. 選取洞見的分組屬性:

    1. 選擇搜尋方塊以顯示篩選條件選項。

    2. 選擇 Group by (分組依據)

    3. 選取 AwsAccountId

    4. 選擇套用

  5. 新增篩選條件方塊中,新增下列篩選條件:

    • 標題rds-has-expiring-ca

    • 合規狀態FAILED

  6. 選擇 Create insight (建立洞見)

  7. 輸入 Insight 名稱,然後選擇建立洞見

在 中 AWS Config,若要檢視問題清單,請遵循 AWS Config 文件中檢視合規資訊和評估結果中的指示。

AWS 管理員、AWS 系統管理員、雲端管理員

檢閱問題清單

任務描述所需的技能

檢視 AWS Config 規則調查結果。

在 Security Hub 中,執行下列動作以檢視個別調查結果的清單:

  1. 開啟 Security Hub 主控台

  2. 在導覽窗格中,選擇調查結果

  3. 新增篩選條件方塊中,新增下列篩選條件:

    • 合規狀態FAILED

    • 標題rds-has-expiring-ca

  4. 選擇套用

在 Security Hub 中,執行下列動作以檢視依 分組的調查結果總數清單 AWS 帳戶:

  1. 開啟 Security Hub 主控台

  2. 在導覽窗格中,選擇 Insights

  3. 選擇 Create insight (建立洞見)

  4. 選取洞見的分組屬性:

    1. 選擇搜尋方塊以顯示篩選條件選項。

    2. 選擇 Group by (分組依據)

    3. 選取 AwsAccountId

    4. 選擇套用

  5. 新增篩選條件方塊中,新增下列篩選條件:

    • 標題rds-has-expiring-ca

    • 合規狀態FAILED

  6. 選擇 Create insight (建立洞見)

  7. 輸入 Insight 名稱,然後選擇建立洞見

在 中 AWS Config,若要檢視問題清單,請遵循 AWS Config 文件中檢視合規資訊和評估結果中的指示。

AWS 管理員、AWS 系統管理員、雲端管理員

故障診斷

問題解決方案

CloudFormation 堆疊集建立或刪除失敗

部署 AWS Control Tower 時,它會強制執行必要的護欄,並取得 AWS Config 對彙總器和規則的控制。這包括防止透過 CloudFormation 進行任何直接變更。若要正確部署或移除此 CloudFormation 範本,包括所有相關資源,您必須使用 CfCT。

CfCT 無法刪除 CloudFormation 範本

如果即使在資訊清單檔案進行必要變更並移除範本檔案後,CloudFormation 範本仍存在,請確認資訊清單檔案包含 enable_stack_set_deletion 參數,且值設定為 false。如需詳細資訊,請參閱 CfCT 文件中的刪除堆疊集

相關資源

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。