View a markdown version of this page

SEC01-BP06 自動部署標準安全控制 - 安全支柱

SEC01-BP06 自動部署標準安全控制

在開發和部署整個 AWS 環境的標準安全控制時,採用現代 DevOps 實務。 使用基礎設施即程式碼 (IaC) 範本定義標準安全控制和組態、擷取版本控制系統中的變更、在 CI/CD 管道中測試變更,並將變更自動部署至您的 AWS 環境。

預期成果:IaC 範本會擷取標準化的安全控制,並將其遞交至版本控制系統。 CI/CD 管道準備好偵測變更,並自動測試和部署您的 AWS 環境。 防護機制準備好在進行部署之前,先偵測範本中的組態錯誤並發出提醒。 工作負載會部署到已採取標準控制的環境中。 團隊有權透過自助服務機制部署經核准的服務組態。 已制定安全的備份和復原策略來控制組態、指令碼和相關資料。

常見的反模式:

  • 透過 Web 主控台或命令列介面,手動變更標準安全控制。

  • 仰賴個別工作負載團隊手動實作中央團隊定義的控制。

  • 仰賴中央安全團隊應工作負載團隊的要求部署工作負載層級的控制。

  • 允許相同的個人或團隊開發、測試和部署安全控制自動化指令碼,而未能妥善區分職責,或適當地對其加以制衡。 

建立此最佳實務的優勢:使用範本定義標準安全控制,可讓您使用版本控制系統追蹤和比較一段時間的變更。 使用自動化方式測試和部署變更可建立標準化和可預測性,從而提高成功部署的機會,並減少手動重複任務。 為工作負載團隊提供自助服務機制來部署核准的服務和組態,可降低組態錯誤和濫用的風險。這也有助於讓團隊及早在開發過程中納入控制。

未建立此最佳實務時的風險暴露等級:中

實作指引

遵循 SEC01-BP01 使用帳戶區隔工作負載中所述的實務,您最終會有多個 AWS 帳戶,可用於您使用 AWS Organizations 管理的不同環境。 雖然其中每個環境和工作負載可能需要不同的安全控制,但您可以將整個組織的某些安全控制標準化。 範例包括整合集中式身分提供者、定義網路和防火牆,以及設定用於儲存和分析日誌的標準位置。 同樣地,您可以使用基礎設施即程式碼 (IaC) 將同樣嚴謹的應用程式程式碼開發程序套用至基礎設施佈建,也可以使用 IaC 來定義和部署標準安全控制。

請盡可能以宣告的方式定義安全控制 (例如在 AWS CloudFormation 中),並將其儲存在來源控制系統中。 使用 DevOps 實務來自動部署控制,以便更容易預測發行版本、使用 AWS CloudFormation Guard 等工具進行自動測試,以及偵測已部署控制與所需組態之間的偏差。 您可以使用 AWS CodePipeline、AWS CodeBuild 和 AWS CodeDeploy 等服務來建構 CI/CD 管道。請考慮使用多個帳戶整理您的AWS 環境中的指引,以在自己的帳戶中設定這些服務,將其與其他部署管道分開來。

您也可以定義範本來標準化定義和部署 AWS 帳戶 帳戶、服務和組態。 此技術可讓中央安全團隊管理這些定義,並透過自助服務方法將其提供給工作負載團隊。 實現這一點的方法之一是使用 Service Catalog,您可以在其中將範本發佈為產品,讓工作負載團隊可以將這些產品納入自己的管道部署中。 如果您使用的是 AWS Control Tower,某些範本和控制可以作為起點。 Control Tower 還提供 Account Factory 功能,可讓工作負載團隊使用您定義的標準建立新的 AWS 帳戶。 此功能有助於消除對中央團隊的依賴,以在工作負載團隊視需要識別新帳戶時核准和建立新帳戶。 您可能需要這些帳戶,以便根據諸如提供的功能、所處理資料的敏感性或其行為等原因,區隔不同的工作負載元件。

實作步驟

  1. 確定如何在版本控制系統中儲存和維護範本。

  2. 建立 CI/CD 管道以測試和部署您的範本。 定義測試以檢查是否有組態錯誤,以及範本是否符合您公司的標準。

  3. 建置標準化範本目錄,供工作負載團隊根據您的需求部署 AWS 帳戶和服務。

  4. 針對控制組態、指令碼和相關資料實作安全的備份和復原策略。

資源

相關的最佳實務:

相關文件:

相關範例:

相關工具: