

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

# 在 上達到基本八項成熟度的指示性案例研究 AWS
<a name="case-study"></a>

本章針對目標為 Essential Eight 成熟度的政府機構提供指示性案例研究 AWS。

**Topics**
+ [案例和架構概觀](scenario.md)
+ [工作負載範例：無伺服器資料湖](serverless-data-lake.md)
+ [工作負載範例：容器化 Web 服務](containerised-web-service.md)
+ [工作負載範例：Amazon EC2 上的 COTS 軟體](cots-software.md)

# 案例和架構概觀
<a name="scenario"></a>

政府機構在 中有三個工作負載 AWS 雲端：
+ 使用 Amazon Simple Storage Service (Amazon S3) 進行儲存和擷取、轉換和載入 AWS Lambda (ETL) 操作的[無伺服器資料湖](serverless-data-lake.md) 
+ 在 Amazon Elastic Container Service (Amazon ECS) 上執行並使用 Amazon Relational Database Service (Amazon RDS) 中資料庫的[容器化 Web 服務](containerised-web-service.md) 
+ 在 Amazon EC2 上執行[的商業off-the-shelf(COTS) 軟體](cots-software.md) 

*雲端團隊*為組織提供集中式平台，為 AWS 環境執行核心服務。雲端團隊提供 AWS 環境的核心服務。每個工作負載都由不同的*應用程式團隊*擁有，也稱為*開發人員團隊*或*交付團隊*。

## 核心架構
<a name="core-architecture"></a>

雲端團隊已在 中建立下列功能 AWS 雲端：
+ 聯合身分 AWS IAM Identity Center 連結至其 Microsoft Entra ID （先前稱為 *Azure Active Directory*) 執行個體。聯合會透過 AWS Identity and Access Management (IAM) 角色強制執行 MFA、使用者帳戶的自動過期，以及短期憑證的使用。
+ 集中式 AMI 管道用於使用 EC2 Image Builder OSs和核心應用程式。
+ Amazon Inspector 已啟用以識別漏洞，所有安全調查結果都會傳送至 Amazon GuardDuty 進行集中管理。
+ 建立的機制用於更新應用程式控制規則、回應網路安全事件，以及檢閱合規漏洞。
+ AWS CloudTrail 用於記錄和監控。
+ 安全事件，例如根使用者的登入，會啟動提醒。
+ SCPs和 VPC 端點政策會為您的 AWS 環境建立資料周邊。
+ SCPs可防止應用程式團隊停用安全性和記錄服務，例如 CloudTrail 和 AWS Config。
+ AWS Config 為了安全 AWS 帳戶 起見，問題清單會從整個 AWS 組織彙總到單一 。
+  AWS 帳戶 ACS AWS Config [C Essential 8 一致性套件](https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-acsc_essential_8.html)在您的組織中已啟用。

# 工作負載範例：無伺服器資料湖
<a name="serverless-data-lake"></a>

此工作負載是 的範例[主題 1：使用 受管服務](theme-1.md)。

資料湖使用 Amazon S3 儲存和 AWS Lambda ETL。這些資源在 AWS Cloud Development Kit (AWS CDK) 應用程式中定義。透過 部署對系統所做的變更 AWS CodePipeline。此管道僅限於應用程式團隊。當應用程式團隊對程式碼儲存庫提出提取請求時，會使用[兩人規則](https://docs.aws.amazon.com/wellarchitected/latest/analytics-lens/best-practice-5.2---implement-least-privilege-policies-for-source-and-downstream-systems..html)。

對於此工作負載，應用程式團隊會採取下列動作來解決 Essential Eight 策略。

*應用程式控制*
+ 應用程式團隊會在 GuardDuty 中啟用 [Lambda 保護](https://docs.aws.amazon.com/guardduty/latest/ug/lambda-protection.html)，並在 Amazon Inspector 中啟用 [Lambda 掃描](https://docs.aws.amazon.com/inspector/latest/user/scanning-lambda.html)。
+ 應用程式團隊實作機制來檢查[和管理 Amazon Inspector 調查結果](https://docs.aws.amazon.com/inspector/latest/user/findings-managing-automating-responses.html#findings-managing-eventbridge-tutorial)。

*修補程式應用程式*
+ 應用程式團隊會在 Amazon Inspector 中啟用 Lambda 掃描，並設定已棄用或易受攻擊程式庫的提醒。
+ 應用程式團隊可讓 AWS Config 追蹤資產探索 AWS 的資源。

*限制管理權限*
+ 如 [核心架構](scenario.md#core-architecture)節所述，應用程式團隊已透過其部署管道上的核准規則，限制對生產部署的存取。
+ 應用程式團隊倚賴 [核心架構](scenario.md#core-architecture)節所述的集中式聯合身分和集中式記錄解決方案。
+ 應用程式團隊會建立 AWS CloudTrail 追蹤和 Amazon CloudWatch 篩選條件。
+ 應用程式團隊會設定 CodePipeline 部署和 AWS CloudFormation 堆疊刪除的 Amazon Simple Notification Service (Amazon SNS) 提醒。

*修補程式作業系統*
+ 應用程式團隊會在 Amazon Inspector 中啟用 Lambda 掃描，並設定已棄用或易受攻擊程式庫的提醒。

*多重要素驗證*
+ 應用程式團隊依賴 [核心架構](scenario.md#core-architecture)節所述的集中式聯合身分解決方案。此解決方案會強制執行 MFA、記錄身分驗證，以及提醒或自動回應可疑的 MFA 事件。

*定期備份*
+ 應用程式團隊會將程式碼，例如 AWS CDK 應用程式和 Lambda 函數和組態，存放在[程式碼儲存庫](https://aws.amazon.com/blogs/devops/how-to-migrate-your-aws-codecommit-repository-to-another-git-provider/)中。
+ 應用程式團隊會啟用版本控制和 Amazon S3 物件鎖定，以協助防止物件遭到刪除或修改。
+ 應用程式團隊依賴內建的 Amazon S3 耐用性，而不是將其整個資料集複寫到另一個資料集 AWS 區域。
+ 應用程式團隊會在另一個 中執行工作負載的副本 AWS 區域 ，以符合其資料主權需求。它們使用 Amazon DynamoDB 全域資料表和 Amazon S3 [跨區域複寫](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html#crr-scenario)，將資料從主要區域自動複寫到次要區域。

# 工作負載範例：容器化 Web 服務
<a name="containerised-web-service"></a>

此工作負載是 的範例[主題 2：透過安全管道管理不可變的基礎設施](theme-2.md)。

Web 服務會在 Amazon ECS 上執行，並使用 Amazon RDS 中的資料庫。應用程式團隊會在 CloudFormation 範本中定義這些資源。使用 EC2 Image Builder 建立容器，並存放在 Amazon ECR 中。應用程式團隊透過 部署變更至系統 AWS CodePipeline。此管道僅限於應用程式團隊。當應用程式團隊對程式碼儲存庫提出提取請求時，會使用[兩個人規則](https://docs.aws.amazon.com/wellarchitected/latest/analytics-lens/best-practice-5.2---implement-least-privilege-policies-for-source-and-downstream-systems..html)。

對於此工作負載，應用程式團隊會採取下列動作來解決 Essential Eight 策略。

*應用程式控制*
+ 應用程式團隊可在 [Amazon Inspector 中掃描 Amazon ECR 容器映像](https://docs.aws.amazon.com/inspector/latest/user/scanning-ecr.html)。
+ 應用程式團隊會在 EC2 Image Builder 管道中建置[檔案存取政策協助程式 (fapolicyd)](https://github.com/linux-application-whitelisting/fapolicyd/blob/main/README.md) 安全工具。如需詳細資訊，請參閱 ACSC 網站上的[實作應用程式控制](https://www.cyber.gov.au/resources-business-and-government/maintaining-devices-and-systems/system-hardening-and-administration/system-hardening/implementing-application-control)。
+ 應用程式團隊會設定 Amazon ECS 任務定義，將輸出記錄到 Amazon CloudWatch Logs。
+ 應用程式團隊實作機制來檢查和管理 Amazon Inspector 調查結果。

*修補程式應用程式*
+ 應用程式團隊可在 Amazon Inspector 中掃描 Amazon ECR 容器映像，並設定已棄用或易受攻擊程式庫的提醒。
+ 應用程式團隊會將對 Amazon Inspector 調查結果的回應自動化。新的問題清單會透過 Amazon EventBridge 觸發程序啟動其部署管道，而 CodePipeline 是目標。
+ 應用程式團隊可讓 AWS Config 追蹤資產探索 AWS 的資源。

*限制管理權限*
+ 應用程式團隊已透過其部署管道上的核准規則，限制對生產部署的存取。
+ 應用程式團隊倚賴集中式雲端團隊的聯合身分來輪換登入資料和集中式記錄。
+ 應用程式團隊會建立 CloudTrail 追蹤和 CloudWatch 篩選條件。
+ 應用程式團隊會為 CodePipeline 部署和 CloudFormation 堆疊刪除設定 Amazon SNS 警示。

*修補程式作業系統*
+ 應用程式團隊可在 Amazon Inspector 中掃描 Amazon ECR 容器映像，並設定作業系統修補程式更新的提醒。
+ 應用程式團隊會自動回應 Amazon Inspector 問題清單。新的問題清單會透過 EventBridge 觸發程序啟動其部署管道，而 CodePipeline 是目標。
+ 應用程式團隊會訂閱 Amazon RDS 事件通知，以便通知他們更新。他們與其業務擁有者一起做出以風險為基礎的決策，以決定是否要手動套用這些更新，或讓 Amazon RDS 自動套用這些更新。
+ 應用程式團隊會將 Amazon RDS 執行個體設定為多可用區域叢集，以減少維護事件的影響。

*多重要素驗證*
+ 應用程式團隊依賴 [核心架構](scenario.md#core-architecture)節所述的集中式聯合身分解決方案。此解決方案會強制執行 MFA、記錄身分驗證，以及提醒或自動回應可疑的 MFA 事件。

*定期備份*
+ 應用程式團隊會設定 AWS Backup 來自動備份其 Amazon RDS 叢集的資料。
+ 應用程式團隊會將 CloudFormation 範本存放在程式碼儲存庫中。
+ 應用程式團隊開發自動化管道，在[另一個區域中建立工作負載的副本，並執行自動化測試](https://aws.amazon.com/blogs/architecture/disaster-recovery-dr-architecture-on-aws-part-iii-pilot-light-and-warm-standby/) (AWS 部落格文章）。自動化測試執行後，管道會銷毀堆疊。此管道每月自動執行一次，並驗證復原程序的有效性。

# 工作負載範例：Amazon EC2 上的 COTS 軟體
<a name="cots-software"></a>

此工作負載是 的範例[佈景主題 3：使用自動化管理可變基礎設施](theme-3.md)。

Amazon EC2 上執行的工作負載是使用 手動建立 AWS 管理主控台。開發人員登入 EC2 執行個體並更新軟體，以手動更新系統。

對於此工作負載，雲端和應用程式團隊會採取下列動作來解決 Essential Eight 策略。

*應用程式控制*
+ 雲端團隊會設定其集中式 AMI 管道，以安裝和設定 AWS Systems Manager Agent (SSM Agent)、CloudWatch 代理程式和 SELinux。他們會在組織中的所有帳戶中共用產生的 AMI。
+ 雲端團隊使用 AWS Config 規則來確認所有執行中的 [EC2 執行個體都由 Systems Manager 管理](https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-managed-by-systems-manager.html)[，並已安裝 SSM Agent、CloudWatch 代理程式和 SELinux](https://docs.aws.amazon.com/config/latest/developerguide/ec2-managedinstance-applications-required.html)。
+ 雲端團隊會將 Amazon CloudWatch Logs 輸出傳送至在 Amazon OpenSearch Service 上執行的集中式安全資訊和事件管理 (SIEM) 解決方案。
+ 應用程式團隊實作機制，以檢查和管理來自 AWS Config GuardDuty 和 Amazon Inspector 的問題清單。雲端團隊會實作自己的機制，以擷取應用程式團隊遺漏的任何調查結果。如需建立漏洞管理計劃以解決調查結果的更多指引，請參閱在 [上建立可擴展的漏洞管理計劃 AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/vulnerability-management/introduction.html)。

*修補程式應用程式*
+ 應用程式團隊會根據 Amazon Inspector 調查結果來修補執行個體。
+ 雲端團隊會修補基本 AMI，而應用程式團隊會在 AMI 變更時收到提醒。
+ 應用程式團隊透過設定[安全群組規則](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html)來限制對其 EC2 執行個體的直接存取，以僅允許工作負載所需的連接埠上的流量。
+ 應用程式團隊使用[修補程式管理員](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager.html)來修補執行個體，而不是登入個別執行個體。
+ 若要在 EC2 執行個體群組上執行任意命令，應用程式團隊會使用 [Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)。
+ 在極少數情況下，當應用程式團隊需要直接存取執行個體時，他們會使用 [Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)。此存取方法使用聯合身分，並記錄任何工作階段活動以進行稽核。

*限制管理權限*
+ 應用程式團隊會設定[安全群組規則](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html)，僅允許工作負載所需連接埠上的流量。這會限制對 Amazon EC2 執行個體的直接存取，並要求使用者透過 Session Manager 存取 EC2 執行個體。
+ 應用程式團隊倚賴集中式雲端團隊的聯合身分來輪換登入資料和集中式記錄。
+ 應用程式團隊會建立 CloudTrail 追蹤和 CloudWatch 篩選條件。
+ 應用程式團隊會為 CodePipeline 部署和 CloudFormation 堆疊刪除設定 Amazon SNS 警示。

*修補程式作業系統*
+ 雲端團隊會修補基本 AMI，而應用程式團隊會在 AMI 變更時收到提醒。應用程式團隊使用此 AMI 部署新的執行個體，然後使用 Systems [Manager 的 State](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state.html) Manager 安裝必要的軟體。
+ 應用程式團隊使用修補程式管理員來修補執行個體，也就是登入個別執行個體的執行個體。
+ 若要在 EC2 執行個體群組上執行任意命令，應用程式團隊會使用 Run Command。
+ 在極少數情況下，當應用程式團隊需要直接存取時，他們會使用 Session Manager。

*多重要素驗證*
+ 應用程式團隊依賴 [核心架構](scenario.md#core-architecture)節所述的集中式聯合身分解決方案。此解決方案會強制執行 MFA、記錄身分驗證，以及提醒或自動回應可疑的 MFA 事件。

*定期備份*
+ 應用程式團隊會為其 EC2 執行個體和 Amazon Elastic Block Store (Amazon EBS) 磁碟區建立 AWS Backup 計劃。
+ 應用程式團隊會實作機制，每月手動執行備份還原。