翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
IAM の Security Hub コントロール
これらの AWS Security Hub コントロールは、 AWS Identity and Access Management (IAM) サービスとリソースを評価します。
これらのコントロールは、一部の で使用できない場合があります AWS リージョン。詳細については、「リージョン別のコントロールの可用性」を参照してください。
〔IAM.1] IAMポリシーでは、完全な「*」管理者権限を許可しないでください
関連する要件: PCI DSS v3.2.1/7.2.1、 CIS AWS Foundations Benchmark v1.2.0/1.22、 CIS AWS Foundations Benchmark v1.4.0/1.16、 NIST.800-53.r5 AC-2、 NIST.800-53.r5 AC-2(1) NIST.800-53.r5 AC-3、 NIST.800-53.r5 AC-3、(15)、 NIST.800-53.r5 AC-3(7)、 NIST.800-53.r5 AC-6、、(10) NIST.800-53.r5 AC-5、 NIST.800-53.r5 AC-6(2) NIST.800-53.r5 AC-6、 NIST.800-53.r5 AC-6(3)
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 高
リソースタイプ : AWS::IAM::Policy
AWS Config ルール : iam-policy-no-statements-with-admin-access
スケジュールタイプ : 変更がトリガーされた場合
パラメータ :
excludePermissionBoundaryPolicy: true
(カスタマイズ不可)
このコントロールは、デフォルトバージョンのIAMポリシー (カスタマー管理ポリシーとも呼ばれる) に管理者アクセス権があるかどうかをチェックします。そのためには、 を に、 "Effect": "Allow"
を "Action": "*"
に、 を に、 ステートメントとして含めます"Resource": "*"
。このようなステートメントを持つIAMポリシーがある場合、コントロールは失敗します。
コントロールは、作成したカスタマーマネージドポリシーのみをチェックします。インラインポリシーと AWS 管理ポリシーはチェックされません。
IAM ポリシーは、ユーザー、グループ、またはロールに付与される権限のセットを定義します。標準のセキュリティアドバイスに従って、 AWS は最小権限を付与することをお勧めします。これは、タスクの実行に必要なアクセス許可のみを付与することを意味します。ユーザーが必要とする最小限の許可セットではなく、完全な管理者権限を提供すると、リソースが不要なアクションにさらされる可能性があります。
完全な管理者権限を許可するのではなく、ユーザーが何をする必要があるのかを決定し、ユーザーが、それらのタスクのみを実行できるポリシーを作成します。最小限の許可セットから開始し、必要に応じて追加許可を付与する方がより安全です。あまりにも寛大な許可から始めて、後でそれらを強化しようとしないでください。
"Resource": "*"
ではなく "Action": "*"
を使用した "Effect": "Allow"
のステートメントを含む IAM ポリシーは、削除する必要があります。
注記
AWS Config Security Hub を使用するすべてのリージョンで を有効にする必要があります。ただし、グローバルリソースの記録は 1 つのリージョンで有効にすることができます。グローバルリソースを 1 つのリージョンにのみ記録する場合は、グローバルリソースを記録するリージョン以外のすべてのリージョンでこのコントロールを無効にすることができます。
修正
完全な「*」管理者権限を許可しないようにIAMポリシーを変更するには、IAM「 ユーザーガイド」のIAM「ポリシーの編集」を参照してください。
〔IAM.2] IAM ユーザーにはIAMポリシーをアタッチしないでください
関連する要件: PCI DSS v3.2.1/7.2.1、 CIS AWS Foundations Benchmark v3.0.0/1.15、 CIS AWS Foundations Benchmark v1.2.0/1.16、 NIST.800-53.r5 AC-2、 NIST.800-53.r5 AC-2(1)、 NIST.800-53.r5 AC-3、(15) NIST.800-53.r5 AC-3、 NIST.800-53.r5 AC-3(7) NIST.800-53.r5 AC-6、 NIST.800-53.r5 AC-6、(3)
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 低
リソースタイプ : AWS::IAM::User
AWS Config ルール : iam-user-no-policies-check
スケジュールタイプ: 変更がトリガーされた場合
パラメータ : なし
このコントロールは、IAMユーザーにポリシーがアタッチされているかどうかを確認します。IAM ユーザーにポリシーがアタッチされている場合、コントロールは失敗します。代わりに、IAMユーザーはIAMグループからアクセス許可を継承するか、ロールを引き受ける必要があります。
デフォルトでは、IAMユーザー、グループ、ロールは AWS リソースにアクセスできません。 IAMポリシーは、ユーザー、グループ、またはロールに権限を付与します。IAM ポリシーはグループとロールには直接適用しますが、ユーザーには直接適用しません。グループレベルまたはロールレベルで権限を割り当てると、ユーザー数が増えるにつれてアクセス管理の複雑さが軽減されます。アクセス管理の複雑さを軽減することで、プリンシパルが誤って過剰な権限を受け取ったり保持する機会を減らすことができます。
注記
AWS Config Security Hub を使用するすべてのリージョンで を有効にする必要があります。ただし、グローバルリソースの記録は 1 つのリージョンで有効にすることができます。グローバルリソースを 1 つのリージョンにのみ記録する場合は、グローバルリソースを記録するリージョン以外のすべてのリージョンでこのコントロールを無効にすることができます。
修正
この問題を解決するには、 IAMグループを作成し、ポリシーをグループにアタッチします。続いて、ユーザーをこのグループに追加します。ポリシーは、グループ内の各ユーザーに適用されます。ユーザーに直接アタッチされたポリシーを削除するには、「 IAMユーザーガイド」のIAM「ID アクセス許可の追加と削除」を参照してください。
〔IAM.3] IAMユーザーのアクセスキーは 90 日以内にローテーションする必要があります
関連する要件: CIS AWS Foundations Benchmark v3.0.0/1.14、 CIS AWS Foundations Benchmark v1.4.0/1.14、 CIS AWS Foundations Benchmark v1.2.0/1.4、 NIST.800-53.r5 AC-2(1)、 NIST.800-53.r5 AC-2(3)、 NIST.800-53.r5 AC-3(15)、PCIDSSv4.0.1/8.3.9、PCIDSSv4.0.1/8.6.3
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 中
リソースタイプ : AWS::IAM::User
AWS Config ルール : access-keys-rotated
スケジュールタイプ : 定期的
パラメータ:
-
maxAccessKeyAge
:90
(カスタマイズ不可)
このコントロールは、アクティブなアクセスキーが 90 日以内にローテーションされているかどうかをチェックします。
アカウントのすべてのアクセスキーを生成したり削除したりしないことを強く推奨します。代わりに、1 つ以上のIAMロールを作成するか、フェデレーション
各アプローチにはそれぞれのユースケースがあります。フェデレーションは一般的に、既存の中央ディレクトリを持つ企業や、IAMユーザーの現在の制限を超える必要がある予定の企業に適しています。 AWS 環境外で実行されるアプリケーションには、 AWS リソースへのプログラムによるアクセスのためのアクセスキーが必要です。
ただし、プログラムによるアクセスを必要とするリソースが内部で実行されている場合 AWS、ベストプラクティスはロールを使用することですIAM。ロールを使用すると、アクセスキー ID とシークレットアクセスキーを設定にハードコーディングすることなく、リソースへのアクセスを許可できます。
アクセスキーとアカウントの保護の詳細については、「」のAWS 「アクセスキーを管理するためのベストプラクティス」を参照してくださいAWS 全般のリファレンス。また、ブログ記事「プログラムによるアクセスの使用 AWS アカウント 中に を保護するためのガイドライン」も参照してください
アクセスキーが既に存在する場合、Security Hub では 90 日ごとにアクセスキーをローテーションすることを推奨します。アクセスキーをローテーションすることにより、侵害されたアカウントや終了したアカウントに関連付けられているアクセスキーが使用される可能性が低くなります。また、紛失した、クラックされた、盗まれた古いキーでデータにアクセスできないようにします。アクセスキーをローテーションしたら、必ずアプリケーションを更新してください。
アクセスキーは、アクセスキー ID とシークレットアクセスキーで構成されます。これは AWSへのプログラムによるリクエストの署名に使用されます。ユーザーは、、Tools for Windows AWS CLI、 PowerShell、または個々の APIオペレーションを使用した直接呼び出し AWS から をプログラムでHTTP呼び出すために AWS SDKs、独自のアクセスキーが必要です AWS のサービス。
組織で AWS IAM Identity Center (IAM Identity Center) を使用している場合、ユーザーは Active Directory、組み込みの IAM Identity Center ディレクトリ、または IAM Identity Center に接続された別の ID プロバイダー (IdP) にサインインできます。その後、アクセスキーを必要とせずに AWS CLI コマンドを実行したり、オペレーションを呼び出し AWS APIたりできる IAMロールにマッピングできます。詳細については、「 AWS Command Line Interface ユーザーガイド」の「 を使用する AWS CLI ための の設定 AWS IAM Identity Center」を参照してください。
注記
AWS Config Security Hub を使用するすべてのリージョンで を有効にする必要があります。ただし、グローバルリソースの記録は 1 つのリージョンで有効にすることができます。グローバルリソースを 1 つのリージョンにのみ記録する場合は、グローバルリソースを記録するリージョン以外のすべてのリージョンでこのコントロールを無効にすることができます。
修正
90 日以上経過したアクセスキーを更新するには、IAM「 ユーザーガイド」の「アクセスキーのローテーション」を参照してください。[アクセスキーの有効期間] が 90 日を超えるすべてのユーザーに対する指示に従ってください。
〔IAM.4] IAMルートユーザーアクセスキーは存在してはいけません
関連する要件: CIS AWS Foundations Benchmark v3.0.0/1.4、 CIS AWS Foundations Benchmark v1.4.0/1.4、 CIS AWS Foundations Benchmark v1.2.0/1.12、PCIDSSv3.2.1/2.1、PCIDSSv3.2.1/2.2、PCIDSSv3.2.1/7.2.1、 NIST.800-53.r5 AC-2(1)、 NIST.800-53.r5 AC-3(15)、 NIST.800-53.r5 AC-3(7) NIST.800-53.r5 AC-6、 NIST.800-53.r5 AC-6(10)、 NIST.800-53.r5 AC-6(2)
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 非常事態
リソースタイプ : AWS::::Account
AWS Config ルール : iam-root-access-key-check
スケジュールタイプ: 定期的
パラメータ: なし
このコントロールは、ルートユーザーアクセスキーが存在するかどうかをチェックします。
ルートユーザーは、 で最も特権のあるユーザーです AWS アカウント。 AWS アクセスキーは、特定のアカウントへのプログラムによるアクセスを提供します。
Security Hub では、ルートユーザーに関連付けられたすべてのアクセスキーの削除を推奨します。これにより、お使いのアカウントの侵害に使用できるベクトルが制限されます。また、最小特権のロールベースのアカウントの作成と使用が促進されます。
修正
ルートユーザーのアクセスキーを削除するには、「 IAMユーザーガイド」の「ルートユーザーのアクセスキーの削除」を参照してください。の からルートユーザーアクセスキーを削除するには AWS GovCloud (US)、「 AWS GovCloud (US) ユーザーガイド」の AWS アカウント 「アカウントルートユーザーアクセスキーの削除」を参照してください。 AWS GovCloud (US)
コンソールパスワードを持つすべてのIAMユーザーに対して [IAM.5] を有効にするMFA必要があります
関連する要件: CIS AWS Foundations Benchmark v3.0.0/1.10、 CIS AWS Foundations Benchmark v1.4.0/1.10、 CIS AWS Foundations Benchmark v1.2.0/1.2、 NIST.800-53.r5 AC-2(1)、 NIST.800-53.r5 AC-3(15)、 NIST.800-53.r5 IA-2(1)、 NIST.800-53.r5 IA-2(2)、 NIST.800-53.r5 IA-2(6)、 NIST.800-53.r5 IA-2(8)、PCIDSSv4.0.1/8.4.2
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 中
リソースタイプ : AWS::IAM::User
AWS Config ルール : mfa-enabled-for-iam-console-access
スケジュールタイプ: 定期的
パラメータ : なし
このコントロールは、コンソールパスワードを使用するすべてのIAMユーザーに対して AWS 多要素認証 (MFA) が有効になっているかどうかを確認します。
多要素認証 (MFA) は、ユーザー名とパスワードの上に保護レイヤーを追加します。MFA を有効にすると、ユーザーが AWS ウェブサイトにサインインすると、ユーザー名とパスワードの入力を求められます。さらに、デバイスから認証コードの入力を求められます AWS MFA。
コンソールパスワードを持つすべてのアカウントMFAに対して を有効にすることをお勧めします。 MFAは、コンソールアクセスのセキュリティを強化するように設計されています。認証プリンシパルは、時間的制約のあるキーを発行するデバイスを所有し、認証情報に関する知識がある必要があります。
注記
AWS Config Security Hub を使用するすべてのリージョンで を有効にする必要があります。ただし、グローバルリソースの記録は 1 つのリージョンで有効にすることができます。グローバルリソースを 1 つのリージョンにのみ記録する場合は、グローバルリソースを記録するリージョン以外のすべてのリージョンでこのコントロールを無効にすることができます。
修正
IAM ユーザーに追加するには、「 IAMユーザーガイドMFA」の「 での多要素認証 (MFA) AWS の使用」を参照してください。
対象となるお客様に無料のMFAセキュリティキーを提供しています。資格があるかどうかを確認し、無料のキーを注文します
〔IAM.6] ルートユーザーに対してハードウェアを有効にするMFA必要があります
関連する要件: CIS AWS Foundations Benchmark v3.0.0/1.6、 CIS AWS Foundations Benchmark v1.4.0/1.6、 CIS AWS Foundations Benchmark v1.2.0/1.14、PCIDSSv3.2.1/8.3.1、 NIST.800-53.r5 AC-2(1)、 NIST.800-53.r5 AC-3(15)、 NIST.800-53.r5 IA-2(1)、 NIST.800-53.r5 IA-2(2)、 NIST.800-53.r5 IA-2(6)、 NIST.800-53.r5 IA-2(8)、PCIDSSv4.0.1/8.4.2
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 非常事態
リソースタイプ : AWS::::Account
AWS Config ルール : root-account-hardware-mfa-enabled
スケジュールタイプ: 定期的
パラメータ : なし
このコントロール AWS アカウント は、 がハードウェア多要素認証 (MFA) デバイスを使用してルートユーザー認証情報でサインインできるかどうかを確認します。が有効になっていない場合MFA、またはルートユーザーの認証情報を使用してサインインできる仮想MFAデバイスがある場合、コントロールは失敗します。
仮想 は、ハードウェアMFAデバイスと同じレベルのセキュリティを提供しないMFA場合があります。ハードウェア購入の承認またはハードウェアの到着を待つ間は、仮想MFAデバイスのみを使用することをお勧めします。詳細については、「 IAMユーザーガイド」の「仮想多要素認証 (MFA) デバイス (コンソール) の有効化」を参照してください。
時間ベースのワンタイムパスワード (TOTP) トークンとユニバーサル第 2 要素 (U2F) トークンの両方がハードウェアMFAオプションとして使用できます。
修正
ルートユーザーのハードウェアMFAデバイスを追加するには、「 IAMユーザーガイド」のAWS アカウント 「ルートユーザーのハードウェアMFAデバイスの有効化 (コンソール)」を参照してください。
対象となるお客様に無料のMFAセキュリティキーを提供しています。資格があるかどうかを確認し、無料のキーを注文します
〔IAM.7] IAMユーザーのパスワードポリシーには強力な設定が必要です
関連する要件: NIST.800-53.r5 AC-2 (1) NIST.800-53.r5 AC-2、(3)、 NIST.800-53.r5 AC-3(15)、 NIST.800-53.r5 IA-5(1)、PCIDSSv4.0.1/8.3.6、PCIDSSv4.0.1/8.3.7
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 中
リソースタイプ : AWS::::Account
AWS Config ルール : iam-password-policy
スケジュールタイプ : 定期的
パラメータ:
パラメータ | 説明 | [Type] (タイプ) | 許可されているカスタム値 | Security Hub のデフォルト値 |
---|---|---|---|---|
|
パスワードには少なくとも 1 つの大文字が必要です |
ブール値 |
|
|
|
パスワードには少なくとも 1 つの小文字が必要です |
ブール値 |
|
|
|
パスワードには少なくとも 1 つの記号が必要です |
ブール値 |
|
|
|
パスワードには少なくとも 1 つの数字が必要です |
ブール値 |
|
|
|
パスワードに含まれる文字の最小数 |
整数 |
|
|
|
古いパスワードを再使用できるようになるまでのパスワードローテーション回数 |
整数 |
|
デフォルト値なし |
|
パスワードが有効期限切れになるまでの日数 |
整数 |
|
デフォルト値なし |
このコントロールは、IAMユーザーのアカウントパスワードポリシーが強力な設定を使用しているかどうかを確認します。パスワードポリシーが強力な設定を使用していない場合、コントロールは失敗します。カスタムパラメータ値を指定しない限り、Security Hub は前の表に記載されているデフォルト値を使用します。PasswordReusePrevention
パラメータおよび MaxPasswordAge
パラメータにはデフォルト値がないため、これらのパラメータを除外した場合、Security Hub はこのコントロールを評価する際にパスワードローテーションの回数とパスワードの有効期間を無視します。
にアクセスするには AWS Management Console、IAMユーザーにパスワードが必要です。ベストプラクティスとして、Security Hub では、IAMユーザーを作成する代わりにフェデレーションを使用することを強くお勧めします。フェデレーションでは、ユーザーは既存の企業認証情報を使用して、 AWS Management Consoleにログインできます。 AWS IAM Identity Center (IAM Identity Center) を使用してユーザーを作成またはフェデレーションし、アカウントに IAMロールを引き受けます。
ID プロバイダーとフェデレーションの詳細については、IAM「 ユーザーガイド」の「ID プロバイダーとフェデレーション」を参照してください。IAM Identity Center の詳細については、AWS IAM Identity Center 「 ユーザーガイド」を参照してください。
IAM ユーザーを使用する必要がある場合、Security Hub では、強力なユーザーパスワードの作成を強制することをお勧めします。にパスワードポリシーを設定 AWS アカウント して、パスワードの複雑さの要件と必須のローテーション期間を指定できます。パスワードポリシーを作成または変更する場合、パスワードポリシーの設定の多くは、ユーザーが次回パスワードを変更するときに適用されます。ただし、一部の設定は即座に適用されます。
修正
パスワードポリシーを更新するには、「 IAMユーザーガイド」のIAM「ユーザーのアカウントパスワードポリシーの設定」を参照してください。
〔IAM.8] 未使用のIAMユーザー認証情報は削除する必要があります
関連する要件: PCI DSS v3.2.1/8.1.4、PCIDSSv4.0.1/8.2.6、 CIS AWS Foundations Benchmark v1.2.0/1.3、 NIST.800-53.r5 AC-2、 NIST.800-53.r5 AC-2(1)、 NIST.800-53.r5 AC-2(3)、 NIST.800-53.r5 AC-3、(15) NIST.800-53.r5 AC-3、 NIST.800-53.r5 AC-3(7)、 NIST.800-53.r5 AC-6
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 中
リソースタイプ : AWS::IAM::User
AWS Config ルール : iam-user-unused-credentials-check
スケジュールタイプ : 定期的
パラメータ:
-
maxCredentialUsageAge
:90
(カスタマイズ不可)
このコントロールは、IAMユーザーに 90 日間使用されていないパスワードまたはアクティブなアクセスキーがあるかどうかをチェックします。
IAM ユーザーは、パスワードやアクセスキーなど、さまざまなタイプの認証情報を使用して AWS リソースにアクセスできます。
Security Hub では、90 日以上使用されていないすべての認証情報を削除または非アクティブ化することを推奨します。不要な認証情報を無効化または削除することにより、侵害または放棄されたアカウントに関連付けられている認証情報が使用される可能性が少なくなります。
注記
AWS Config Security Hub を使用するすべてのリージョンで を有効にする必要があります。ただし、グローバルリソースの記録は 1 つのリージョンで有効にすることができます。グローバルリソースを 1 つのリージョンにのみ記録する場合は、グローバルリソースを記録するリージョン以外のすべてのリージョンでこのコントロールを無効にすることができます。
修正
IAM コンソールでユーザー情報を表示する場合、アクセスキーの有効期間、パスワードの有効期間、および最終アクティビティの列があります。これらの列の値のいずれかが 90 日より大きい場合は、それらのユーザーの認証情報を非アクティブにします。
認証情報レポートを使用してユーザーアカウントをモニタリングし、90 日以上アクティビティのないアカウントを特定することもできます。コンソールから認証情報レポートを .csv
形式でダウンロードできますIAM。
非アクティブなアカウント、または未使用の認証情報を特定したら、それらを非アクティブ化します。手順については、「 IAMユーザーガイド」のIAM「 ユーザーパスワードの作成、変更、または削除 (コンソール)」を参照してください。
ルートユーザーに対して [IAM.9] を有効にするMFA必要があります
関連する要件: PCI DSS v3.2.1/8.3.1、PCIDSSv4.0.1/8.4.2、 CIS AWS Foundations Benchmark v3.0.0/1.5、 CIS AWS Foundations Benchmark v1.4.0/1.5、 CIS AWS Foundations Benchmark v1.2.0/1.13、 NIST.800-53.r5 AC-2(1)、 NIST.800-53.r5 AC-3(15)、 NIST.800-53.r5 IA-2(1)、 NIST.800-53.r5 IA-2(2)、 NIST.800-53.r5 IA-2(6) NIST.800-53.r5 IA-2、(8)
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 非常事態
リソースタイプ : AWS::::Account
AWS Config ルール : root-account-mfa-enabled
スケジュールタイプ: 定期的
パラメータ : なし
ルートユーザーは、 のすべてのサービスとリソースに完全にアクセスできます AWS アカウント。 は、ユーザー名とパスワードの上に保護レイヤーMFAを追加します。MFA を有効にすると、ユーザーが にサインインすると AWS Management Console、ユーザー名とパスワードと、デバイスからの認証コードの入力を求められます AWS MFA。
MFA ルートユーザーに仮想 を使用する場合、 では、使用するデバイスが個人用デバイスではないことをCIS推奨しています。代わりに、各個人のデバイスとは独立して課金およびセキュリティ保護を維持できるように管理している、専用のモバイルデバイス (タブレットまたは電話) を使用してください。これにより、MFAデバイスの紛失、デバイスのトレードイン、またはデバイスを所有する個人が会社で雇用されなくなったために にアクセスできなくなるリスクが軽減されます。
修正
ルートユーザーMFAに対して を有効にするには、「 AWS アカウント管理リファレンスガイド」のMFA AWS アカウント 「ルートユーザーのアクティブ化」を参照してください。
〔IAM.10] IAMユーザーのパスワードポリシーには強力な AWS Config設定が必要です
関連する要件: PCI DSS v3.2.1/8.1.4、PCIDSSv3.2.1/8.2.3、PCIDSSv3.2.1/8.2.4、PCIDSSv3.2.1/8.2.5、PCIDSSv4.0.1/8.3.6
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 中
リソースタイプ : AWS::::Account
AWS Config ルール : iam-password-policy
スケジュールタイプ: 定期的
パラメータ : なし
このコントロールは、IAMユーザーのアカウントパスワードポリシーが次の最小PCIDSS設定を使用しているかどうかを確認します。
-
RequireUppercaseCharacters
- パスワードには少なくとも 1 つの大文字が必要。(デフォルト =true
) -
RequireLowercaseCharacters
- パスワードには少なくとも 1 つの小文字が必要。(デフォルト =true
) -
RequireNumbers
- パスワードには少なくとも 1 つの数字が必要。(デフォルト =true
) -
MinimumPasswordLength
- パスワードの最小文字数。(デフォルト = 7 以上) -
PasswordReusePrevention
- パスワードの再利用を許可するまでのパスワードの数。(デフォルト = 4) -
MaxPasswordAge
- パスワードの有効期限が切れるまでの日数。(デフォルト = 90)
修正
推奨設定を使用するようにパスワードポリシーを更新するには、「 IAMユーザーガイド」のIAM「ユーザーのアカウントパスワードポリシーの設定」を参照してください。
〔IAM.11] IAMパスワードポリシーに少なくとも 1 つの大文字が必要であることを確認する
関連する要件: CIS AWS Foundations Benchmark v1.2.0/1.5、PCIDSSv4.0.1/8.3.6
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 中
リソースタイプ : AWS::::Account
AWS Config ルール : iam-password-policy
スケジュールタイプ: 定期的
パラメータ : なし
パスワードポリシーは、パスワードの複雑さの要件をある程度強制します。IAM パスワードポリシーを使用してパスワードが別の文字セットを使用するようにします。
CIS では、パスワードポリシーに少なくとも 1 つの大文字を要求することを推奨しています。パスワードの複雑さに関するポリシーを設定すると、ブルートフォースのログイン試行に対するアカウントの耐障害性が高まります。
修正
パスワードポリシーを変更するには、「 IAMユーザーガイド」のIAM「ユーザーのアカウントパスワードポリシーの設定」を参照してください。[パスワードの強度] で、[ラテンアルファベット (A–Z) の少なくとも 1 つの大文字が必要] を選択します。
〔IAM.12] IAMパスワードポリシーに少なくとも 1 つの小文字が必要であることを確認する
関連する要件: CIS AWS Foundations Benchmark v1.2.0/1.6、PCIDSSv4.0.1/8.3.6
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 中
リソースタイプ : AWS::::Account
AWS Config ルール : iam-password-policy
スケジュールタイプ: 定期的
パラメータ : なし
パスワードポリシーは、パスワードの複雑さの要件をある程度強制します。IAM パスワードポリシーを使用して、パスワードが異なる文字セットを使用するようにします。 CIS では、パスワードポリシーに少なくとも 1 つの小文字を含めることをお勧めします。パスワードの複雑さに関するポリシーを設定すると、ブルートフォースのログイン試行に対するアカウントの耐障害性が高まります。
修正
パスワードポリシーを変更するには、「 IAMユーザーガイド」のIAM「ユーザーのアカウントパスワードポリシーの設定」を参照してください。[パスワードの強度] で、[ラテンアルファベット (A–Z) の少なくとも 1 つの小文字が必要] を選択します。
〔IAM.13] IAMパスワードポリシーに少なくとも 1 つの記号が必要であることを確認する
関連する要件: CIS AWS Foundations Benchmark v1.2.0/1.7、PCIDSSv4.0.1/8.3.6
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 中
リソースタイプ : AWS::::Account
AWS Config ルール : iam-password-policy
スケジュールタイプ: 定期的
パラメータ : なし
パスワードポリシーは、パスワードの複雑さの要件をある程度強制します。IAM パスワードポリシーを使用してパスワードが別の文字セットを使用するようにします。
CIS では、パスワードポリシーに少なくとも 1 つの記号を要求することを推奨しています。パスワードの複雑さに関するポリシーを設定すると、ブルートフォースのログイン試行に対するアカウントの耐障害性が高まります。
修正
パスワードポリシーを変更するには、「 IAMユーザーガイド」のIAM「ユーザーのアカウントパスワードポリシーの設定」を参照してください。[パスワードの強度] で、[少なくとも 1 つの英数字以外の文字が必要] を選択します。
〔IAM.14] IAMパスワードポリシーに少なくとも 1 つの数字が必要であることを確認する
関連する要件: CIS AWS Foundations Benchmark v1.2.0/1.8、PCIDSSv4.0.1/8.3.6
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 中
リソースタイプ : AWS::::Account
AWS Config ルール : iam-password-policy
スケジュールタイプ: 定期的
パラメータ : なし
パスワードポリシーは、パスワードの複雑さの要件をある程度強制します。IAM パスワードポリシーを使用してパスワードが別の文字セットを使用するようにします。
CIS では、パスワードポリシーに少なくとも 1 つの数字を要求することを推奨しています。パスワードの複雑さに関するポリシーを設定すると、ブルートフォースのログイン試行に対するアカウントの耐障害性が高まります。
修正
パスワードポリシーを変更するには、「 IAMユーザーガイド」のIAM「ユーザーのアカウントパスワードポリシーの設定」を参照してください。[パスワードの強度] で、[少なくとも 1 つの数字が必要] を選択します。
〔IAM.15] IAMパスワードポリシーでパスワードの長さが 14 以上であることを確認してください
関連する要件: CIS AWS Foundations Benchmark v3.0.0/1.8、 CIS AWS Foundations Benchmark v1.4.0/1.8、 CIS AWS Foundations Benchmark v1.2.0/1.9
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 中
リソースタイプ : AWS::::Account
AWS Config ルール : iam-password-policy
スケジュールタイプ: 定期的
パラメータ : なし
パスワードポリシーは、パスワードの複雑さの要件をある程度強制します。IAM パスワードポリシーを使用してパスワードが指定された最低限の長さになるようにします。
CIS では、パスワードポリシーに 14 文字以上のパスワードが必要です。パスワードの複雑さに関するポリシーを設定すると、ブルートフォースのログイン試行に対するアカウントの耐障害性が高まります。
修正
パスワードポリシーを変更するには、「 IAMユーザーガイド」のIAM「ユーザーのアカウントパスワードポリシーの設定」を参照してください。[パスワードの最小文字数] で、14
またはそれ以上の数字を入力します。
〔IAM.16] IAMパスワードポリシーでパスワードの再利用を禁止する
関連する要件: CIS AWS Foundations Benchmark v3.0.0/1.9、 CIS AWS Foundations Benchmark v1.4.0/1.9、 CIS AWS Foundations Benchmark v1.2.0/1.10、PCIDSSv4.0.1/8.3.7
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 低
リソースタイプ : AWS::::Account
AWS Config ルール : iam-password-policy
スケジュールタイプ: 定期的
パラメータ : なし
このコントロールは、記憶するパスワードの数が 24 に設定されているかどうかをチェックします。値が 24 でない場合、コントロールは失敗します。
IAM パスワードポリシーにより、同じユーザーによる特定のパスワードの再使用を防ぐことができます。
CIS では、パスワードポリシーでパスワードの再利用を禁止することをお勧めします。パスワードの再使用を禁止すると、ブルートフォースのログイン試行に対するアカウントの耐障害性が高まります。
修正
パスワードポリシーを変更するには、「 IAMユーザーガイド」のIAM「ユーザーのアカウントパスワードポリシーの設定」を参照してください。[パスワードの再利用を禁止] で、24
と入力します。
〔IAM.17] IAMパスワードポリシーが 90 日以内にパスワードを期限切れにすることを確認する
関連する要件: CIS AWS Foundations Benchmark v1.2.0/1.11、PCIDSSv4.0.1/8.3.9
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 低
リソースタイプ : AWS::::Account
AWS Config ルール : iam-password-policy
スケジュールタイプ: 定期的
パラメータ : なし
IAM パスワードポリシーでは、パスワードを指定された日数後に更新または期限切れにすることを要求できます。
CIS では、パスワードポリシーが 90 日以内にパスワードを期限切れにすることをお勧めします。パスワードの有効期間を短くすると、ブルートフォースのログイン試行に対するアカウントの耐障害性が高まります。定期的なパスワード変更の要求は、以下のシナリオでも役立ちます。
-
パスワードはユーザーが知らない間に、盗まれたり漏洩したりする可能性があります。これは、システムの侵害、ソフトウェアの脆弱性、または内部の脅威によって起こりえます。
-
特定の企業や政府のウェブフィルターまたはプロキシサーバーは、暗号化されている場合でもトラフィックを傍受し記録できます。
-
多くの人々が仕事、E メール、個人用など多くのシステムで同じパスワードを使用しています。
-
侵害されたエンドユーザーのワークステーションに、キーストロークロガーが設置されている可能性があります。
修正
パスワードポリシーを変更するには、「 IAMユーザーガイド」のIAM「ユーザーのアカウントパスワードポリシーの設定」を参照してください。[パスワードの有効期間をオンにする] で、90
またはそれより小さい数字を入力します。
〔IAM.18] でインシデントを管理するためのサポートロールが作成されていることを確認します AWS Support
関連する要件: CIS AWS Foundations Benchmark v3.0.0/1.17、 CIS AWS Foundations Benchmark v1.4.0/1.17、 CIS AWS Foundations Benchmark v1.2.0/1.20、PCIDSSv4.0.1/12.10.3
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 低
リソースタイプ : AWS::::Account
AWS Config ルール : iam-policy-in-use
スケジュールタイプ : 定期的
パラメータ:
policyARN
:arn:
(カスタマイズ不可)partition
:iam::aws:policy/AWSSupportAccesspolicyUsageType
:ANY
(カスタマイズ不可)
AWS は、インシデントの通知と対応、テクニカルサポート、カスタマーサービスに使用できるサポートセンターを提供します。
IAM ロールを作成して、承認済みユーザーが AWS サポートでインシデントを管理できるようにします。アクセスコントロールの最小権限を実装することで、 IAMロールには、インシデントを管理するためにサポートセンターへのアクセスを許可する適切なIAMポリシーが必要です AWS Support。
注記
AWS Config Security Hub を使用するすべてのリージョンで を有効にする必要があります。ただし、グローバルリソースの記録は 1 つのリージョンで有効にすることができます。グローバルリソースを 1 つのリージョンにのみ記録する場合は、グローバルリソースを記録するリージョン以外のすべてのリージョンでこのコントロールを無効にすることができます。
修正
この問題を修正するには、認可済みのユーザーに AWS Support インシデントの管理を許可するロールを作成します。
AWS Support アクセスに使用するロールを作成するには
https://console.aws.amazon.com/iam/
で IAM コンソールを開きます。 -
IAM ナビゲーションペインで、[Roles (ロール)]、[ロールの作成] の順に選択します。
-
[Role type] (ロールタイプ) で、[Another AWS アカウント] を選択します。
-
アカウント ID には、リソースへのアクセスを許可する AWS アカウント の AWS アカウント ID を入力します。
このロールを引き受けるユーザーまたはグループが同じアカウントに属している場合は、ローカルアカウント番号を入力します。
注記
指定したアカウントの管理者は、そのアカウントのすべての ユーザーに、このロールを引き受けるアクセス許可を付与できます。そのためには、管理者から
sts:AssumeRole
アクションの許可を付与するユーザーまたはグループにポリシーを添付します。そのポリシーでは、リソースはロール である必要がありますARN。 -
[Next: Permissions] (次へ: アクセス許可) を選択します。
-
マネージドポリシー
AWSSupportAccess
を検索します。 -
AWSSupportAccess
マネージドポリシーのチェックボックスを選択します。 -
[Next: Tags] (次へ: タグ) を選択します。
-
(オプション) ロールにメタデータを追加するには、キーバリューのペアとしてタグをアタッチします。
でのタグの使用の詳細についてはIAM、「 IAMユーザーガイド」のIAM「ユーザーとロールのタグ付け」を参照してください。
-
[次へ: レビュー] を選択します。
-
[Role name] (ロール名) に、ロールの名前を入力します。
ロール名は 内で一意である必要があります AWS アカウント。大文字と小文字は区別されません。
-
(オプション) [Role description] (ロールの説明) に、新しいロールの説明を入力します。
-
ロールを確認し、[Create role] (ロールの作成) を選択します。
〔IAM.19] はすべてのIAMユーザーに対して有効にMFAする必要があります
関連する要件: PCI DSS v3.2.1/8.3.1、PCIDSSv4.0.1/8.4.2、 NIST.800-53.r5 AC-2(1)、 NIST.800-53.r5 AC-3(15)、 NIST.800-53.r5 IA-2(1)、 NIST.800-53.r5 IA-2(2) NIST.800-53.r5 IA-2、(6)、 NIST.800-53.r5 IA-2(8)
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 中
リソースタイプ : AWS::IAM::User
AWS Config ルール : iam-user-mfa-enabled
スケジュールタイプ: 定期的
パラメータ : なし
このコントロールは、IAMユーザーが多要素認証 (MFA) を有効にしているかどうかをチェックします。
注記
AWS Config Security Hub を使用するすべてのリージョンで を有効にする必要があります。ただし、グローバルリソースの記録は 1 つのリージョンで有効にすることができます。グローバルリソースを 1 つのリージョンにのみ記録する場合は、グローバルリソースを記録するリージョン以外のすべてのリージョンでこのコントロールを無効にすることができます。
修正
ユーザーMFAを追加するにはIAM、「 IAMユーザーガイド」の「 でのユーザーのMFAデバイスの有効化 AWS」を参照してください。
〔IAM.20] ルートユーザーの使用を避ける
重要
Security Hub は、2024 年 4 月にこのコントロールを廃止しました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。
関連する要件: CIS AWS Foundations Benchmark v1.2.0/1.1
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 低
リソースタイプ : AWS::IAM::User
AWS Config ルール: use-of-root-account-test
(カスタム Security Hub ルール)
スケジュールタイプ: 定期的
パラメータ : なし
このコントロール AWS アカウント は、 にルートユーザーの使用に制限があるかどうかをチェックします。このコントロールは、以下のリソースを評価します。
Amazon Simple Notification Service (Amazon SNS) のトピック
AWS CloudTrail 証跡
CloudTrail 証跡に関連付けられたメトリクスフィルター
フィルターに基づく Amazon CloudWatch アラーム
チェックの結果、以下の記述の 1 つ以上が真であれば FAILED
と判定されます:
アカウントに証 CloudTrail 跡が存在しません。
CloudTrail 証跡は有効になっていますが、読み取りと書き込みの管理イベントを含む少なくとも 1 つのマルチリージョン証跡では設定されていません。
CloudTrail 証跡は有効になっていますが、 CloudWatch ログロググループに関連付けられていません。
Center for Internet Security (CIS) で規定されている正確なメトリクスフィルターは使用されません。規定のメトリックフィルターは
'{$.userIdentity.type="Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType !="AwsServiceEvent"}'
です。メトリクスフィルターに基づく CloudWatch アラームがアカウントに存在しません。
CloudWatch 関連付けられたSNSトピックに通知を送信するように設定された アラームは、アラーム条件に基づいてトリガーされません。
SNS トピックは、 SNSトピックにメッセージを送信するための制約に準拠していません。
SNS トピックには少なくとも 1 人のサブスクライバーがありません。
チェックの結果、以下の条件の 1 つ以上に当てはまれば、NO_DATA
コントロールステータスになります:
マルチリージョンの追跡が別のリージョンに基づいています。Security Hub は、追跡が基づいているリージョンでのみ結果を生成できます。
マルチリージョンの追跡が別のアカウントに属しています。Security Hub は、追跡を所有するアカウントの結果のみを生成できます。
チェックの結果、以下の条件の 1 つ以上に当てはまれば、WARNING
コントロールステータスになります:
現在のアカウントは、 CloudWatch アラームで参照されるSNSトピックを所有していません。
現在のアカウントは、
ListSubscriptionsByTopic
SNS を呼び出すときに SNSトピックにアクセスできませんAPI。
注記
組織内の多数のアカウントからのイベントを記録するには、組織の証跡を使用することをお勧めします。組織の証跡は、デフォルトではマルチリージョンの証跡であり、 AWS Organizations 管理アカウントまたは CloudTrail 委任された管理者アカウントでのみ管理できます。組織の証跡を使用すると、組織メンバーアカウントで評価されたコントロールのコントロールステータスが NO_DATA になります。メンバーアカウントでは、Security Hub はメンバー所有のリソースの検出結果のみを生成します。組織の証跡に関する検出結果は、リソース所有者のアカウントで生成されます。クロスリージョン集約を使用すると、Security Hub の委任された管理者アカウントでこれらの検出結果を確認できます。
ベストプラクティスは、アカウントおよびサービスの管理タスクを実行するときに必要となる場合のみ、ルートユーザー認証情報を使用することです。IAM ポリシーをグループとロールに直接適用しますが、ユーザーには適用しません。日常的な使用のために管理者を設定する手順については、「 IAMユーザーガイド」の「最初のIAM管理者ユーザーとグループの作成」を参照してください。
修正
この問題を修正する手順には、Amazon SNSトピック、 CloudTrail証跡、メトリクスフィルター、メトリクスフィルターのアラームの設定が含まれます。
Amazon SNSトピックを作成するには
https://console.aws.amazon.com/sns/v3/home
で Amazon SNSコンソールを開きます。 -
すべてのCISアラームを受信する Amazon SNSトピックを作成します。
トピックに少なくとも 1 人の受信者を作成します。詳細については、「Amazon Simple Notification Service デベロッパーガイド」の「Amazon の開始方法SNS」を参照してください。
次に、すべてのリージョン CloudTrail に適用されるアクティブな を設定します。これを行うには、〔CloudTrail.1] CloudTrail 読み取りと書き込みの管理イベントを含む少なくとも 1 つのマルチリージョン証跡を有効にして設定する必要があります の修正ステップに従います。
CloudTrail 証跡に関連付ける CloudWatch Logs ロググループの名前を書き留めます。そのロググループに対してメトリクスフィルターを作成します。
最後に、メトリクスフィルターとアラームを作成します。
メトリクスフィルターとアラームを作成するには
で CloudWatch コンソールを開きますhttps://console.aws.amazon.com/cloudwatch/
。 -
ナビゲーションペインで、[ロググループ] を選択します。
-
作成した CloudTrail 証跡に関連付けられている CloudWatch ログロググループのチェックボックスをオンにします。
-
[Actions] (アクション) から、[Create Metric Filter] (メトリクスフィルターの作成) を選択します。
-
[Define pattern] (パターンを定義) で、以下の操作を行います。
-
次のパターンをコピーして、[Filter Pattern] (フィルターパターン) フィールドに貼り付けます。
{$.userIdentity.type="Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType !="AwsServiceEvent"}
-
[Next] (次へ) を選択します。
-
-
[Assign Metric] (メトリクスの割り当て) で、以下の操作を行います。
-
[Filter name] (フィルター名) に、メトリクスフィルターの名前を入力します。
-
[Metric namespace] (メトリクス名前空間) に
LogMetrics
と入力します。すべてのCISログメトリクスフィルターに同じ名前空間を使用する場合、すべてのCISベンチマークメトリクスがグループ化されます。
-
[Metric Name] (メトリクス名) に、メトリクスの名前を入力します。メトリクスの名前を忘れないでください。アラームの作成時にメトリクスを選択する必要があります。
-
[Metric value] (メトリクス値) に
1
と入力します。 -
[Next] (次へ) を選択します。
-
-
[Review and create] (確認して作成) で、新しいメトリクスフィルター用に入力した情報を確認します。その後、[Create metric filter] (メトリクスフィルターの作成) を選択します。
-
ナビゲーションペインで [Log groups] (ロググループ)を選択し、[Metric filters] (メトリクスフィルター) で作成したフィルターを選択します。
-
フィルターのチェックボックスをオンにします。[アラームの作成] を選択します。
-
[Specify metric and conditions] (メトリクスと条件の指定) で、以下の操作を行います。
-
[Conditions] (条件) の [Threshold] (しきい値) で、[Static] (静的) を選択します。
-
[Define the alarm condition] (アラーム条件を定義) で、[Greater/Equal] (より大きい/等しい) を選択します。
-
[Define the threshold value] (しきい値の定義) で、
1
を入力します。 -
[Next] (次へ) を選択します。
-
-
[Configure actions] (アクションの設定) で、次の作業を行います。
-
[Alarm state trigger] (アラーム状態トリガー) で、[In alarm] (アラーム状態) を選択します。
-
SNS トピックの選択 で、既存のSNSトピックの選択 を選択します。
-
通知の送信先として、前の手順で作成したSNSトピックの名前を入力します。
-
[Next (次へ)] を選択します。
-
-
[Add name and description] (名前と説明を追加) に、アラームの [Name] (名前)と [Description] (説明)を
CIS-1.1-RootAccountUsage
のように入力します。続いて、[Next] (次へ) を選択します。 -
[Preview and create] (プレビューと作成) で、アラームの設定を確認します。次に [Create alarm] (アラームの作成) を選択します。
〔IAM.21] 作成するIAMカスタマー管理ポリシーでは、 サービスのワイルドカードアクションを許可しないでください
関連する要件: NIST.800-53.r5 AC-2、 NIST.800-53.r5 AC-2(1) NIST.800-53.r5 AC-3、、 NIST.800-53.r5 AC-3(15)、 NIST.800-53.r5 AC-3(7) NIST.800-53.r5 AC-5、、 NIST.800-53.r5 AC-6、(10) NIST.800-53.r5 AC-6、 NIST.800-53.r5 AC-6(2)、 NIST.800-53.r5 AC-6(3)
カテゴリ: 検出 > セキュアなアクセス管理
重要度: 低
リソースタイプ : AWS::IAM::Policy
AWS Config ルール : iam-policy-no-statements-with-full-access
スケジュールタイプ : 変更がトリガーされた場合
パラメータ :
-
excludePermissionBoundaryPolicy
:True
(カスタマイズ不可)
このコントロールは、作成したIAMアイデンティティベースのポリシーに、* ワイルドカードを使用して任意のサービスに対するすべてのアクションのアクセス許可を付与する Allow ステートメントがあるかどうかをチェックします。ポリシーステートメントに、"Effect": "Allow"
と "Action": "Service:*"
が含まれている場合、コントロールは失敗します。
例えば、ポリシーに次のような記述があると、結果は失敗となります。
"Statement": [ { "Sid": "EC2-Wildcard", "Effect": "Allow", "Action": "ec2:*", "Resource": "*" }
"Effect": "Allow"
と "NotAction":
"
を使用する場合も、コントロールは失敗します。この場合、 service
:*"NotAction
要素は、 で指定されたアクションを除く AWS のサービス、 のすべてのアクションへのアクセスを提供しますNotAction
。
このコントロールは、カスタマー管理IAMポリシーにのみ適用されます。によって管理されるIAMポリシーには適用されません AWS。
アクセス許可を割り当てるときは AWS のサービス、IAMポリシーで許可されるIAMアクションの範囲を設定することが重要です。IAM アクションは、必要なアクションのみに制限する必要があります。これは、最小特権の許可のプロビジョンに役立ちます。ポリシーがアクセス許可を必要としない IAMプリンシパルにアタッチされている場合、ポリシーが過度に許容されていると、権限のエスカレーションにつながる可能性があります。
場合によっては、 DescribeFlowLogs
や など、同様のプレフィックスを持つIAMアクションを許可できますDescribeAvailabilityZones
。これらの承認済みのケースでは、共通プレフィクスにサフィックス付きワイルドカードを追加することができます。例えば、ec2:Describe*
と指定します。
このコントロールは、サフィックス付きワイルドカードでプレフィックス付きIAMアクションを使用する場合に成功します。例えば、ポリシー内の次のステートメントでは、結果が成功になります。
"Statement": [ { "Sid": "EC2-Wildcard", "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }
この方法で関連IAMアクションをグループ化すると、IAMポリシーのサイズ制限を超えないようにすることもできます。
注記
AWS Config Security Hub を使用するすべてのリージョンで を有効にする必要があります。ただし、グローバルリソースの記録は 1 つのリージョンで有効にすることができます。グローバルリソースを 1 つのリージョンにのみ記録する場合は、グローバルリソースを記録するリージョン以外のすべてのリージョンでこのコントロールを無効にすることができます。
修正
この問題を修正するには、IAMポリシーを更新して、完全な「*」管理者権限を許可しないようにします。IAM ポリシーを編集する方法の詳細については、「 IAMユーザーガイド」のIAM「ポリシーの編集」を参照してください。
45 日間使用されていない [IAM.22] IAM ユーザー認証情報は削除する必要があります
関連する要件: CIS AWS Foundations Benchmark v3.0.0/1.12、 CIS AWS Foundations Benchmark v1.4.0/1.12
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 中
リソースタイプ : AWS::IAM::User
AWS Config ルール: iam-user-unused-credentials-check
スケジュールタイプ: 定期的
パラメータ : なし
このコントロールは、IAMユーザーがパスワードを持っているか、45 日以上使用されていないアクティブなアクセスキーを持っているかをチェックします。そのためには、 AWS Config ルールの maxCredentialUsageAge
パラメータが 45 以上であるかどうかをチェックします。
ユーザーは、パスワードやアクセスキーなど、さまざまなタイプの認証情報を使用して AWS リソースにアクセスできます。
CIS では、45 日以上使用されていないすべての認証情報を削除または非アクティブ化することをお勧めします。不要な認証情報を無効化または削除することにより、侵害または放棄されたアカウントに関連付けられている認証情報が使用される可能性が少なくなります。
このコントロールの AWS Config ルールでは、 GetCredentialReport
および GenerateCredentialReport
APIオペレーションを使用します。これらは 4 時間ごとにのみ更新されます。IAM ユーザーへの変更がこのコントロールに表示されるまでに最大 4 時間かかる場合があります。
注記
AWS Config Security Hub を使用するすべてのリージョンで を有効にする必要があります。ただし、グローバルリソースの記録は 1 つのリージョンで有効にすることができます。グローバルリソースを 1 つのリージョンにのみ記録する場合は、グローバルリソースを記録するリージョン以外のすべてのリージョンでこのコントロールを無効にすることができます。
修正
IAM コンソールでユーザー情報を表示する場合、アクセスキーの有効期間、パスワードの有効期間、および最終アクティビティの列があります。これらの列の値のいずれかが 45 日より大きい場合は、それらのユーザーの認証情報を非アクティブにします。
認証情報レポートを使用してユーザーアカウントをモニタリングし、45 日以上アクティビティのないアカウントを特定することもできます。認証情報レポートは、 IAMコンソールから .csv
形式でダウンロードできます。
非アクティブなアカウント、または未使用の認証情報を特定したら、それらを非アクティブ化します。手順については、「 IAMユーザーガイド」のIAM「 ユーザーパスワードの作成、変更、または削除 (コンソール)」を参照してください。
〔IAM.23] IAM Access Analyzer アナライザーにはタグを付ける必要があります
カテゴリ: 識別 > インベントリ > タグ付け
重要度: 低
リソースタイプ : AWS::AccessAnalyzer::Analyzer
AWS Config ルール: tagged-accessanalyzer-analyzer
(カスタム Security Hub ルール)
スケジュールタイプ : 変更がトリガーされた場合
パラメータ :
パラメータ | 説明 | [Type] (タイプ) | 許可されているカスタム値 | Security Hub のデフォルト値 |
---|---|---|---|---|
requiredTagKeys
|
評価されたリソースに含める必要があるシステム以外のタグキーのリスト。タグキーでは、大文字と小文字が区別されます。 | StringList | AWS 要件を満たすタグのリスト |
No default value
|
このコントロールは、 AWS Identity and Access Management Access Analyzer (IAM Access Analyzer) によって管理されるアナライザーに、パラメータ で定義された特定のキーを持つタグがあるかどうかをチェックしますrequiredTagKeys
。アナライザーにタグキーがない場合、またはパラメータ requiredTagKeys
で指定されたすべてのキーがない場合、コントロールは失敗します。パラメータ requiredTagKeys
が指定されていない場合、コントロールはタグキーの存在のみをチェックし、アナライザーにキーがタグ付けされていない場合は失敗します。自動的に適用され、aws:
で始まるシステムタグは無視されます。
タグは、 AWS リソースに割り当てるラベルであり、キーとオプションの値で構成されます。タグを作成することで、リソースを目的、所有者、環境その他の基準別に分類できます。タグは、リソースの識別、整理、検索、フィルタリングに役立ちます。タグ付けは、アクションと通知の説明責任のあるリソース所有者を追跡するのに役立ちます。タグ付けを使用すると、タグに基づいてアクセス許可を定義する認可戦略として属性ベースのアクセスコントロール (ABAC) を実装できます。タグは、IAMエンティティ (ユーザーまたはロール) および AWS リソースにアタッチできます。プリンシIAMパルには、単一のABACポリシーまたは個別のポリシーセットを作成できます。これらのABACポリシーを設計して、プリンシパルのタグがリソースタグと一致するときにオペレーションを許可できます。詳細については、「 IAMユーザーガイド」の「 とは AWS ABAC」を参照してください。
注記
個人を特定できる情報 (PII) やその他の機密情報や機密情報をタグに追加しないでください。タグには AWS のサービス、 を含む多くの がアクセスできます AWS Billing。タグ付けのベストプラクティスの詳細については、の「 AWS リソースのタグ付け」を参照してくださいAWS 全般のリファレンス。
修正
アナライザーにタグを追加するには、「」を参照してください。 TagResource AWS IAM「Access Analyzer APIリファレンス」の「」。
〔IAM.24] IAMロールにはタグを付ける必要があります
カテゴリ: 識別 > インベントリ > タグ付け
重要度: 低
リソースタイプ : AWS::IAM::Role
AWS Config ルール: tagged-iam-role
(カスタム Security Hub ルール)
スケジュールタイプ : 変更がトリガーされた場合
パラメータ :
パラメータ | 説明 | [Type] (タイプ) | 許可されているカスタム値 | Security Hub のデフォルト値 |
---|---|---|---|---|
requiredTagKeys
|
評価されたリソースに含める必要があるシステム以外のタグキーのリスト。タグキーでは、大文字と小文字が区別されます。 | StringList | AWS 要件を満たすタグのリスト |
No default value
|
このコントロールは、 AWS Identity and Access Management (IAM) ロールにパラメータ で定義された特定のキーを持つタグがあるかどうかをチェックしますrequiredTagKeys
。ロールにタグキーがない場合、またはパラメータ requiredTagKeys
で指定されたすべてのキーがない場合、コントロールは失敗します。パラメータ requiredTagKeys
が指定されていない場合、コントロールはタグキーの存在のみをチェックし、ロールにキーがタグ付けされていない場合は失敗します。自動的に適用され、aws:
で始まるシステムタグは無視されます。
タグは、 AWS リソースに割り当てるラベルであり、キーとオプションの値で構成されます。タグを作成することで、リソースを目的、所有者、環境その他の基準別に分類できます。タグは、リソースの識別、整理、検索、フィルタリングに役立ちます。タグ付けは、アクションと通知の説明責任のあるリソース所有者を追跡するのに役立ちます。タグ付けを使用すると、タグに基づいてアクセス許可を定義する認可戦略として属性ベースのアクセスコントロール (ABAC) を実装できます。タグは、IAMエンティティ (ユーザーまたはロール) および AWS リソースにアタッチできます。プリンシIAMパルには、単一のABACポリシーまたは個別のポリシーセットを作成できます。これらのABACポリシーを設計して、プリンシパルのタグがリソースタグと一致するときにオペレーションを許可できます。詳細については、「 IAMユーザーガイド」の「 とは AWS ABAC」を参照してください。
注記
個人を特定できる情報 (PII) やその他の機密情報や機密情報をタグに追加しないでください。タグには AWS のサービス、 を含む多くの がアクセスできます AWS Billing。タグ付けのベストプラクティスの詳細については、の「 AWS リソースのタグ付け」を参照してくださいAWS 全般のリファレンス。
修正
IAM ロールにタグを追加するには、「 IAMユーザーガイド」の「 IAMリソースのタグ付け」を参照してください。
〔IAM.25] IAM ユーザーにはタグを付ける必要があります
カテゴリ: 識別 > インベントリ > タグ付け
重要度: 低
リソースタイプ : AWS::IAM::User
AWS Config ルール: tagged-iam-user
(カスタム Security Hub ルール)
スケジュールタイプ : 変更がトリガーされた場合
パラメータ :
パラメータ | 説明 | [Type] (タイプ) | 許可されているカスタム値 | Security Hub のデフォルト値 |
---|---|---|---|---|
requiredTagKeys
|
評価されたリソースに含める必要があるシステム以外のタグキーのリスト。タグキーでは、大文字と小文字が区別されます。 | StringList | AWS 要件を満たすタグのリスト |
No default value
|
このコントロールは、 AWS Identity and Access Management (IAM) ユーザーにパラメータ で定義された特定のキーを持つタグがあるかどうかをチェックしますrequiredTagKeys
。ユーザーにタグキーがない場合、またはパラメータ requiredTagKeys
で指定されたすべてのキーがない場合、コントロールは失敗します。パラメータ requiredTagKeys
が指定されていない場合、コントロールはタグキーの存在のみをチェックし、ユーザーがキーでタグ付けされていない場合は失敗します。自動的に適用され、aws:
で始まるシステムタグは無視されます。
タグは、 AWS リソースに割り当てるラベルであり、キーとオプションの値で構成されます。タグを作成することで、リソースを目的、所有者、環境その他の基準別に分類できます。タグは、リソースの識別、整理、検索、フィルタリングに役立ちます。タグ付けは、アクションと通知の説明責任のあるリソース所有者を追跡するのに役立ちます。タグ付けを使用すると、タグに基づいてアクセス許可を定義する認可戦略として属性ベースのアクセスコントロール (ABAC) を実装できます。タグは、IAMエンティティ (ユーザーまたはロール) および AWS リソースにアタッチできます。プリンシIAMパルには、単一のABACポリシーまたは個別のポリシーセットを作成できます。これらのABACポリシーを設計して、プリンシパルのタグがリソースタグと一致するときにオペレーションを許可できます。詳細については、「 IAMユーザーガイド」の「 とは AWS ABAC」を参照してください。
注記
個人を特定できる情報 (PII) やその他の機密情報や機密情報をタグに追加しないでください。タグには AWS のサービス、 を含む多くの がアクセスできます AWS Billing。タグ付けのベストプラクティスの詳細については、の「 AWS リソースのタグ付け」を参照してくださいAWS 全般のリファレンス。
修正
IAM ユーザーにタグを追加するには、「 IAMユーザーガイド」の「 IAMリソースのタグ付け」を参照してください。
〔IAM.26] 有効期限切れSSL/TLS で管理されている証明書は削除IAMする必要があります
関連する要件: CIS AWS Foundations Benchmark v3.0.0/1.19
カテゴリ: 識別 > コンプライアンス
重要度: 中
リソースタイプ : AWS::IAM::ServerCertificate
AWS Config ルール: iam-server-certificate-expiration-check
スケジュールタイプ: 定期的
パラメータ : なし
このコントロールは、アクティブなSSL/TLS server certificate that is managed in IAM has expired. The control fails if the expired SSL/TLSサーバー証明書が削除されていないかどうかをチェックします。
でウェブサイトまたはアプリケーションHTTPSへの接続を有効にするには AWS、SSL/TLS サーバー証明書が必要です。IAM または AWS Certificate Manager (ACM) を使用して、サーバー証明書を保存およびデプロイできます。でサポート AWS リージョン されていない でHTTPS接続をサポートする必要がある場合にのみ、 を証明書マネージャーIAMとして使用しますACM。 はプライベートキーIAMを安全に暗号化し、暗号化されたバージョンをIAMSSL証明書ストレージに保存します。 はすべてのリージョンでのサーバー証明書のデプロイIAMをサポートしますが、 で使用するには外部プロバイダーから証明書を取得する必要があります AWS。ACM 証明書を にアップロードすることはできませんIAM。さらに、 IAMコンソールから証明書を管理することはできません。期限切れの SSL/TLS 証明書を削除すると、無効な証明書が誤ってリソースにデプロイされ、基盤となるアプリケーションまたはウェブサイトの信頼性が損なわれるリスクがなくなります。
修正
からサーバー証明書を削除するにはIAM、「 IAMユーザーガイド」の「 でのサーバー証明書の管理IAM」を参照してください。
〔IAM.27] ID IAM には AWSCloudShellFullAccess ポリシーをアタッチしないでください
関連する要件: CIS AWS Foundations Benchmark v3.0.0/1.22
カテゴリ: 保護 > 安全なアクセス管理 > 安全なIAMポリシー
重要度: 中
リソースタイプ: AWS::IAM::Role
、AWS::IAM::User
、AWS::IAM::Group
AWS Config ルール: iam-policy-blacklisted-check
スケジュールタイプ : 変更がトリガーされた場合
パラメータ :
"policyArns": "arn:aws:iam::aws:policy/AWSCloudShellFullAccess,arn:aws-cn:iam::aws:policy/AWSCloudShellFullAccess, arn:aws-us-gov:iam::aws:policy/AWSCloudShellFullAccess"
このコントロールは、IAMID (ユーザー、ロール、またはグループ) に AWS 管理ポリシーがAWSCloudShellFullAccess
アタッチされているかどうかを確認します。IAM ID にAWSCloudShellFullAccess
ポリシーがアタッチされている場合、コントロールは失敗します。
AWS CloudShell は、CLIコマンドを実行するのに便利な方法を提供します AWS のサービス。 AWS 管理ポリシーAWSCloudShellFullAccess
は へのフルアクセスを提供し CloudShell、ユーザーのローカルシステムと CloudShell 環境間のファイルのアップロードおよびダウンロード機能を許可します。 CloudShell 環境内では、ユーザーは sudo アクセス許可を持ち、インターネットにアクセスできます。その結果、この管理ポリシーを IAM ID にアタッチすると、ファイル転送ソフトウェアをインストールし、 から外部のインターネットサーバー CloudShell にデータを移動できるようになります。最小特権の原則に従い、IAMID に狭いアクセス許可をアタッチすることをお勧めします。
修正
IAM ID からAWSCloudShellFullAccess
ポリシーをデタッチするには、IAM「 ユーザーガイド」のIAM「ID アクセス許可の追加と削除」を参照してください。
〔IAM.28] IAM Access Analyzer 外部アクセスアナライザーを有効にする必要があります
関連する要件: CIS AWS Foundations Benchmark v3.0.0/1.20
カテゴリ: 検出 > 検出サービス > 特権使用状況モニタリング monitoring
重要度: 高
リソースタイプ : AWS::AccessAnalyzer::Analyzer
AWS Config ルール: iam-external-access-analyzer-enabled
スケジュールタイプ: 定期的
パラメータ : なし
このコントロール AWS アカウント は、 で IAM Access Analyzer 外部アクセスアナライザーが有効になっているかどうかを確認します。現在選択されている AWS リージョンで外部アクセスアナライザーが有効になっていない場合、コントロールは失敗します。
IAM Access Analyzer の外部アクセスアナライザーは、外部エンティティと共有されている Amazon Simple Storage Service (Amazon S3) バケットやIAMロールなど、組織やアカウント内のリソースを識別するのに役立ちます。これにより、リソースやデータへの意図しないアクセスを回避できます。 IAMAccess Analyzer はリージョン別であり、各リージョンで有効にする必要があります。外部プリンシパルと共有されているリソースを識別するために、アクセスアナライザーは、ロジックベースの推論を使用して AWS 環境のリソースベースのポリシーを分析します。外部アクセスアナライザーを有効にしたら、組織全体またはアカウントのアナライザーを作成します。
修正
特定のリージョンで外部アクセスアナライザーを有効にするには、IAM「 ユーザーガイド」のIAM「アクセスアナライザーの有効化」を参照してください。アナライザーは、リソースへのアクセスをモニタリングするリージョンごとに有効にする必要があります。