

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

# 教學課程：AWS 自動化安全回應入門
<a name="getting-stated-with-asr"></a>

這是將引導您完成第一次部署的教學課程。它將從部署解決方案的先決條件開始，最後會修復成員帳戶中的範例問題清單。

## 準備帳戶
<a name="prepare-the-accounts"></a>

為了示範解決方案的跨帳戶和跨區域修補功能，本教學課程將使用兩個帳戶。您也可以將解決方案部署到單一帳戶。

下列範例使用 帳戶`111111111111`和 `222222222222` 來示範解決方案。 `111111111111`將是管理員帳戶，而 `222222222222` 將是成員帳戶。我們將設定解決方案，以修復區域 `us-east-1`和 中資源的問題清單`us-west-2`。

下表範例說明我們將針對每個帳戶和區域中的每個步驟採取的動作。


| 帳戶 | 用途 | us-east-1 中的動作 | us-west-2 中的動作 | 
| --- | --- | --- | --- | 
|  `111111111111`  | 管理員 | 無 | 無 | 
|  `222222222222`  | 成員 | 無 | 無 | 

管理員帳戶是將執行解決方案管理動作的帳戶，也就是手動啟動修復，或使用修復組態 DynamoDB 資料表啟用全自動修復。此帳戶也必須是您希望修復問題清單的所有帳戶的 Security Hub 委派管理員帳戶，但它不需要也不應該是您帳戶所屬 AWS Organizations的 AWS Organization 管理員帳戶。

## 啟用 AWS Config
<a name="enable-aws-config"></a>

檢閱下列文件：
+  [AWS Config 文件](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 
+  [AWS Config 定價](https://aws.amazon.com/config/pricing/) 
+  [啟用 AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/gs-console.html) 

在帳戶和兩個區域中啟用 AWS Config。這會產生費用。

**重要**  
請務必選取「包含全域資源 （例如 AWS IAM 資源）」的選項。如果您在啟用 AWS Config 時未選取此選項，則不會看到與全域資源 （例如 AWS IAM 資源） 相關的問題清單


| 帳戶 | 用途 | us-east-1 中的動作 | us-west-2 中的動作 | 
| --- | --- | --- | --- | 
|  `111111111111`  | 管理員 | 啟用 AWS Config | 啟用 AWS Config | 
|  `222222222222`  | 成員 | 啟用 AWS Config | 啟用 AWS Config | 

## 啟用 AWS 安全中樞
<a name="enable-aws-security-hub"></a>

檢閱下列文件：
+  [AWS Security Hub 文件](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html) 
+  [AWS Security Hub 定價](https://aws.amazon.com/security-hub/pricing/) 
+  [啟用 AWS Security Hub](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-settingup.html) 

在帳戶和兩個區域中啟用 AWS Security Hub。這會產生費用。


| 帳戶 | 用途 | us-east-1 中的動作 | us-west-2 中的動作 | 
| --- | --- | --- | --- | 
|  `111111111111`  | 管理員 | 啟用 AWS Security Hub | 啟用 AWS Security Hub | 
|  `222222222222`  | 成員 | 啟用 AWS Security Hub | 啟用 AWS Security Hub | 

## 啟用合併控制問題清單
<a name="enable-consolidated-findings"></a>

檢閱下列文件：
+  [產生和更新控制問題清單](https://docs.aws.amazon.com/securityhub/latest/userguide/controls-findings-create-update.html) 

基於本教學的目的，我們將示範 解決方案的使用方式，並啟用 AWS Security Hub 的合併控制調查結果功能，這是建議的組態。在寫入時不支援此功能的分割區中，您將需要部署標準特定的手冊，而不是 SC （安全控制）。

在帳戶和兩個區域中啟用合併的控制問題清單。


| 帳戶 | 用途 | us-east-1 中的動作 | us-west-2 中的動作 | 
| --- | --- | --- | --- | 
|  `111111111111`  | 管理員 | 啟用合併控制問題清單 | 啟用合併控制問題清單 | 
|  `222222222222`  | 成員 | 啟用合併控制問題清單 | 啟用合併控制問題清單 | 

使用新功能產生問題清單可能需要一些時間。您可以繼續教學課程，但如果沒有新功能，將無法修復產生的問題清單。使用新功能產生的調查結果可以透過`GeneratorId`欄位值 來識別`security-control/<control_id>`。

## 設定跨區域調查結果彙總
<a name="configure-cross-region-findings"></a>

檢閱下列文件：
+  [跨區域彙總](https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html) 
+  [啟用跨區域彙總](https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation-enable.html) 

在兩個帳戶中設定從 **us-west-2** 到 **us-east-1** 的問題清單彙總。


| 帳戶 | 用途 | us-east-1 中的動作 | us-west-2 中的動作 | 
| --- | --- | --- | --- | 
|  `111111111111`  | 管理員 | 從 us-west-2 設定彙總 | 無 | 
|  `222222222222`  | 成員 | 從 us-west-2 設定彙總 | 無 | 

問題清單可能需要一些時間才能傳播到彙總區域。您可以繼續教學課程，但您將無法從其他區域修復問題清單，直到問題清單開始出現在彙總區域中為止。

## 指定 Security Hub 管理員帳戶
<a name="designate-a-security-hub-admin"></a>

檢閱下列文件：
+  [在 AWS Security Hub 中管理帳戶](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) 
+  [管理組織成員帳戶](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts-orgs.html) 
+  [依邀請管理成員帳戶](https://docs.aws.amazon.com/securityhub/latest/userguide/account-management-manual.html) 

在繼續範例中，我們將使用手動邀請方法。對於一組生產帳戶，我們建議透過 AWS Organizations 管理 Security Hub 委派的管理。

從管理員帳戶 (`111111111111`) 中的 AWS Security Hub 主控台，邀請成員帳戶 (`222222222222`) 以 Security Hub 委派管理員身分接受管理員帳戶。從成員帳戶接受邀請。


| 帳戶 | 用途 | us-east-1 中的動作 | us-west-2 中的動作 | 
| --- | --- | --- | --- | 
|  `111111111111`  | 管理員 | 邀請成員帳戶 | 無 | 
|  `222222222222`  | 成員 | 接受邀請 | 無 | 

問題清單可能需要一些時間才能傳播到管理員帳戶。您可以繼續教學課程，但您將無法從成員帳戶修復問題清單，直到問題清單開始出現在管理員帳戶中為止。

## 建立自我管理 StackSets 許可的角色
<a name="create-roles-for-self-managed-stacksets"></a>

檢閱下列文件：
+  [AWS CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) 
+  [授予自我管理許可](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) 

我們將部署 CloudFormation 堆疊到多個帳戶，因此將使用 StackSets。我們無法使用服務受管許可，因為管理員堆疊和成員堆疊具有服務不支援的巢狀堆疊，因此我們必須使用自我管理許可。

部署堆疊以取得 StackSet 操作的基本許可。對於生產帳戶，您可能想要根據「進階許可選項」文件來縮小許可範圍。


| 帳戶 | 用途 | us-east-1 中的動作 | us-west-2 中的動作 | 
| --- | --- | --- | --- | 
|  `111111111111`  | 管理員 | 部署 StackSet 管理員角色堆疊<br />部署 StackSet 執行角色堆疊 | 無 | 
|  `222222222222`  | 成員 | 部署 StackSet 執行角色堆疊 | 無 | 

## 建立會產生範例問題清單的不安全資源
<a name="create-the-insecure-resources"></a>

檢閱下列文件：
+  [Security Hub 控制項參考](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-controls-reference.html) 
+  [AWS Lambda 控制項](https://docs.aws.amazon.com/securityhub/latest/userguide/lambda-controls.html) 

以下範例資源具有不安全的組態，以示範修復。控制範例為 Lambda.1：Lambda 函數政策應禁止公開存取。

**重要**  
我們將刻意建立具有不安全組態的資源。請檢閱控制項的性質，並評估在環境中為自己建立此類資源的風險。請注意您的組織在偵測和報告此類資源時可能擁有的任何工具，並適時請求例外狀況。如果我們選取的控制項範例不適合您，請選取解決方案支援的另一個控制項。

在成員帳戶的第二個區域中，導覽至 AWS Lambda 主控台，並在最新的 Python 執行時間建立函數。在組態 → 許可下，新增政策陳述式，以允許在沒有身分驗證的情況下從 URL 叫用函數。

在主控台頁面上確認 函數允許公開存取。解決方案修復此問題後，請比較許可以確認公有存取權已撤銷。


| 帳戶 | 用途 | us-east-1 中的動作 | us-west-2 中的動作 | 
| --- | --- | --- | --- | 
|  `111111111111`  | 管理員 | 無 | 無 | 
|  `222222222222`  | 成員 | 無 | 使用不安全的組態建立 Lambda 函數 | 

AWS Config 可能需要一些時間來偵測不安全的組態。您可以繼續教學課程，但在 Config 偵測到問題清單之前，您將無法修復問題清單。

## 為相關控制項建立 CloudWatch 日誌群組
<a name="create-cloudwatch-log-groups"></a>

檢閱下列文件：
+  [使用 Amazon CloudWatch Logs 監控 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/monitor-cloudtrail-log-files-with-cloudwatch-logs.html) 
+  [CloudTrail 控制項](https://docs.aws.amazon.com/securityhub/latest/userguide/cloudtrail-controls.html) 

解決方案支援的各種 CloudTrail 控制項需要有 CloudWatch Log 群組，其為多區域 CloudTrail 的目的地。在下列範例中，我們將建立預留位置日誌群組。對於生產帳戶，您應該正確設定 CloudTrail 與 CloudWatch Logs 的整合。

在每個帳戶和區域中建立具有相同名稱的日誌群組，例如：`asr-log-group`。


| 帳戶 | 用途 | us-east-1 中的動作 | us-west-2 中的動作 | 
| --- | --- | --- | --- | 
|  `111111111111`  | 管理員 | 建立日誌群組 | 建立日誌群組 | 
|  `222222222222`  | 成員 | 建立日誌群組 | 建立日誌群組 | 