c1.5 root アカウントを保護する
root ユーザーの日常的な使用を避け、MFA でロックダウンし、AWS Organizations でメンバーアカウントの root 認証情報を一元管理または削除して、保護すべき特権認証情報を大幅に減らします。
実装ガイダンス
root の使用を避ける
root ユーザーは無制限のアクセスを持ち、IAM ポリシーで制約できないため、本当に必要なわずかなタスクにのみ使用します。それ以外はすべて、一元化された ID ソースからのフェデレーションによる最小権限アクセスを使います。root にアクセスキーを作成してはいけません。耐久性のある無制限の認証情報だからです。
メンバーアカウントの root を一元管理または削除する
AWS Organizations では root アクセスを一元管理できます。メンバーアカウントの root 認証情報を完全に削除し、まれに必要な特権的な root タスクは必要時に中央で実行します。これにより、保護すべき root ユーザーはアカウントごとではなく 1 つ(管理アカウント)だけになり、特権的な攻撃対象領域が大きく減ります。あるいは、AWS Control Tower や次のような SCP でメンバーアカウントの root アクションを拒否します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "RestrictRootOnMemberAccounts",
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": { "StringLike": { "aws:PrincipalArn": ["arn:aws:iam::*:root"] } }
}
]
}
残す root を保護する
管理アカウントの root は SCP の対象外なので、最も強力な保護が必要です。
- MFA を有効化(現在は必須)— ハードウェア/FIDO2 デバイスを優先し、2 人制御(1 人がパスワードを、もう 1 人が MFA デバイスを持つ)を検討します。
- root にアクセスキーを絶対に付与しない。
- すべての root サインインでアラートを出す(CloudTrail から SNS 通知へ)。root の使用はまれで意図的であるべきだからです。
- 復旧経路を保つため、アカウントのセキュリティ連絡先を最新に保つ。
How to validate
- root を一元化し、メンバーアカウントから root 認証情報を削除しましたか?
- 誰かが日常的に root を使っていませんか。root ユーザーにアクセスキーが設定されていませんか?
- 残った root 認証情報はどのように保管していますか(vault、ハードウェア MFA、2 人制御など)?
- メンバーアカウントの root アクションは AWS Control Tower または SCP でブロックされていますか?
Threats addressed
- ATT&CK Credential Access 連絡先メールボックスを侵害した攻撃者は、root が一元化/削除または MFA で保護されていない限り、root パスワードをリセットしてアカウントに到達しようとする可能性があります。
- 説明責任 — 共有された root の頻繁な使用は、ある時点で誰が操作したかを調査者が特定するのを難しくします。
- root は定義上、最小権限ではありません。日常的な root の使用は、その全能の認証情報が盗まれ悪用される可能性を高めます。
AWS サービス
Framework mappings
AWS CAF
Well-Architected
- waf-security-foundations Security foundations
- waf-identity-and-access-management Identity and access management
Cloud Security Maturity Model