本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自動化部署 - StackSets
注意
我們建議您使用 StackSets 部署 。不過,對於單一帳戶部署或測試或評估目的,請考慮堆疊部署選項。
啟動解決方案之前,請檢閱本指南中討論的架構、解決方案元件、安全性和設計考量事項。遵循本節中的step-by-step說明,設定解決方案並將其部署到您的 AWS Organizations。
部署時間:每個帳戶約 30 分鐘,取決於 StackSet 參數。
先決條件
AWS Organizations
如果您先前已部署此解決方案的 v1.3.x 或更早版本,則必須解除安裝現有的解決方案。如需詳細資訊,請參閱更新解決方案。
在部署此解決方案之前,請檢閱您的 AWS Security Hub 部署:
-
您的 AWS Organization 中必須有委派的 Security Hub 管理員帳戶。
-
Security Hub 應設定為跨區域彙總問題清單。如需詳細資訊,請參閱《AWS Security Hub 使用者指南》中的跨區域彙總問題清單。
-
您應該在擁有 AWS 用量的每個區域中,為您的組織啟用 Security Hub。
此程序假設您有多個使用 AWS Organizations 的帳戶,並已委派 AWS Organizations 管理員帳戶和 AWS Security Hub 管理員帳戶。
請注意,此解決方案適用於 AWS Security Hub 和 AWS Security Hub CSPM。
部署概觀
注意
此解決方案的 StackSets 部署使用服務受管和自我管理 StackSets 的組合。自我管理的 StackSets 必須目前使用,因為它們使用巢狀 StackSets,服務管理的 StackSets 尚不支援。
從 AWS Organizations 中的委派管理員帳戶部署 StackSets。 https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudformation.html AWS Organizations
規劃
使用下列表單來協助 StackSets 部署。準備您的資料,然後在部署期間複製並貼上值。
AWS Organizations admin account ID: _______________ Security Hub admin account ID: _______________ CloudTrail Logs Group: ______________________________ Member account IDs (comma-separated list): ___________________, ___________________, ___________________, ___________________, ___________________ AWS Organizations OUs (comma-separated list): ___________________, ___________________, ___________________, ___________________, ___________________
-
如果您想要使用票證功能,請先將票證整合堆疊部署到您的 Security Hub 管理員帳戶。
-
從此堆疊複製 Lambda 函數名稱,並提供它做為管理員堆疊的輸入 (請參閱步驟 1)。
步驟 1:在委派的 Security Hub 管理員帳戶中啟動管理員堆疊
-
使用自我管理的 StackSet,在與 Security Hub 管理員位於相同區域的 AWS Security Hub 管理員帳戶中啟動
automated-security-response-admin.templateAWS CloudFormation 範本。此範本使用巢狀堆疊。 -
選擇要安裝的安全標準。根據預設,只會選取 SC (建議)。
-
選擇要使用的現有 Orchestrator 日誌群組。
Yes如果先前安裝SO0111-ASR- Orchestrator已存在,請選取 。 -
選擇是否啟用解決方案的 Web UI。如果您選擇啟用此功能,您也必須輸入要指派管理員角色的電子郵件地址。
-
選取收集與解決方案運作狀態相關的 CloudWatch 指標的偏好設定。
如需自我管理 StackSets 的詳細資訊,請參閱《AWS CloudFormation 使用者指南》中的授予自我管理許可。
步驟 2:在每個 AWS Security Hub 成員帳戶中安裝修復角色
等待步驟 1 完成部署,因為步驟 2 中的範本參考步驟 1 建立的 IAM 角色。
-
使用服務管理的 StackSet,在
automated-security-response-member-roles.templateAWS Organizations 中每個帳戶中的單一區域中啟動 AWS CloudFormation 範本。 AWS Organizations -
選擇在新帳戶加入組織時自動安裝此範本。
-
輸入您的 AWS Security Hub 管理員帳戶的帳戶 ID。
-
輸入 的值
namespace,此值將用於防止資源名稱與相同帳戶中的先前或並行部署發生衝突。輸入最多 9 個小寫英數字元的字串。
步驟 3:在每個 AWS Security Hub 成員帳戶和區域中啟動成員堆疊
-
使用自我管理的 StackSets,在 AWS Organization
automated-security-response-member.template中擁有相同 Security Hub 管理員管理之每個帳戶中 AWS 資源的所有區域中啟動 AWS CloudFormation 範本。注意
在服務受管 StackSets 支援巢狀堆疊之前,您必須為加入組織的任何新帳戶執行此步驟。
-
選擇要安裝的 Security Standard 手冊。
-
提供 CloudTrail 日誌群組的名稱 (由部分修復使用)。
-
輸入您的 AWS Security Hub 管理員帳戶的帳戶 ID。
-
輸入 的值
namespace,此值將用於防止資源名稱與相同帳戶中的先前或並行部署發生衝突。輸入最多 9 個小寫英數字元的字串。這應該與您為成員角色堆疊選取的namespace值相符,此外,命名空間值不需要為每個成員帳戶唯一。
(選用) 步驟 0:啟動票證系統整合堆疊
-
如果您想要使用票證功能,請先啟動個別的整合堆疊。
-
選擇 Jira 或 ServiceNow 提供的整合堆疊,或使用它們做為藍圖,以實作您自己的自訂整合。
若要部署 Jira 堆疊:
-
輸入堆疊的名稱。
-
將 URI 提供給 Jira 執行個體。
-
為您要傳送票證的 Jira 專案提供專案金鑰。
-
在 Secrets Manager 中建立新的金鑰值秘密,該秘密會保留您的 Jira
Username和Password。注意
您可以選擇使用 Jira API 金鑰來取代您的密碼,方法是將您的使用者名稱提供為
Username,並將您的 API 金鑰提供為Password。 -
新增此秘密的 ARN 做為堆疊的輸入。
提供堆疊名稱 Jira 專案資訊和 Jira API 登入資料。
若要部署 ServiceNow 堆疊:
-
輸入堆疊的名稱。
-
提供 ServiceNow 執行個體的 URI。
-
提供您的 ServiceNow 資料表名稱。
-
在 ServiceNow 中建立 API 金鑰,並具有修改您要寫入之資料表的許可。
-
使用 金鑰在 Secrets Manager 中建立秘密,
API_Key並提供秘密 ARN 做為堆疊的輸入。提供堆疊名稱 ServiceNow 專案資訊和 ServiceNow API 登入資料。
若要建立自訂整合堆疊:包含解決方案協調器 Step Functions 可以針對每個修復呼叫的 Lambda 函數。Lambda 函數應採用 Step Functions 提供的輸入,根據您的票證系統需求建構承載,並向您的系統提出建立票證的請求。
-
步驟 1:在委派的 Security Hub 管理員帳戶中啟動管理員堆疊
-
automated-security-response-admin.template使用您的 Security Hub 管理員帳戶啟動管理員堆疊。一般而言,單一區域中每個組織一個。由於此堆疊使用巢狀堆疊,您必須將此範本部署為自我管理的 StackSet。
Parameters
| 參數 | 預設 | 說明 |
|---|---|---|
|
載入 SC 管理員堆疊 |
|
指定是否要安裝管理員元件以自動修復 SC 控制項。 |
|
載入 AFSBP 管理員堆疊 |
|
指定是否要安裝管理員元件以自動修復 FSBP 控制項。 |
|
載入 CIS120 管理員堆疊 |
|
指定是否要安裝管理員元件以自動修復 CIS120 控制項。 |
|
載入 CIS140 管理員堆疊 |
|
指定是否要安裝管理員元件以自動修復 CIS140 控制項。 |
|
載入 CIS300 管理員堆疊 |
|
指定是否要安裝管理員元件以自動修復 CIS300 控制項。 |
|
載入 PC1321 管理員堆疊 |
|
指定是否要安裝管理員元件以自動修復 PC1321 控制項。 |
|
載入 NIST Admin Stack |
|
指定是否要安裝管理員元件以自動修復 NIST 控制項。 |
|
重複使用協調器日誌群組 |
|
選取是否要重複使用現有的 |
|
ShouldDeployWebUI |
|
部署 Web UI 元件,包括 API Gateway、Lambda 函數和 CloudFront 分佈。選取「是」以啟用 Web 型使用者介面,以檢視問題清單和修復狀態。如果您選擇停用此功能,您仍然可以使用 Security Hub CSPM 自訂動作設定自動修復並隨需執行修復。 |
|
AdminUserEmail |
(選用輸入) |
初始管理員使用者的電子郵件地址。此使用者將擁有 ASR Web UI 的完整管理存取權。只有在啟用 Web UI 時才需要。 |
|
使用 CloudWatch 指標 |
|
指定是否啟用 CloudWatch 指標來監控解決方案。這會建立 CloudWatch Dashboard 來檢視指標。 |
|
使用 CloudWatch 指標警示 |
|
指定是否啟用解決方案的 CloudWatch 指標警示。這將為解決方案收集的特定指標建立警示。 |
|
RemediationFailureAlarmThreshold |
|
指定每個控制項 ID 修復失敗百分比的閾值。例如,如果您輸入 只有在警示建立時,此參數才會運作 (請參閱使用 CloudWatch Metrics 警示參數)。 |
|
EnableEnhancedCloudWatchMetrics |
|
如果為 請參閱 成本 一節,以了解這會產生的額外成本。 |
|
TicketGenFunctionName |
(選用輸入) |
選用。如果您不想整合票證系統,請保留空白。否則,請從步驟 0 的堆疊輸出提供 Lambda 函數名稱,例如: |
設定 StackSet 選項
-
針對帳戶號碼參數,輸入 AWS Security Hub 管理員帳戶的帳戶 ID。
-
針對指定區域參數,僅選取開啟 Security Hub 管理員的區域。請等待此步驟完成,再繼續步驟 2。
步驟 2:在每個 AWS Security Hub 成員帳戶中安裝修補角色
使用服務管理的 StackSets 來部署成員角色範本automated-security-response-member-roles.template。此 StackSet 必須部署在每個成員帳戶的一個區域中。它定義了允許從 ASR Orchestrator 步驟函數進行跨帳戶 API 呼叫的全域角色。
Parameters
| 參數 | 預設 | 說明 |
|---|---|---|
|
命名空間 |
|
輸入最多 9 個小寫英數字元的字串。要新增為修補 IAM 角色名稱尾碼的唯一命名空間。相同的命名空間應該用於成員角色和成員堆疊。對於每個解決方案部署,此字串應該是唯一的,但不需要在堆疊更新期間變更。命名空間值不需要每個成員帳戶是唯一的。 |
|
Sec Hub 帳戶管理員 |
|
輸入 AWS Security Hub 管理員帳戶的 12 位數帳戶 ID。此值會將許可授予管理員帳戶的解決方案角色。 |
-
根據您的組織政策,部署到整個組織 (典型) 或組織單位。
-
開啟自動部署,讓 AWS Organizations 中的新帳戶收到這些許可。
-
針對指定區域參數,選取單一區域。IAM 角色是全域的。您可以在此 StackSet 部署時繼續執行步驟 3。
指定 StackSet 詳細資訊
步驟 3:在每個 AWS Security Hub 成員帳戶和區域中啟動成員堆疊
由於成員堆疊
Parameters
| 參數 | 預設 | 說明 |
|---|---|---|
|
提供用於建立指標篩選條件和警示的 LogGroup 名稱 |
|
指定 CloudTrail 記錄 API 呼叫的 CloudWatch CloudWatch Logs 群組名稱。這用於 CIS 3.1-3.14 修復。 |
|
載入 SC 成員堆疊 |
|
指定是否要安裝成員元件以自動修復 SC 控制項。 |
|
載入 AFSBP 成員堆疊 |
|
指定是否要安裝成員元件以自動修復 FSBP 控制項。 |
|
載入 CIS120 成員堆疊 |
|
指定是否要安裝成員元件以自動修復 CIS120 控制項。 |
|
載入 CIS140 成員堆疊 |
|
指定是否要安裝成員元件以自動修復 CIS140 控制項。 |
|
載入 CIS300 成員堆疊 |
|
指定是否要安裝成員元件以自動修復 CIS300 控制項。 |
|
載入 PC1321 成員堆疊 |
|
指定是否要安裝成員元件以自動修復 PC1321 控制項。 |
|
載入 NIST 成員堆疊 |
|
指定是否要安裝成員元件以自動修復 NIST 控制項。 |
|
為 Redshift 稽核記錄建立 S3 儲存貯體 |
|
選取 |
|
Sec Hub 管理員帳戶 |
|
輸入 AWS Security Hub 管理員帳戶的 12 位數帳戶 ID。 |
|
命名空間 |
|
輸入最多 9 個小寫英數字元的字串。此字串會成為 IAM 角色名稱和動作日誌 S3 儲存貯體的一部分。針對成員堆疊部署和成員角色堆疊部署使用相同的值。每個解決方案部署的字串應該是唯一的,但不需要在堆疊更新期間變更。 |
|
EnableCloudTrailForASRActionLog |
|
|
帳戶
部署位置:您可以指定帳戶號碼或組織單位的清單。
指定區域:選取您要修復問題清單的所有區域。您可以根據帳戶和區域的數目適當調整部署選項。區域並行可以是平行的。