

# SEC01-BP02 保護帳戶根使用者和屬性
<a name="sec_securely_operate_aws_account"></a>

 根使用者是 AWS 帳戶 中最具特權的使用者，對帳戶內的所有資源具備完整的管理存取權，並且在某些情況下，不受安全政策的限制。停用對根使用者的程式設計存取，為根使用者建立適當的控制，以及避免例行使用根使用者，可降低意外暴露根憑證及後續危及雲端環境的風險。

**預期成果：**保護根使用者有助於減少因濫用根使用者憑證而造成意外或蓄意損壞的機會。建立偵測控制也能在當使用根使用者採取動作時警告適當的人員。

**常見的反模式：**
+  將根使用者用於需要根使用者憑證以外的工作。  
+  疏於定期測試緊急應變計劃以確認重大基礎設施、程序和人員在緊急情況下的運作情形。
+  僅考慮一般帳戶登入流程而疏於考慮或測試替代帳戶復原方法。
+  未將 DNS、電子郵件伺服器和電話提供者作為重要安全周邊的一部分來處理，因為其會用於帳戶復原流程。

 **建立此最佳實務的優勢：**保護對根使用者的存取，可建立對帳戶中的動作加以控制和稽核的信心。

 **未建立此最佳實務時的風險暴露等級**：高 

## 實作指引
<a name="implementation-guidance"></a>

 AWS 提供眾多工具來協助保護您的帳戶。然而，由於預設情況下不會開啟其中一些措施，因此您必須採取直接行動加以實作。考慮將這些建議作為保護 AWS 帳戶 的基本步驟。實作這些步驟時，務必建立程序以持續評估和監視安全控制。

 首次建立 AWS 帳戶 時，您是從一個對帳戶中所有 AWS 服務和資源具有完全存取權的身分開始。此身分稱為 AWS 帳戶 根使用者。您可以使用您用來建立帳戶的電子郵件地址和密碼，以根使用者的身分登入。由於授予給 AWS 根使用者更高的存取權限，您必須限制 AWS 根使用者的使用，才能執行[特別需要它](https://docs.aws.amazon.com/general/latest/gr/aws_tasks-that-require-root.html)的任務。根使用者登入憑證必須受嚴密防護，並且多重要素驗證 (MFA) 應始終用於 AWS 帳戶 根使用者。

 除了一般驗證流程 (使用使用者名稱、密碼和多重要素驗證 (MFA) 裝置登入根使用者) 之外，還有帳戶復原流程會登入 AWS 帳戶 根使用者，而其能夠存取與您的帳戶相關聯的電子郵件地址和電話號碼。因此，保護傳送復原電子郵件的根使用者電子郵件帳戶以及與帳戶相關聯的電話號碼同樣也很重要。另外，對於與根使用者相關聯的電子郵件地址託管在相同 AWS 帳戶的電子郵件伺服器或網域名稱服務 (DNS) 資源上的情況，也要考慮可能的循環相依性。

 使用 AWS Organizations 時，會有多個 AWS 帳戶，各自都有根使用者。將一個帳戶指定為管理帳戶，接著可以在該管理帳戶之下新增數層成員帳戶。優先保護您的管理帳戶根使用者後，再來處理成員帳戶根使用者。保護管理帳戶根使用者的策略可不同於成員帳戶根使用者，而且您可以對成員帳戶根使用者設立預防性安全控制。

 **實作步驟** 

 以下是為根使用者建立控制的建議實作步驟。如果適用，建議將交叉引用到 [CIS AWS Foundations 基準版本 1.4.0](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-cis-controls-1.4.0.html)。除了這些步驟之外，請參閱[保護您的 AWS 帳戶 及其資源的 AWS 最佳實務指引](https://aws.amazon.com/premiumsupport/knowledge-center/security-best-practices/)。

 **預防性控制** 

1.  為帳戶設定準確的[聯絡資訊](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-primary.html)。

   1.  此資訊會用於遺失密碼復原流程、遺失 MFA 裝置帳戶復原流程，以及與您的團隊進行重大安全相關通訊。

   1.  使用由您的企業網域所託管的電子郵件地址 (最好是使用分發清單) 作為根使用者的電子郵件地址。使用分發清單而不是個人的電子郵件帳戶可對長期存取根帳戶提供額外的備援和持續性。

   1.  聯絡資訊上所列的電話號碼應該是針對此用途的專用安全電話。不應公布或與他人共用電話號碼。

1.  請勿為根使用者建立存取金鑰。若存在存取金鑰，請將其移除 (CIS 1.4)。

   1.  去除根使用者任何長期存留的程式設計憑證 (存取和秘密金鑰)。

   1.  如果根使用者存取金鑰已存在，您應該使用這些金鑰來轉換程序，以使用來自 AWS Identity and Access Management (IAM) 角色的臨時存取金鑰，然後[刪除根使用者存取金鑰](https://docs.aws.amazon.com/accounts/latest/reference/root-user-access-key.html#root-user-delete-access-key)。

1.  確定您是否需要儲存根使用者的憑證。

   1.  如果您使用 AWS Organizations 建立新成員帳戶，則成員帳戶上的根使用者的初始密碼會設為隨機值，並且不會向您公開。如有需要，請考慮使用來自 AWS 組織管理帳戶的密碼重設流程，[以取得成員帳戶的存取權](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html#orgs_manage_accounts_access-as-root)。

   1.  對於獨立 AWS 帳戶 或管理 AWS 組織帳戶，請考慮建立根使用者的憑證並安全存放。為根使用者使用 MFA。

1.  在 AWS 多帳戶環境中為成員帳戶根使用者使用預防性控制。

   1.  考慮針對成員帳戶使用[不允許為根使用者建立根存取金鑰](https://docs.aws.amazon.com/controltower/latest/userguide/strongly-recommended-controls.html#disallow-root-access-keys)預防性防護機制。

   1.  考慮針對成員帳戶使用[不允許以根使用者身分執行動作](https://docs.aws.amazon.com/controltower/latest/userguide/strongly-recommended-controls.html#disallow-root-auser-actions)預防性防護機制。

1.  如果您需要根使用者的憑證：

   1.  使用複雜密碼。

   1.  為根使用者開啟多重要素驗證 (MFA)，尤其是 AWS Organizations 管理 (付款人) 帳戶 (CIS 1.5)。

   1.  考慮硬體 MFA 裝置以獲得彈性和安全性，因為一次性裝置可減少包含 MFA 代碼的裝置重複用於其他用途的可能性。確認定期更換使用電池的硬體 MFA 裝置。(CIS 1.6) 
      +  若要為根使用者設定 MFA，請遵循建立[虛擬 MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html#enable-virt-mfa-for-root) 或[硬體 MFA 裝置](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_enable_physical.html#enable-hw-mfa-for-root)的指示。

   1.  考慮註冊多個 MFA 裝置進行備份。[每個帳戶最多允許 8 個 MFA 裝置](https://aws.amazon.com/blogs/security/you-can-now-assign-multiple-mfa-devices-in-iam/)。
      +  請注意，[如果 MFA 裝置遺失](https://aws.amazon.com/premiumsupport/knowledge-center/reset-root-user-mfa/)，為根使用者註冊多個 MFA 裝置會自動關閉復原帳戶的流程。

   1.  請將密碼妥善保管，如果以電子方式儲存密碼，請考慮循環相依性。儲存密碼時，請勿以需要存取相同的 AWS 帳戶 來取得密碼的方式儲存。

1.  選擇性：考慮為根使用者建立定期密碼輪流排程。
   +  憑證管理最佳實務取決於您法規和政策需求。受 MFA 保護的根使用者不依賴把密碼當作單一驗證要素。
   +  定期[變更根使用者密碼](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_passwords_change-root.html)可降低不慎公開密碼遭到濫用的風險。

 **偵測性控制** 
+  建立警示以偵測根憑證的使用 (CIS 1.7)。[Amazon GuardDuty](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_settingup.html) 可以透過 [RootCredentialUsage](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-iam.html#policy-iam-rootcredentialusage) 調查結果來監控根使用者 API 憑證使用情況，並發出提醒。
+  評估並實作[適用於 AWS Config 的 AWS Well-Architected 安全支柱一致性套件](https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-wa-Security-Pillar.html)中包含的偵測控制，或者如果使用 AWS Control Tower，則評估並實作 Control Tower 內可用的[強烈建議的控制](https://docs.aws.amazon.com/controltower/latest/userguide/strongly-recommended-controls.html)。

 **操作指引** 
+  確定組織內誰應該存取根使用者憑證。
  +  使用雙人規則，如此沒有單獨一人可以存取所有必要的憑證和 MFA 來取得根使用者存取權。
  +  確認組織而不是單一個人持有對與帳戶相關聯的電話號碼和電子郵件別名 (用於密碼重設和 MFA 重設程序) 的控制權。
+  只在特殊情況下使用根使用者 (CIS 1.7)。
  +  AWS 根使用者不可用於日常任務，即使管理任務也一樣。只有以根使用者身分登入，才能執行[需要根使用者的 AWS 任務](https://docs.aws.amazon.com/general/latest/gr/aws_tasks-that-require-root.html)。所有其他動作都應該由其他擔任適當角色的使用者執行。
+  定期檢查根使用者的存取權操作正常，以便在發生需要使用根使用者憑證的緊急情況之前，測試相關程序。
+  定期檢查與帳戶相關聯的電子郵件地址，以及[替代連絡人](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-alternate.html)下列出的電子郵件地址。監控這些電子郵件收件匣，查看您可能接收的來自 abuse@amazon.com 的安全通知。另外確保與帳戶相關聯的任何電話號碼都有效。
+  準備事件回應程序以回應根帳戶誤用的情況。請參閱 [AWS Security Incident Response Guide](https://docs.aws.amazon.com/whitepapers/latest/aws-security-incident-response-guide/aws-security-incident-response-guide.html) 和[安全支柱白皮書中「事件回應」一節](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/incident-response.html)中的最佳實務，了解如何為 AWS 帳戶建立事件回應策略的詳細資訊。

## 資源
<a name="resources"></a>

**相關的最佳實務：**
+ [SEC01-BP01 使用帳戶區隔工作負載](sec_securely_operate_multi_accounts.md)
+ [SEC02-BP01 使用強式登入機制](sec_identities_enforce_mechanisms.md)
+ [SEC03-BP02 授予最低權限存取權](sec_permissions_least_privileges.md)
+ [SEC03-BP03 建立緊急存取程序](sec_permissions_emergency_process.md)
+ [SEC10-BP05 預先佈建存取權](sec_incident_response_pre_provision_access.md)

**相關文件：**
+  [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html) 
+  [AWS 安全性稽核指南](https://docs.aws.amazon.com/general/latest/gr/aws-security-audit-guide.html) 
+  [IAM 最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) 
+  [Amazon GuardDuty – 根憑證使用情況警示](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-iam.html#policy-iam-rootcredentialusage) 
+  [透過 CloudTrail 監控根憑證使用情況的逐步指引](https://docs.aws.amazon.com/securityhub/latest/userguide/iam-controls.html#iam-20) 
+  [已核准可與 AWS 搭配使用的 MFA 權杖](https://aws.amazon.com/iam/features/mfa/) 
+  在 AWS 上實作[緊急存取](https://docs.aws.amazon.com/whitepapers/latest/organizing-your-aws-environment/break-glass-access.html) 
+  [在 AWS 帳戶 中要改善的十大安全項目](https://aws.amazon.com/blogs/security/top-10-security-items-to-improve-in-your-aws-account/) 
+  [如果發現我的 AWS 帳戶 中有未經授權的活動，該怎麼辦？](https://aws.amazon.com/premiumsupport/knowledge-center/potential-account-compromise/) 

**相關影片：**
+  [透過自動化和管控大規模採用 AWS](https://youtu.be/GUMSgdB-l6s) 
+  [以 Well-Architected 方式提供安全最佳實務](https://youtu.be/u6BCVkXkPnM) 
+  [限制使用 AWS 根憑證](https://youtu.be/SMjvtxXOXdU?t=979)，來自 AWS re:inforce 2022 – AWS IAM 安全最佳實務