PCI DSS コントロール - AWS Security Hub
[PCI.AutoScaling.1] ロードバランサーに関連付けられた Auto Scaling グループは、ヘルスチェックを使用します[PCI.CloudTrail.1] CloudTrailログは、保管時に暗号化する必要がありますAWS KMS keys[PCI.CloudTrail.2] CloudTrail.2[PCI.CloudTrail.3] CloudTrail ログファイルの検証を有効にする必要があります[PCI.CloudTrail.4] CloudTrailは CloudWatch Logs と統合する必要があります[PCI.CodeBuild.1] CodeBuild GitHub または Bitbucket のソースリポジトリの URL は、OAuth を使用する必要があります[PCI.CodeBuild.2] CodeBuild .Buildプロジェクトの環境変数にクリアテキストの認証情報を含めることはできません[PCI.Config.1] AWS Config を有効にする必要があります[PCI.CW.1] 「root」ユーザーの使用には、ログメトリクスフィルターとアラームが存在する必要があります。[PCI.DMS.1]AWS Database Migration Serviceレプリケーション・インスタンスはパブリックであってはならない[PCI.EC2.1] Amazon EBS スナップショットは、パブリックに復元することはできません[PCI.EC2.2] VPC のデフォルトのセキュリティグループでは、インバウンドトラフィックとアウトバウンドトラフィックが禁止されます[PCI.EC2.3] 未使用の EC2 セキュリティグループを削除する必要があります (廃止)[PCI.EC2.4] 未使用の EC2 EIP を削除する必要があります[PCI.EC2.5] セキュリティグループは 0.0.0.0/0 からポート 22 への入力を許可しないようにする必要があります[PCI.EC2.6] すべての VPC で VPC フローログを有効にする必要があります[PCI.ELBV2.1] Application Load Balancer は、すべての HTTP リクエストを HTTPS にリダイレクトするように設定する必要があります[PCI.ES.1] Elasticsearch ドメインは VPC 内に存在する必要があります[PCI.ES.2] Elasticsearch ドメインは保管時の暗号化を有効にする必要があります[PCI.GuardDuty.1] ガードデューティを有効にする必要があります[PCI.IAM.1] IAM ルートユーザーアクセスキーが存在してはいけません[PCI.IAM.2] IAM ユーザーには IAM ポリシーをアタッチしないでください[PCI.IAM.3] IAM ポリシーでは、完全な「*」管理権限を許可しないでください。[PCI.IAM.4] ルートユーザーに対してハードウェア MFA を有効にする必要があります[PCI.IAM.5] ルートユーザーに対して仮想 MFA を有効にする必要があります[PCI.IAM.6] すべての IAM ユーザーに対して MFA を有効にする必要があります[PCI.IAM.7] 定義済みの日数以内に使用しない場合は、IAM ユーザーの認証情報を無効にする必要があります[PCI.IAM.8] IAM ユーザーのパスワードポリシーには強力な設定が必要です[PCI.KMS.1] KMSキーローテーションを有効にする必要があります[PCI.Lambda.1] Lambda 関数はパブリックアクセスを禁止する必要があります[PCI.Lambda.2] ラムダ関数は VPC にある必要があります[PCI.RDS.1] RDS スナップショットではパブリックアクセスを禁止する必要があります[PCI.RDS.2] RDS DB インスタンスではパブリックアクセスを禁止する必要があります[PCI.Redshift.1] Amazon Redshift クラスターはパブリックアクセスを禁止する必要があります[PCI.S3.1] S3 バケットはパブリック書き込みアクセスを禁止する必要があります[PCI.S3.2] S3 バケットではパブリック読み取りアクセスを禁止する必要があります[PCI.S3.3] S3 バケットでクロスリージョンレプリケーションを有効にする必要があります[PCI.S3.4] S3 バケットでは、サーバー側の暗号化を有効にする必要があります[PCI.S3.5] S3 バケットはセキュアソケットレイヤーを使用するリクエストが必要です[PCI.S3.6] S3 ブロックパブリックアクセス設定を有効にする必要があります[PCI.sageMaker.1] Amazon SageMaker ノートブックインスタンスは、直接インターネットにアクセスしてはいけません[PCI.SSM.1] Systems Manager によって管理される Amazon EC2 インスタンスは、パッチのインストール後に、パッチコンプライアンスのステータスが COMPLIANT である必要があります。[PCI.SSM.2] Systems Manager によって管理されるインスタンスには、関連付けのコンプライアンスステータスがCOMPLIANT[PCI.SSM.3] EC2 インスタンスは、AWS Systems Manager

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

PCI DSS コントロール

Security Hub の PCI DSS セキュリティ標準では、次のコントロールがサポートされています。各コントロールでは、情報には重大度、リソースタイプ、AWS Config ルール、修復ステップが含まれます。

[PCI.AutoScaling.1] ロードバランサーに関連付けられた Auto Scaling グループは、ヘルスチェックを使用します

重大度:

リソースタイプ: AWS::AutoScaling::AutoScalingGroup

AWS Config ルール: autoscaling-group-elb-healthcheck-required

パラメータ: なし

このコントロールは、ロードバランサーに関連付けられた Auto Scaling グループが、Elastic Load Balancing のヘルスチェックを使用しているかどうかを確認します。

PCI DSS では、ロードバランシングや高可用性設定は必要ありません。ただし、このチェックは AWS ベストプラクティスと一致します。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 2.2: すべてのシステムコンポーネントについて設定の標準を作成します。これらの標準が、すべての既知のセキュリティ脆弱性に対処し、業界で受け入れられているシステム強化標準に確実に準拠するようにします。

ロードバランシングを使用してシステムを複製すると、高可用性が実現され、DDoS イベントの影響を軽減できます。

これは、システム強化設定の実装に使用される方法の 1 つです。

Remediation

Elastic Load Balancing のヘルス

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインの [Auto Scaling] で、[Auto Scaling Groups (Auto Scaling グループ)] を選択します。

  3. リストからグループを選択するには、右側のボックスを選択します。

  4. [Actions (アクション)] で、[Edit (編集)] を選択します。

  5. [Health Check Type (ヘルスチェックタイプ)] で、[ELB] を選択します。

  6. [Health Check Grace Period] で、300 を入力します。

  7. [Save] を選択します。

Auto Scaling グループでのロードバランサーの使用の詳細については、「」を参照してください。Amazon EC2 Auto Scaling ユーザーガイド

[PCI.CloudTrail.1] CloudTrailログは、保管時に暗号化する必要がありますAWS KMS keys

重大度: ミディアム

リソースタイプ: AWS::CloudTrail::Trail

AWS Config ルール: cloud-trail-encryption-enabled

パラメータ: なし

このコントロールは、AWS CloudTrailサーバー側の暗号化 (SSE) を使用するように設定されていますAWS KMS key暗号化を使用して保存されます。

デフォルトの暗号化オプションのみを使用している場合は、このチェックを無効にすることができます。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 3.4: プライマリアカウント番号 (PAN) は、保存されている場所 (ポータブルデジタルメディア、バックアップメディア、およびログ内を含む) で読み取れません。

使用している場合AWSサービスを使用して PAN を処理し、保存するには CloudTrail ログを暗号化する必要があります。ログを暗号化すると、ログが PAN をキャプチャした場合、PAN が保護されます。

デフォルトでは、CloudTrail によって S3 バケットに配信されるログファイルは、Amazon S3 で管理された暗号化キーによる Amazon のサーバー側の暗号化 (SSE-S3) を使用して暗号化されます。フレームワークの使用の詳細については、Amazon Simple Storage Service 開発者ガイド

CloudTrail ログを設定して、カスタマー管理キーを活用して CloudTrail ログをさらに保護できます。

これらは、PAN を読み取りすることができないようにするための方法です。

Remediation

この問題を修復するには、CloudTrail ログファイルの暗号化を有効にします。

CloudTrail ログファイルを暗号化する方法の詳細については、AWS KMS管理キー (SSE-KMS) については、を使用した CloudTrail ログファイルの暗号化AWS KMS— マネージドキー (SSE-KMS)AWS CloudTrailユーザーガイド

[PCI.CloudTrail.2] CloudTrail.2

重大度:

リソースタイプ: AWSアカウント

AWS Config ルール: cloudtrail-enabled

パラメータ: なし

このコントロールは、CloudTrail がに有効かどうかをチェックします。AWSアカウント.

ただし、一部の AWS のサービスでは、すべての API およびイベントのログ記録が有効になるとは限りません。CloudTrail 以外の追加の監査証跡を実装し、CloudTrail のサポート対象サービスと統合

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連付けられています。

PCI DSS 10.1: 監査証跡を実装して、システムコンポーネントへのすべてのアクセスを個々のユーザーにリンクします。

CloudTrail を有効にすると、イベント履歴では、個々のユーザーがシステムコンポーネントにアクセスするための 90 日間のイベントと監査証跡を容易に入手できるようになります。

ユーザーの ID は、[] の [] で確認できます。eventSourceセクションCloudTrail。

PCI DSS 10.2.1: すべてのシステムコンポーネントの自動監査証跡を実装して、次のイベントを再構築します。すべての個人ユーザーがカード所有者データにアクセスする

カード所有者データが保存されている場所に応じて、個々のユーザーによるカード所有者データへのアクセスはuserIdentity,eventSource,eventName, またはresponseElementsセクションCloudTrail。

PCI DSS 10.2.2: すべてのシステムコンポーネントの自動監査証跡を実装して、次のイベントを再構築します。root権限または管理者権限を持つ個人が実行するすべてのアクション

ルートユーザーの ID は、ログの userIdentity セクションを参照してください。

PCI DSS 10.2.3: すべてのシステムコンポーネントの自動監査証跡を実装して、次のイベントを再構築します。すべての監査証跡へのアクセス

監査証跡へのアクセスは、ログの eventSourceeventName、または responseElements セクションを参照してください。

PCI DSS 10.2.4: すべてのシステムコンポーネントの自動監査証跡を実装して、次のイベントを再構築します。無効な論理アクセス試行

無効な論理アクセスの試行は CloudTrail ログを参照してください。例: responseElements : "ConsoleLogin" および responseElements : "Failure"

PCI DSS 10.2.5: すべてのシステムコンポーネントの自動監査証跡を実装して、次のイベントを再構築します。識別および認証メカニズムの使用および変更 (新規アカウントの作成や特権の昇格を含む、ただしこれに限定されない)、およびすべての変更、追加、またはルート権限または管理者権限を持つアカウントへの削除

識別および認証メカニズムの使用および変更については、ログの userAgenteventName、または responseElements セクションを参照してください。

PCI DSS 10.2.6: すべてのシステムコンポーネントの自動監査証跡を実装して、次のイベントを再構築します。監査ログの初期化、停止、または一時停止

ログの開始と停止は CloudTrail ログにキャプチャされます。

監査ログの起動と停止の例は、CloudTrail ログ内で次のように表示されます。eventName : "StopLogging" および eventName : "StartLogging"

PCI DSS 10.2.7: すべてのシステムコンポーネントの自動監査証跡を実装して、次のイベントを再構築します。システムレベルのオブジェクトの作成と削除

システムレベルオブジェクトの作成と削除は、CloudTrail ログに記録されます。システムレベルオブジェクトの例は AWS Lambda 関数です。

CloudTrail はcreateFunctionおよびdeleteFunctionAPI 呼び出しです。詳細については、「」を参照してください。AWS Lambdaデベロッパーガイド

PCI DSS 10.3.1: 各イベントですべてのシステムコンポーネントについて少なくとも以下の監査証跡エントリを記録します。ユーザ識別

ユーザー ID は、userIdentityセクションCloudTrail。

PCI DSS 10.3.2: 各イベントですべてのシステムコンポーネントについて少なくとも以下の監査証跡エントリを記録します。イベントのタイプ

イベントのタイプは、[eventNameセクションCloudTrail。

PCI DSS 10.3.3: 各イベントですべてのシステムコンポーネントについて少なくとも以下の監査証跡エントリを記録します。日付および時間

イベントの日時は、「」を参照してください。eventTimeセクションCloudTrail。

PCI DSS 10.3.4: 各イベントですべてのシステムコンポーネントについて少なくとも以下の監査証跡エントリを記録します。成功または失敗の通知

成功または失敗は、[responseElementsセクションCloudTrail。

PCI DSS 10.3.5: 各イベントですべてのシステムコンポーネントについて少なくとも以下の監査証跡エントリを記録します。イベントの発信

イベントの発生源は、[Requires at least oneuserAgentまたはsourceIPAddressセクションCloudTrail。

PCI DSS 10.3.6: 各イベントですべてのシステムコンポーネントについて少なくとも以下の監査証跡エントリを記録します。影響を受けるデータ、システムコンポーネント、またはリソースの ID または名前。

リソースの ID は、[Requires at least oneeventSourceセクションCloudTrail。

Remediation

CloudTrail で新しい証跡を作成するには

  1. サインインします。AWS Management ConsoleCloudTrail 管理用に設定した IAM ユーザーを使用します。

  2. CloudTrail コンソール (https://console.aws.amazon.com/cloudtrail/) を開きます。

  3. [Region (リージョン)] セレクタで、証跡を作成する AWS リージョンを選択します。これは、証跡のホームリージョン です。

    証跡がすべての AWS リージョンのイベントを記録している場合でも、ホームリージョンは、作成後にトレイルを表示および更新できる唯一の AWS リージョンです。

  4. ナビゲーションペインで、[Trails (証跡)] を選択します。

  5. [Trails (証跡)] ページで、[Get Started Now (今すぐ開始)] を選択します。このオプションが表示されない場合は、[Create Trail (証跡の作成)] を選択します。

  6. [Trail name (証跡名)] で、証跡に名前 (My-Management-Events-Trail など) を付けます。

    ベストプラクティスとして、証跡の目的をすぐに識別できる名前を使用します。この場合、管理イベントをログに記録する証跡を作成しています。

  7. [Management Events (管理イベント)] で、[Read/Write events (読み取り/書き込みイベント)] が[すべて] に設定されていることを確認します。

  8. [Data Events (データイベント)] では何も変更しないでください。この証跡はデータイベントを記録しません。

  9. ログ用の新しい S3 バケットを作成します。

    1. [Storage Location (保存場所)] の、[Create a new S3 bucket (新しい S3 バケットを作成する)] で、[はい] を選択します。

    2. [S3 bucket (S3 バケット)] で、バケットに名前を付けます (my-bucket-for-storing-cloudtrail-logs など)。

      S3 バケットの名前はグローバルで一意であることが必要です。S3 バケットの命名要件の詳細については、『』を参照してください。AWS CloudTrailユーザーガイド

    3. []アドバンスト] で、はい(両方に対して)SSE-KMS を使用してログファイルを暗号化するおよびログファイルの検証の有効化

  10. [作成] を選択します。

詳細については、「」のチュートリアルを参照してください。AWS CloudTrailユーザーガイド

[PCI.CloudTrail.3] CloudTrail ログファイルの検証を有効にする必要があります

重大度:

リソースタイプ: AWS::CloudTrail::Trail

AWS Config ルール: cloud-trail-log-file-validation-enabled

パラメータ: なし

このコントロールは、CloudTrail ログファイルの検証が有効になっているかどうかをチェックします。

設定が変更されたときはチェックしません。

ログファイルの変更をモニタリングして警告するには、Amazon EventBridge または CloudWatch メトリクスフィルターを使用します。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 10.5.2: 不正な変更から監査証跡ファイルを保護します。

CloudTrail ログファイルの検証は、CloudTrail が Amazon S3 に書き込むそれぞれのログのハッシュを含むデジタル署名されたダイジェストファイルを作成します。

CloudTrail がログを配信した後で、これらのダイジェストファイルを使用して、ログファイルが変更、削除、または変更されなかったかどうかを判断できます。

これは、不正な変更から監査証跡ファイルを保護するのに役立つ方法です。

PCI DSS 10.5.5: ログにファイル整合性モニタリングソフトウェアまたは変更検出ソフトウェアを使用して、アラートを生成せずに既存のログデータを変更できないようにします。

CloudTrail ログファイルの検証は、CloudTrail が Amazon S3 に書き込むそれぞれのログのハッシュを含むデジタル署名されたダイジェストファイルを作成します。

CloudTrail がログを配信した後で、これらのダイジェストファイルを使用して、ログファイルが変更、削除、または変更されなかったかどうかを判断できます。

これは、ファイル整合性のモニタリングソフトウェアまたは変更検出ソフトウェアをログで使用できるようにするための方法です。

Remediation

CloudTrail ログファイルの検証を有効にするには

  1. CloudTrail コンソール (https://console.aws.amazon.com/cloudtrail/) を開きます。

  2. [証跡] を選択します。

  3. [Name (名前)] 列で編集する証跡の名前を選択します。

  4. []全般の詳細] で、編集

  5. []追加設定, 用ログファイルの検証を選択します。[Enabled (有効)]

  6. [Save] を選択します。

[PCI.CloudTrail.4] CloudTrailは CloudWatch Logs と統合する必要があります

重大度:

リソースタイプ: AWS::CloudTrail::Trail

AWS Config ルール: cloud-trail-cloud-watch-logs-enabled

パラメータ: なし

このコントロールは、CloudWatch Logs にログを送信するように CloudTrail 証跡が設定されているかどうかを確認します。

ログやロググループを変更するためのユーザーアクセス許可はチェックされません。CloudTrail Logs が変更されたときに警告する特定の CloudWatch ルールを作成する必要があります。

このコントロールは、CloudTrail が CloudWatch Logs グループに送信されている以外の追加の監査ログソースもチェックしません。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 10.5.3: 監査証跡ファイルを、変更が難しい一元管理されたログサーバまたはメディアにただちにバックアップします。

CloudTrail はログファイルの保存と配信に Amazon S3 を使用するため、ログファイルは永続的に保存されます。

CloudWatch Logs は、監査証跡ファイルを迅速にバックアップするためのネイティブな方法です。

Remediation

CloudTrail 証跡が CloudWatch Logs に統合されていることを確認するには

  1. CloudTrail コンソール (https://console.aws.amazon.com/cloudtrail/) を開きます。

  2. [証跡] を選択します。

  3. [CloudWatch Logs Log group (CloudWatch Logs ロググループ)] 列に値のない証跡を選択します。

  4. [] まで下にスクロールします。[CloudWatch Logs]セクションを選択し、編集

  5. を使用する場合ロググループフィールドで、次のいずれかを実行します。

    • デフォルトのロググループを使用するには、名前はそのままにします。

    • 既存のロググループを使用するには、[] を選択します。Exist] をクリックし、使用するロググループの名前を入力します。

    • 新しいロググループを作成するには、[] を選択します。新規[] をクリックし、作成するロググループの名前を入力します。

  6. [Continue] を選択します。

  7. [IAM role (IAM ロール)] で、次のいずれかを実行します。

    • 既存のロールを使用するには、[Exist] をクリックし、ドロップダウンリストからロールを選択します。

    • 新しいロールを作成するには、[] をクリックします。新規次に、作成するロールの名前を入力します。

      新しいロールには、必要なアクセス許可を付与するポリシーが割り当てられます。

    ロールに付与された権限を表示するには、ポリシードキュメント

  8. [Save changes] (変更の保存) をクリックします。

コンソールを使用した CloudWatch Logs モニタリングの設定の詳細については、「」を参照してください。AWS CloudTrailユーザーガイド

[PCI.CodeBuild.1] CodeBuild GitHub または Bitbucket のソースリポジトリの URL は、OAuth を使用する必要があります

重大度: 非常事態

リソースタイプ: AWS::CodeBuild::Project

AWS Config ルール: codebuild-project-source-repo-url-check

パラメータ: なし

このコントロールは、GitHub または Bitbucket のソースレポジトリの URL に、個人用のアクセストークンまたはユーザー名とパスワードが含まれているかどうか確認します。

注記

このコントロールは、次のリージョンではサポートされていません。

  • アフリカ (ケープタウン)

  • アジアパシフィック (大阪)

  • ヨーロッパ (ミラノ)

  • AWS GovCloud (米国東部)

  • AWS GovCloud (米国西部)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 8.2.1: 強力な暗号化を使用して、すべてのシステムコンポーネントに転送および保存中に、すべての認証情報 (パスワード/フレーズなど) をレンダリングできないようにします。

PCI DSS 環境で CodeBuild を使用して、ソースコードをコンパイルしたり、ユニットテストを実行したり、デプロイする準備ができたアーティファクトを生成することができます。このように設定した場合、認証情報は、クリアテキストで保存または送信したり、リポジトリ URL に表示しないでください。

GitHub または Bitbucket リポジトリへのアクセス認可を付与するには、個人のアクセストークンまたはユーザー名とパスワードではなく OAuth を使用する必要があります。これは、強力な暗号化を使用して、認証情報をレンダリングできないようにする方法です。

Remediation

基本認証/ (GitHub) 個人用のアクセストークンを CodeBuild プロジェクトソースから削除するには

  1. CodeBuild コンソール () を開きます。https://console.aws.amazon.com/codebuild/

  2. 個人用のアクセストークンまたはユーザー名とパスワードを含むビルドプロジェクトを選択する

  3. [Edit (編集)] から [Source (ソース)] を選択します。

  4. [Disconnect from GitHub / Bitbucket (GitHub/Bitbucket から切断)] を選択します。

  5. [Connect using OAuth (OAuth を使用して接続)] を選択し、[Connect to GitHub / Bitbucket (GitHub/Bitbucket に接続)] を選択します。

  6. ソースプロバイダーによって表示されるメッセージで、必要に応じて認証します。

  7. 必要に応じて、[Repository URL (リポジトリ URL)] と [additional configuration (追加の設定)] 設定を再設定します。

  8. [Update source (ソースの更新)] を選択します。

CodeBuild ユースケースベースのサンプルについては、「」を参照してください。AWS CodeBuildユーザーガイド

[PCI.CodeBuild.2] CodeBuild .Buildプロジェクトの環境変数にクリアテキストの認証情報を含めることはできません

重大度: 非常事態

リソースタイプ: AWS::CodeBuild::Project

AWS Config ルール: codebuild-project-envvar-awscred-check

パラメータ: なし

このコントロールは、プロジェクトに環境変数 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY が含まれているかどうかをチェックします。

注記

このコントロールは、次のリージョンではサポートされていません。

  • アフリカ (ケープタウン)

  • アジアパシフィック (大阪)

  • ヨーロッパ (ミラノ)

  • AWS GovCloud (米国東部)

  • AWS GovCloud (米国西部)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 8.2.1: 強力な暗号化を使用して、すべてのシステムコンポーネントに転送および保存中に、すべての認証情報 (パスワード/フレーズなど) をレンダリングできないようにします。

PCI DSS 環境で CodeBuild を使用して、ソースコードをコンパイルしたり、ユニットテストを実行したり、デプロイする準備ができたアーティファクトを生成することができます。そうした場合、認証資格情報は保存しないでくださいAWS_ACCESS_KEY_IDおよびAWS_SECRET_ACCESS_KEYをクリアテキストで入力します。

環境変数を使用して CodeBuild プロジェクトに認証情報を保存すると、強力な暗号化を使用して認証情報をレンダリングできなくなるという要件に違反する可能性があります。

Remediation

環境変数を使用して CodeBuild ランタイムで機密データを参照するには、次の手順を使用します。

環境変数を削除するには

  1. CodeBuild コンソール () を開きます。https://console.aws.amazon.com/codebuild/

  2. [Build (ビルド)] を展開し、[Build project (ビルドプロジェクト)] を選択して、プレーンテキストの認証情報を含むビルドプロジェクトを選択します。

  3. [編集] から [環境] を選択します。

  4. [Additional configuration (追加の設定)] を展開し、[Environment variables (環境変数)] までスクロールします。

  5. 環境変数の横にある [Remove (削除)] を選択します。

  6. [Update environment (環境の更新)] を選択します。

機密値は Amazon EC2 Systems Manager パラメータストアに保存後、ビルド仕様から取得するには

  1. CodeBuild コンソール () を開きます。https://console.aws.amazon.com/codebuild/

  2. [Build (ビルド)] を展開し、[Build project (ビルドプロジェクト)] を選択して、プレーンテキストの認証情報を含むビルドプロジェクトを選択します。

  3. [編集] から [環境] を選択します。

  4. [Additional configuration (追加の設定)] を展開し、[Environment variables (環境変数)] までスクロールします。

  5. EclipseAWS Systems Managerで、機密データを含む Systems Manager パラメータを作成します。これを行う方法については、「」のチュートリアルを参照してください。AWS Systems Managerユーザーガイド

  6. パラメータを作成したら、パラメータ名をコピーします。

  7. CodeBuild コンソールに戻り、環境変数の作成

  8. [name (名前)] には、ビルド仕様に表示される変数の名前を入力します。

  9. [value (値)] には、パラメータの名前を貼り付けます。

  10. [type (タイプ)] で、[Parameter (パラメータ)] を選択します。

  11. 選択を削除します。プレーンテキストの認証情報を含む非準拠の環境変数の横にある。

  12. [Update environment (環境の更新)] を選択します。

ビルド環境の環境変数に関する情報は、AWS CodeBuildユーザーガイド

[PCI.Config.1] AWS Config を有効にする必要があります

重大度: ミディアム

リソースタイプ: AWSアカウント

AWS Config ルール: なし。このチェックを実行するには、Security Hub はAmazon Web Services 保護。このチェックの AWS 環境では AWS Config マネージドルールは作成されません。

パラメータ: なし

このコントロールは、ローカルリージョンのアカウントで AWS Config が有効になっているかどうか、およびすべてのリソースを記録しているかどうかをチェックします。

AWS Config は、リソースタイプのサブセットのみをサポートするため、すべての重要なシステムファイルとコンテンツファイルの変更検出はチェックされません。

AWS Config は、アカウントでサポートされている AWS リソースの設定管理を実行し、ログファイルを配信するウェブサービスです。記録される情報には、設定項目 (AWS リソース)、設定項目間の関係、およびリソース間の設定変更が含まれます。

Security Hub では、AWS Configすべてのリージョンで使用できます。AWS Config がキャプチャする AWS 設定項目の履歴により、セキュリティ分析、リソース変更の追跡、およびコンプライアンスの監査を行うことができます。

注記

Security Hub はリージョナルサービスであるため、このコントロールに対して実行されるチェックでは、アカウントの現在のリージョンのみが確認されます。すべてのリージョンが確認されるわけではありません。

またグローバルリソースに対するセキュリティチェックを各リージョンで許可するには、グローバルリソースを記録する必要があります。グローバルリソースを 1 つのリージョンにのみ記録する場合は、グローバルリソースを記録するリージョン以外のすべてのリージョンでこのコントロールを無効にすることができます。

詳細については、「 AWS Config デベロッパーガイド」を参照してください。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 10.5.2: 不正な変更から監査証跡ファイルを保護します。

AWS Config は、必要な設定について、AWS リソース設定を継続的にモニタリング、追跡、評価し、6 時間ごとに設定変更履歴ファイルを生成します。

権限のない変更から監査証跡ファイルを保護するには、AWS Config を有効にする必要があります。

PCI DSS 11.5: 変更検出メカニズムをデプロイすることにより、重要なシステムファイル、設定ファイル、またはコンテンツファイルの許可されていない変更について担当者に注意を喚起します。また、重要なファイルが少なくとも週に 1 回比較されるようにソフトウェアを設定します。

AWS Config は、必要な設定について、AWS リソース設定を継続的にモニタリング、追跡、評価し、6 時間ごとに設定変更履歴ファイルを生成します。

AWS Config を有効にして、変更検出メカニズムがデプロイされ、少なくとも週に 1 度重要なファイル比較を実行するように設定する必要があります。

Remediation

AWS Config 設定を構成するには

  1. AWS Config コンソール(https://console.aws.amazon.com/config/)を開きます。

  2. AWS Config を設定するリージョンを選択します。

  3. (これまでに AWS Config を使用したことがない場合は、[Get started (今すぐ始める)] を選択します。)

  4. [Settings (設定)] ページで、以下の操作を行います。

    1. []記録するリソースタイプ] で、このリージョンでサポートされているすべてのリソースを記録するおよびグローバルリソースを含める (例:AWSIAM リソース)

    2. [Amazon S3 bucket (Amazon S3 バケット)] で、バケットを使用するか、バケットを作成し、必要に応じてプレフィックスを含めます。

    3. []Amazon SNS トピックアカウントから Amazon SNS トピックを選択するか、アカウントから Amazon SNS トピックを作成します。Amazon SNS の詳細については、「」を参照してください。Amazon Simple Notification Service 入門ガイド

    4. []AWS Configロールを選択する場合は、作成AWS Configサービスにリンクされたロールを選択するか、アカウントからロールを選択をクリックし、使用するロールを選択します。

  5. [Next (次へ)] を選択します。

  6. リポジトリの []AWS Configルールページで [] を選択します。スキップ

  7. [Confirm] を選択します。

の使用方法の詳細については、「」を参照してください。AWS ConfigからのAWS CLI「」を参照してください。 AWS Config デベロッパーガイド

AWS CloudFormation テンプレートを使用してこのプロセスを自動化することもできます。詳細については、AWS CloudFormation ユーザーガイドを参照してください。

[PCI.CW.1] 「root」ユーザーの使用には、ログメトリクスフィルターとアラームが存在する必要があります。

重大度: 非常事態

リソースタイプ: AWSアカウント

AWS Config ルール: Security Hub は監査手順を実行し、AWS Config管理ルールをでモニタリングするAWSこのチェックのアカウント。

パラメータ: なし

このコントロールは、次のパターンを使用して CloudWatch メトリクスフィルターをチェックします。

{ $.userIdentity.type = "Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType != "AwsServiceEvent" }

次の項目がチェックされます。

  • ロググループ名は、アクティブなマルチリージョン CloudTrail で使用するように設定されています。

  • IncludeManagementEventstrue に設定され、ReadWriteTypeAll に設定されている証跡には、少なくとも 1 つのイベントセレクタがあります。

  • アラームに関連付けられた Amazon SNS トピックに対するアクティブなサブスクライバーが少なくとも 1 つ存在します。

注記

Security Hub がこのコントロールのチェックを実行すると、現在のアカウントで使用している CloudTrail トレイルが検索されます。これらの証跡は、別のアカウントに属する組織の証跡である場合があります。マルチリージョンの証跡は、別のリージョンに基づいている場合もあります。

チェック結果をでモニタリングするFAILED以下の場合に発見します。

  • 証跡は設定されていません。

  • 現在のリージョンにあり、現在のアカウントが所有している利用可能な証跡は、管理要件を満たしていません。

チェックの結果、制御ステータスはNO_DATA以下の場合に発生します。

  • マルチリージョンの証跡は、別のリージョンに基づいています。Security Hub は、証跡が基になっているリージョンでのみ結果を生成できます。

  • マルチリージョンの証跡は、別のアカウントに属します。Security Hub は、証跡を所有するアカウントに対してのみ結果を生成できます。

アラームの場合、現在のアカウントは参照されている Amazon SNS トピックを所有しているか、listSubscriptionAmazon SNS トピックへのアクセス権限。それ以外の場合、Security HubWARNINGコントロールのための調査結果。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 7.2.1: システムコンポーネントについて、ユーザーに必要な情報に基づいてアクセスを制限し、明示的に許可していない限り、「すべて拒否」に設定するようにアクセス制御システムを確立します。このアクセスコントロールシステムには、次のものが含まれている必要があります。すべてのシステムコンポーネントのカバレッジ。

ルートユーザーは、AWS アカウントで最も権限のあるユーザーで、AWS アカウントのすべてのリソースに対して無制限にアクセスできます。

ログメトリクスフィルターとアラームを設定する必要があります。 AWS アカウント ルートユーザーの認証情報が使用されます。

また、CloudTrail が有効かされていることを確認して、ルート権限または管理者権限を持つ個人が実行したアクションの監査証跡を保持する必要があります ([PCI.CloudTrail.2] CloudTrail.2). ルートユーザーの ID はuserIdentityセクションCloudTrail。

Remediation

この問題を修正するためのステップには、Amazon SNS トピック、メトリクスフィルター、およびメトリクスフィルターのアラームの設定が含まれます。

これらは、3.3 —「ルート」アカウントに対してログメトリクスフィルターとアラームが存在することを確認します の結果を修正するためのステップと同じです。

Amazon SNS トピックを作成するには

  1. Amazon SNS コンソール(https://console.aws.amazon.com/sns/v3/home)を開きます。

  2. すべての CIS アラームを受信する Amazon SNS トピックを作成します。

    トピックに少なくとも 1 人の受信者を作成します。

    Amazon SNS トピックの作成の詳細については、「」を参照してください。Amazon Simple Notification Service デベロッパーガイド

  3. すべてのリージョンに適用されるアクティブな CloudTrail 証跡をセットアップします。

    これを行うには、2.1 — すべてのリージョンで CloudTrail が有効になっていることを確認します の修正ステップに従います。

    関連するロググループ名を書きとめておきます。

メトリクスフィルターとアラームを作成するには

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. 選択ログ[] の順に選択します。ロググループ

  3. CloudTrail がログを作成するロググループを選択します。

  4. ロググループの詳細ページで、メトリクスフィルター

  5. [メトリクスフィルターの作成] を選択します。

  6. 次のパターンをコピーし、[] に貼り付けます。フィルタパターン

    {$.userIdentity.type="Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType !="AwsServiceEvent"}
  7. [Next (次へ)] を選択します。

  8. 新しいフィルタの名前を入力します。例えば、 。RootAccountUsage

  9. [] の値が [] ことを確認します。メトリクス名前空間LogMetrics

    これにより、すべての CIS Benchmark メトリクスがグループ化されます。

  10. Eclipseメトリクス名に、メトリックの名前を入力します。

  11. Eclipseメトリクス値「」と入力します。1] を選択してから、[

  12. [メトリクスフィルターの作成] を選択します。

  13. 次に、通知を設定します。作成したメトリックスフィルターを選択し、アラームの作成

  14. アラームのしきい値を入力します(たとえば、1)、[

  15. []SNS トピックを選択します。, 用[Send notification to (通知の送信先)]を選択し、メールリストを選択し、

  16. 「」と入力します。名前および説明など、アラームのRootAccountUsageAlarm[] の順に選択します。

  17. [Create Alarm] を選択します。

[PCI.DMS.1]AWS Database Migration Serviceレプリケーション・インスタンスはパブリックであってはならない

重大度: 非常事態

リソースタイプ: AWS::DMS::ReplicationInstance

AWS Config ルール: dms-replication-not-public

パラメータ: なし

このコントロールは、AWS DMSレプリケーションインスタンスがパブリックです。これを行うには、その値を調べますPubliclyAccessibleフィールド。

プライベートレプリケーションインスタンスには、レプリケーションネットワーク外からアクセスできないプライベート IP アドレスがあります。ソースデータベースとターゲットデータベースが同じネットワークにあり、ネットワークが VPN を使用してレプリケーションインスタンスの VPC に接続されている場合、レプリケーションインスタンスにはプライベート IP アドレスが必要です。AWS Direct Connect、または VPC ピア接続を切断します。パブリックおよびプライベートレプリケーションインスタンスの詳細については、」パブリックおよびプライベートレプリケーションインスタンスAWS Database Migration Serviceユーザーガイド

また、あなたのAWS DMSインスタンス構成は、許可されたユーザーのみに制限されます。これを行うには、ユーザーの IAM アクセス許可を制限してAWS DMS設定とリソース。

注記

このコントロールは、次のリージョンではサポートされていません。

  • アフリカ (ケープタウン)

  • アジアパシフィック (大阪)

  • ヨーロッパ (ミラノ)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1-カード所有者データ環境 (CDE) に必要なインバウンドおよびアウトバウンドトラフィックを制限し、特に他のすべてのトラフィックを拒否します。

... を使用した場合AWS DMSを定義した CDE で、レプリケーションインスタンスのPubliclyAccessibleフィールドを'false'。レプリケーションインスタンスへのパブリックアクセスを許可すると、CDE との間で必要なトラフィックだけを許可するという要件に違反する可能性があります。

PCI DSS 1.3.1-DMZ を実装して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

... を使用した場合AWS DMSを定義した CDE で、レプリケーションインスタンスのPubliclyAccessibleフィールドを'false'。レプリケーションインスタンスへのパブリックアクセスを許可すると、インバウンドトラフィックを、公的にアクセス可能なサービス、プロトコル、およびポートを提供するシステムコンポーネントだけに制限するという要件に違反する可能性があります。

PCI DSS 1.3.2-インターネットから DMZ 内の IP アドレスへのインバウンドのインターネットトラフィックを制限します。

... を使用した場合AWS DMSを定義した CDE で、レプリケーションインスタンスのPubliclyAccessibleフィールドを'false'。レプリケーションインスタンスへのパブリックアクセスを許可すると、インバウンドトラフィックを DMZ 内の IP アドレスに制限するという要件に違反する可能性があります。

PCI DSS 1.3.4 カード所有者データ環境からインターネットへの認可されていないアウトバウンドトラフィックを許可しません。

... を使用した場合AWS DMSを定義した CDE で、レプリケーションインスタンスのPubliclyAccessibleフィールドを'false'。レプリケーションインスタンスへのパブリックアクセスを許可すると、カード所有者データ環境からインターネットへの不正な送信トラフィックをブロックする要件に違反する可能性があります。

PCI DSS 1.3.6 カード所有者データを保存するシステムコンポーネント (データベースなど) は、内部ネットワークゾーン内に、DMZ およびその他の信頼されていないネットワークから離して配置します。

... を使用した場合AWS DMSを定義した CDE で、カード所有者データを格納するデータベースを移行するには、レプリケーションインスタンスのPubliclyAccessibleフィールドを'false'。レプリケーションインスタンスへのパブリックアクセスを許可すると、DMZ やその他の信頼できないネットワークを分離された内部ネットワークゾーン内に、カード所有者データを保存するシステムコンポーネントを配置するという要件に違反する可能性があります。

Remediation

レプリケーション・インスタンスの作成後は、パブリックアクセスの設定を変更できないことに注意してください。削除して再作成する必要があります。

を設定するにはAWS DMSパブリックにアクセスできないレプリケーションインスタンス設定

  1. AWS Database Migration Service コンソール (https://console.aws.amazon.com/dms/) を開きます。

  2. 左のナビゲーションペインで、[]、[] の順に選択します。リソース管理に移動します。レプリケーションインスタンス

  3. パブリックインスタンスを削除するには、インスタンスのチェックボックスを選択し、アクション[] の順に選択します。delete

  4. [Create replication instance] を選択します。設定の詳細を入力します。

  5. パブリックアクセスを無効にするには、パブリックアクセス可能が選択されていません。

  6. [作成] を選択します。

詳細については、「」セクションを参照してください。レプリケーションインスタンスの作成AWS Database Migration Serviceユーザーガイド

[PCI.EC2.1] Amazon EBS スナップショットは、パブリックに復元することはできません

重大度: 非常事態

リソースタイプ: AWS::EC2::Volume

AWS Config ルール: ebs-snapshot-public-restorable-check

パラメータ: なし

このコントロールは、Amazon Elastic Block Store スナップショットがすべてのユーザーがパブリックに復元できないかどうかをチェックします。これにより、パブリックになります。Amazon EBS スナップショットは、会社の機密データが誤って漏洩することを避けるため、明示的な許可がないかぎり、誰もパブリックに復元することはできません。

また、Amazon EBS 設定を変更するアクセス許可が、許可されたAWSアカウントのみ。Amazon EBS スナップショットのアクセス許可の管理の詳細については、「」を参照してください。Linux インスタンス用 Amazon EC2 ユーザーガイド

注記

このコントロールは、次のリージョンではサポートされていません。

  • アフリカ (ケープタウン)

  • アジアパシフィック (大阪)

  • ヨーロッパ (ミラノ)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1: インバウンドおよびアウトバウンドトラフィックをカード所有者データ環境 (CDE) に必要なトラフィックに制限し、特に他のすべてのトラフィックを拒否します。

Amazon EBSスナップショットは、特定の時点の Amazon EBSボリュームのデータを Amazon S3 にバックアップするために使用されます。EBS ボリュームの以前の状態を復元するために使用できます。

Amazon EBS スナップショットがカード所有者データを保存する場合、すべてのユーザーが公開して復元することはできません。これは、CDE との間で必要なトラフィックだけを許可するという要件に違反します。

PCI DSS 1.3.1: DMZ を実装して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

Amazon EBSスナップショットは、特定の時点の Amazon EBSボリュームのデータを Amazon S3 にバックアップするために使用されます。これらは、Amazon EBS ボリュームの以前の状態を復元するために使用できます。

Amazon EBS スナップショットがカード所有者データを保存する場合、すべてのユーザーが公開して復元することはできません。これにより、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限するという要件に違反します。

PCI DSS 1.3.4: カード所有者データ環境からインターネットへの認可されていないアウトバウンドトラフィックを許可しません。

Amazon EBS スナップショットは、Amazon EBS ボリューム上のデータを Amazon S3 に特定の時点に Amazon S3 にバックアップするために使用され、EBS ボリュームの以前の状態を復元するために使用できます。

Amazon EBS スナップショットがカード所有者データを保存する場合、すべてのユーザーが公開して復元することはできません。これは、カード所有者データ環境からインターネットへの不正な送信トラフィックをブロックする要件に違反します。

PCI DSS 7.2.1: システムコンポーネントについて、ユーザーに必要な情報に基づいてアクセスを制限し、明示的に許可していない限り、「すべて拒否」に設定するようにアクセス制御システムを確立します。このアクセスコントロールシステムには、次のものが含まれている必要があります。すべてのシステムコンポーネントのカバレッジ。

Amazon EBSスナップショットは、特定の時点の Amazon EBSボリュームのデータを Amazon S3 にバックアップするために使用されます。これらは、Amazon EBS ボリュームの以前の状態を復元するために使用できます。

Amazon EBS スナップショットがカード所有者データを保存する場合、すべてのユーザーが公開して復元することはできません。これは、システムコンポーネントへのアクセスが最低限必要な権限に制限されていること、またはユーザーが知る必要があるという要件に違反する可能性があります。

Remediation

パブリック Amazon EBS スナップショットをプライベートにするには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインの [] で、Elastic Block Store] で、スナップショットをクリックし、パブリックスナップショットを選択します。

  3. [Actions (アクション)] を選択し、[Modify permissions (アクセス許可の変更)] を選択します。

  4. [Private (プライベート)] を選択します。

  5. (オプション) 追加AWSスナップショットを共有する承認済みアカウントのアカウント番号を指定します。

  6. [Save] を選択します。

Amazon EBS スナップショットの共有に関する詳細は、「」を参照してください。Linux インスタンス用 Amazon EC2 ユーザーガイド

[PCI.EC2.2] VPC のデフォルトのセキュリティグループでは、インバウンドトラフィックとアウトバウンドトラフィックが禁止されます

重大度: ミディアム

リソースタイプ: AWS::EC2::SecurityGroup

AWS Config ルール: vpc-default-security-group-closed

パラメータ: なし

このコントロールは、VPC のデフォルトのセキュリティグループがインバウンドとアウトバウンドのいずれのトラフィックも許可しないことを確認します。

デフォルトではない他のセキュリティグループや、他の VPC 設定に対するアクセス制限はチェックされません。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1: インバウンドおよびアウトバウンドトラフィックをカード所有者データ環境 (CDE) に必要なトラフィックに制限し、特に他のすべてのトラフィックを拒否します。

PCI DSS の対象範囲内のサービスがデフォルトのセキュリティグループに関連付けられている場合、セキュリティグループのデフォルトルールでは、すべての送信トラフィックが許可されます。同じセキュリティグループに割り当てられているネットワークインターフェイス (および関連付けられているインスタンス) からのすべてのインバウンドトラフィックを許可します。

デフォルトのセキュリティグループルール設定を変更して、インバウンドトラフィックとアウトバウンドトラフィックを制限する必要があります。デフォルトを使用すると、CDE との間で必要なトラフィックだけを許可するという要件に違反する可能性があります。

PCI DSS 1.3.4: カード所有者データ環境からインターネットへの認可されていないアウトバウンドトラフィックを許可しません。

PCI DSS の対象範囲内のサービスがデフォルトのセキュリティグループに関連付けられている場合、セキュリティグループのデフォルトルールでは、すべての送信トラフィックが許可されます。同じセキュリティグループに割り当てられているネットワークインターフェイス (および関連付けられているインスタンス) からのすべてのインバウンドトラフィックを許可します。

デフォルトのセキュリティグループルール設定を変更して、不正なインバウンドトラフィックとアウトバウンドトラフィックを制限する必要があります。デフォルトを使用すると、カード所有者データ環境からインターネットへの不正な送信トラフィックをブロックする要件に違反する可能性があります。

PCI DSS 2.1: ネットワークにシステムをインストールする前に、ベンダーが提供するデフォルト設定を常に変更し、不要なデフォルトアカウントを削除または無効にします。

PCI DSS の対象範囲内のサービスがデフォルトのセキュリティグループに関連付けられている場合、セキュリティグループのデフォルトルールでは、すべての送信トラフィックが許可されます。同じセキュリティグループに割り当てられているネットワークインターフェイス (および関連付けられているインスタンス) からのすべてのインバウンドトラフィックを許可します。

デフォルトのセキュリティグループルール設定を変更して、インバウンドトラフィックとアウトバウンドトラフィックを制限する必要があります。デフォルトを使用すると、不要なデフォルトアカウントを削除または無効にする要件に違反する可能性があります。

Remediation

この問題を修復するには、新しいセキュリティグループを作成し、それらのセキュリティグループをリソースに割り当てます。デフォルトのセキュリティグループが使用されないようにするには、そのインバウンドルールとアウトバウンドルールを削除します。

新しいセキュリティグループを作成してリソースに割り当てるには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Security groups (セキュリティグループ)] を選択します。デフォルトセキュリティグループの詳細を表示して、それらに割り当てられているリソースを表示します。

  3. リソースに対して最小権限のセキュリティグループのセットを作成します。セキュリティグループの作成方法の詳細については、「」を参照してください。セキュリティグループを作成するAmazon VPC User Guide

  4. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  5. Amazon EC2 コンソールで、デフォルトのセキュリティグループを使用しているリソースのセキュリティグループを、作成した最小権限のセキュリティグループに変更します。「」を参照してください。インスタンスのセキュリティグループを変更するAmazon VPC User Guide

新しいセキュリティグループをリソースに割り当てたら、デフォルトのセキュリティグループからインバウンドルールとアウトバウンドルールを削除します。これにより、デフォルトのセキュリティグループが使用されなくなります。

デフォルトのセキュリティグループからルールを削除するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Security groups (セキュリティグループ)] を選択します。

  3. デフォルトのセキュリティグループを選択し、[インバウンドルールタブ。選択インバウンドのルールの編集。次に、すべてのインバウンドルールを削除します。[Save Rules (ルールの保存)] を選択します。

  4. デフォルトの各セキュリティグループに対して、前のステップを繰り返します。

  5. デフォルトのセキュリティグループを選択し、[アウトバウンドルールタブ。選択アウトバウンドルールの編集。次に、すべてのアウトバウンドルールを削除します。[Save Rules (ルールの保存)] を選択します。

  6. デフォルトの各セキュリティグループに対して、前のステップを繰り返します。

Amazon VPC でのセキュリティグループの操作方法については、「」を参照してください。Amazon VPC User Guide

[PCI.EC2.3] 未使用の EC2 セキュリティグループを削除する必要があります (廃止)

注記

Security Hub はこのコントロールを廃止しています。コントロールが廃止されると、コンソールに表示されなくなります。Security Hub は、そのコントロールの結果を生成しなくなりました。既存の調査結果は、3日後に自動的にアーカイブされます。

重大度:

リソースタイプ: AWS::EC2::SecurityGroup

AWS Config ルール: ec2-security-group-attached-to-eni

パラメータ: なし

このコントロールは、カード所有者データ環境 (CDE) 内の必要なセキュリティグループの正確なアセットインベントリを維持するのに役立ちます。セキュリティグループが Amazon EC2 インスタンスまたは ENI にアタッチされていることを確認します。検出に失敗した場合は、未使用の Amazon EC2 セキュリティグループがある可能性があります。

注記

このコントロールは、次のリージョンではサポートされていません。

  • アフリカ (ケープタウン)

  • アジアパシフィック (大阪)

  • ヨーロッパ (ミラノ)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 2.4: PCI DSS の対象となるシステムコンポーネントのインベントリを管理します。

セキュリティグループが Amazon EC2 インスタンスまたは elastic network interface (ENI) にアタッチされていない場合、これはリソースが使用されていないことを示しています。

これらのリソースを保持する必要があるビジネス上の必要がない限り、システムコンポーネントの正確なインベントリを維持するために、未使用のリソースを削除する必要があります。

Remediation

ENI にアタッチされていないセキュリティグループごとに、次のステップを実行する必要があります。

セキュリティグループを削除するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインの [] で、セキュリティ] で、セキュリティグループ

  3. 削除するセキュリティグループのチェックボックスをオンにします。

  4. 送信元アクション] で、セキュリティグループを削除する

  5. [削除] を選択します。

[PCI.EC2.4] 未使用の EC2 EIP を削除する必要があります

重大度:

リソースタイプ: AWS::EC2::EIP

AWS Config ルール: eip-attached

パラメータ: なし

このコントロールは、VPC に割り当てられた Elastic IP アドレスが、Amazon EC2 インスタンスまたは使用中の Elastic Network Interface (ENI) にアタッチされているかどうかを確認します。

検索に失敗した場合は、未使用の Amazon EC2 EIP がある可能性があります。

これにより、カード所有者データ環境 (CDE) 内の EIP の正確なアセットインベントリを維持できます。

注記

このコントロールはアフリカ (ケープタウン) または EU (ミラノ) ではサポートされていません。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 2.4: PCI DSS の対象となるシステムコンポーネントのインベントリを管理します。

EIP が Amazon EC2 インスタンスにアタッチされていない場合、EIP は使用されていないことを示しています。

これらのリソースを保持する必要があるビジネス上の必要がない限り、システムコンポーネントの正確なインベントリを維持するために、未使用のリソースを削除する必要があります。

Remediation

Elastic IP アドレスが不要になった場合、Security Hub は解放することをお勧めします (この Elastic IP アドレスをインスタンスに関連付けることはできません)。

コンソールを使用して Elastic IP アドレスを解放するには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインの [Network & Security] で、[Elastic IPs] を選択します。

  3. Elastic IP アドレスを選び、アクション] を選択してから、[Elastic IP アドレスのリリース

  4. プロンプトが表示されたら、[Release] を選択します。

詳細については、Elastic IP アドレスの解放に関する情報をLinux インスタンス用 Amazon EC2 ユーザーガイド

[PCI.EC2.5] セキュリティグループは 0.0.0.0/0 からポート 22 への入力を許可しないようにする必要があります

重大度:

リソースタイプ: AWS::EC2::SecurityGroup

AWS Config ルール: restricted-ssh

パラメータ: なし

このコントロールは、使用中のセキュリティグループが、無制限の着信 SSH トラフィックを禁止するかどうかを確認します。

アウトバウンドトラフィックは評価されません。

セキュリティグループはステートフルです。インスタンスからリクエストを送信する場合、そのリクエストのレスポンストラフィックは、インバウンドセキュリティグループのルールにかかわらず、流れることができます。許可されたインバウンドトラフィックに対する応答は、アウトバウンドルールにかかわらずアウト側に対して通過できます。セキュリティグループの詳細については、「」を参照してください。VPC のセキュリティグループAmazon VPC User Guide

注記

このコントロールは、次のリージョンではサポートされていません。

  • アフリカ (ケープタウン)

  • アジアパシフィック (大阪)

  • ヨーロッパ (ミラノ)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1-カード所有者データ環境 (CDE) に必要なインバウンドおよびアウトバウンドトラフィックを制限し、特に他のすべてのトラフィックを拒否します。

定義済みの CDE にあるインスタンスへの SSH トラフィックを許可する場合があります。この場合、着信 SSH 送信元を 0.0.0.0/0 から特定の IP アドレスまたは範囲に制限します。SSH への無制限アクセスを残すと、CDE との間で必要なトラフィックだけを許可するという要件に違反する可能性があります。

PCI DSS 1.3.1-DMZ を実装して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

定義済みの CDE にあるインスタンスへの SSH トラフィックを許可する場合があります。この場合、着信 SSH 送信元を 0.0.0.0/0 から特定の IP アドレスまたは範囲に制限します。SSH への無制限アクセスを残すと、インバウンドトラフィックを、公的にアクセス可能なサービス、プロトコル、およびポートを提供するシステムコンポーネントだけに制限するという要件に違反する可能性があります。

PCI DSS 2.2.2 システムの機能に必要なサービス、プロトコル、デーモンなどだけを有効にします。

定義済みの CDE にあるインスタンスへの SSH トラフィックを許可する場合があります。その場合は、セキュリティグループの機能に必要な特定の IP アドレスまたは範囲にインバウンド SSH ソースを 0.0.0.0/0(任意の場所)から制限します。CDE 内では、セキュリティグループをシステムコンポーネントと見なすことができ、適切に強化する必要があります。SSH への無制限のアクセスを残すと、システムの機能に必要なサービス、プロトコル、デーモンなどだけを有効にするという要件に違反する可能性があります。

Remediation

VPC に関連付けられている各セキュリティグループに対して次のステップを実行します。

セキュリティグループからポート 22 へのアクセスを削除するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインの [] で、セキュリティ] で、セキュリティグループ

  3. セキュリティグループを選択します。

  4. ページ下部のセクションで、[] を選択します。インバウンドルール

  5. 選択インバウンドのルールの編集

  6. ポート 22 を介したアクセスを許可するルールを特定し、[X] 選択してそれを削除します。

  7. [Save Rules (ルールの保存)] を選択します。

[PCI.EC2.6] すべての VPC で VPC フローログを有効にする必要があります

重大度: ミディアム

リソースタイプ: AWS::EC2::VPC

AWS Config ルール: vpc-flow-logs-enabled

パラメータ:

  • trafficTypeREJECT

このコントロールは、VPC フローログが見つかり、VPC に対して有効になっているかどうかを確認します。トラフィックタイプがREJECT

VPC フローログを使用して、VPC 内のネットワークインターフェイスとの間で行き来する IP アドレスに関する情報を取得できます。フローログを作成した後、CloudWatch Logs を使用してログデータを表示して取得できます。

Security Hub では、VPC のパケット拒否のフローログ記録を有効にすることをお勧めします。フローログは、VPC を通過するネットワークトラフィックを確認可能にします。異常なトラフィックを検出し、セキュリティワークフローに関する洞察を提供できます。

デフォルトでは、送信元、送信先、プロトコルなど、レコードには IP アドレスフローのさまざまなコンポーネントの値が含まれています。ログフィールドの詳細と説明については、VPC フローログAmazon VPC User Guide

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 10.3.3 日付とタイムスタンプがログエントリに含まれていることを確認します。

VPC で VPC フローログを有効にすることで、ログエントリの日付と時刻を識別できます。イベントの日付と時刻は、開始フィールドと終了フィールドに記録されます。値は Unix 秒単位で表示されます。

PCI DSS 10.3.4 成功または失敗の表示がログエントリに含まれていることを確認します。

VPC で VPC フローログを有効にすることで、発生したイベントの種類を特定できます。イベントの種類はアクションフィールドに記録され、ACCEPTまたはREJECT

PCI DSS 10.3.5 イベントの発生がログエントリに含まれていることを確認します。

VPC で VPC フローログを有効にすると、イベントの発生元を確認できます。イベントの発生元はpkt-srcaddr,srcaddr, およびsrcportフィールド。これらのフィールドには、トラフィックの送信元 IP アドレスと送信元ポートが表示されます。

PCI DSS 10.3.6 影響を受けるデータ、システムコンポーネント、リソースの ID または名前がログエントリに含まれていることを確認します。

VPC の VPC フローロギングを有効にすると、影響を受けるデータ、システムコンポーネント、またはリソースの ID または名前を確認できます。-pkt-dstaddr,dstaddr, およびdstportフィールドには、トラフィックの送信先 IP アドレスと送信先ポート。

Remediation

この問題を修正するには、VPC フローのログ記録を有効にします。

VPC フローログ記録を有効にするには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[] の [] で、Virtual Private Cloud] で、VPC

  3. 更新する VPC を選択します。

  4. ページの最下部で [] を選択します。フローログ

  5. [フローログの作成] を選択します。

  6. [フィルター] で、[拒否] を選択します。

  7. を使用する場合送信先ロググループで、使用するロググループを選択します。

  8. [] を選択した場合[CloudWatch Logs]宛先のロググループの場合、IAM ロールで、使用する IAM ロールを選択します。

  9. [作成] を選択します。

[PCI.ELBV2.1] Application Load Balancer は、すべての HTTP リクエストを HTTPS にリダイレクトするように設定する必要があります

重大度: ミディアム

リソースタイプ: AWS::ElasticLoadBalancingV2::LoadBalancer

AWS Config ルール: alb-http-to-https-redirection-check

パラメータ: なし

このコントロールは、HTTP から HTTPS へのリダイレクトが、アプリケーションロードバランサーのすべての HTTP リスナーで設定されているかどうかを確認します。アプリケーションロードバランサーの HTTP リスナーに HTTP から HTTPS へのリダイレクトが設定されていない場合、コントロールは失敗します。

Application Load Balancer の使用を開始する前に、1 つまたは複数のリスナーを追加する必要があります。リスナーとは、設定したプロトコルとポートを使用して接続リクエストをチェックするプロセスです。リスナーは、HTTP プロトコルと HTTPS プロトコルの両方をサポートします。HTTPS リスナーを使用して、暗号化と復号化の作業をロードバランサーにオフロードできます。転送中の暗号化を適用するには、アプリケーションロードバランサーでリダイレクトアクションを使用して、クライアント HTTP リクエストをポート 443 の HTTPS リクエストにリダイレクトする必要があります。

詳細については、次を参照してください。Application Load Balancer のリスナーApplication Load Balancer のユーザーガイド

注記

このコントロールは、次のリージョンではサポートされていません。

  • アフリカ (ケープタウン)

  • アジアパシフィック (大阪)

  • ヨーロッパ (ミラノ)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 2.3 強力な暗号化を使用して、コンソール以外のすべての管理アクセスを暗号化します。

HTTP リスナーでアプリケーションロードバランサを使用する場合は、コンソール以外の管理アクセスでリスナーが HTTPS にリダイレクトされていることを確認します。カード所有者データ環境の管理者に対して HTTP 経由の暗号化されていない認証を許可すると、強力な暗号化を使用してコンソール以外のすべての管理アクセスを暗号化するという要件に違反する可能性があります。

PCI DSS 4.1 強力な暗号化プロトコルとセキュリティプロトコルを使用して、オープンなパブリックネットワークを介した送信中に機密性の高いカード所有者データを保護します。

HTTP リスナーでアプリケーションロードバランサを使用する場合は、カード所有者データの送信について、リスナーが HTTPS にリダイレクトされていることを確認します。カード所有者データの暗号化されていない送信を許可すると、オープンなパブリックネットワークを介した送信中に機密性の高いカード所有者データを保護するために、強力な暗号化プロトコルとセキュリティプロトコルを使用する必要性に違反する可能性があります。

Remediation

この問題を修復するには、HTTP 要求を HTTPS にリダイレクトします。

HTTP 要求を Application Load Balancer の HTTPS にリダイレクトするには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[] の [] で、ロードバランシング] で、ロードバランサー

  3. Application Load Balancer を選択します。

  4. 選択リスナー

  5. HTTP リスナー (ポート 80 TCP) のチェックボックスを選択し、[編集

  6. 既存のルールがある場合は、それを削除する必要があります。それ以外の場合は [] を選択します。アクションを追加する[] を選択してから、リダイレクト先...

  7. [HTTPS] を選択し、「443」と入力します。

  8. 円記号のチェックマークを選択し、[更新] を選択します。

[PCI.ES.1] Elasticsearch ドメインは VPC 内に存在する必要があります

重大度: 非常事態

リソースタイプ: AWS::Elasticsearch::Domain

AWS Config ルール: elasticsearch-in-vpc-only

パラメータ: なし

このコントロールは、Elasticsearch ドメインが VPC 内にあるかどうかをチェックします。

パブリック到達可能性を判断するための VPC サブネットルーティング設定を評価しません。

このAWSコントロールは、OpenSearch Service リソースベースのポリシーが他のアカウントまたは外部エンティティによるパブリックアクセスを許可するかどうかもチェックしません。Elasticsearch ドメインがパブリックサブネットにアタッチされていないことを確認する必要があります。「」を参照してください。リソースベースのポリシーAmazon OpenSearch Service 開発者ガイド

また、推奨されるベストプラクティスに従って VPC が設定されていることを確認する必要があります。「」を参照してください。VPC のセキュリティのベストプラクティスAmazon VPC User Guide

注記

このコントロールは、アジアパシフィック (大阪) ではサポートされていません。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1: カード所有者データ環境 (CDE) に必要なインバウンドおよびアウトバウンドトラフィックを制限し、特に他のすべてのトラフィックを拒否します。

OpenSearch Service クラスターにカード所有者データが含まれている場合は、OpenSearch Service ドメインを VPC に配置する必要があります。これにより、インターネットゲートウェイ、NAT デバイスや VPN 接続ポートを使用せずに、OpenSearch Service と他のサービス間に VPC 内で安全な通信ができるようになります。

この方法は、CDE との間で必要なトラフィックだけを許可するために使用されます。

PCI DSS 1.3.1: DMZ を実装して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

OpenSearch Service クラスターにカード所有者データが含まれている場合は、OpenSearch Service ドメインを VPC に配置する必要があります。これにより、インターネットゲートウェイ、NAT デバイスや VPN 接続ポートを使用せずに、OpenSearch Service と他のサービス間に VPC 内で安全な通信ができるようになります。

この方法を使用して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

PCI DSS 1.3.2: インバウンドインターネットトラフィックを DMZ 内の IP アドレスに制限します。

OpenSearch Service クラスターにカード所有者データが含まれている場合は、OpenSearch Service ドメインを VPC に配置する必要があります。これにより、インターネットゲートウェイ、NAT デバイス、または VPN 接続ポートを使用せずに、OpenSearch Service と VPC 内の他のサービス間の安全な通信が可能になります。

この方法は、着信インターネットトラフィックを DMZ 内の IP アドレスに制限するために使用されます。

リソースベースのポリシーを使用して、送信元 IP アドレスに基づいてアクセスを制限する IP 条件を指定することもできます。ブログ投稿を参照Amazon OpenSearch サービスドメインへのアクセスをコントロールする方法

PCI DSS 1.3.4: カード所有者データ環境からインターネットへの認可されていないアウトバウンドトラフィックを許可しません。

OpenSearch Service クラスターにカード所有者データが含まれている場合は、OpenSearch Service ドメインを VPC に配置する必要があります。これにより、インターネットゲートウェイ、NAT デバイス、または VPN 接続ポートを使用せずに、OpenSearch Service と VPC 内の他のサービス間の安全な通信が可能になります。

この方法は、カード所有者データ環境からインターネットへの不正な送信トラフィックをブロックするために使用されます。

PCI DSS 1.3.6: カード所有者データを保存するシステムコンポーネント (データベースなど) は、内部ネットワークゾーン内に、DMZ およびその他の信頼されていないネットワークから分離して配置します。

OpenSearch Service クラスターにカード所有者データが含まれている場合は、OpenSearch Service ドメインを VPC に配置する必要があります。これにより、インターネットゲートウェイ、NAT デバイスや VPN 接続ポートを使用せずに、OpenSearch Service と他のサービス間に VPC 内で安全な通信ができるようになります。

この方法を使用して、カード所有者データを保存するシステムコンポーネントは、内部ネットワークゾーン内に、DMZ およびその他の信頼されていないネットワークから分離して配置します。

Remediation

パブリックエンドポイントを使用してドメインを作成する場合、後で VPC 内にドメインを配置することはできません。代わりに、新規のドメインを作成して、データを移行する必要があります。

逆の場合も同様です。VPC 内にドメインを作成する場合、パブリックエンドポイントを持つことはできません。代わりに、別のドメインを作成するか、このコントロールを無効にする必要があります。

パブリックアクセスから VPC アクセスへの移行については、『Amazon OpenSearch Service 開発者ガイド

[PCI.ES.2] Elasticsearch ドメインは保管時の暗号化を有効にする必要があります

重大度: ミディアム

リソースタイプ: AWS::Elasticsearch::Domain

AWS Config ルール: elasticsearch-encrypted-at-rest

パラメータ: なし

このコントロールは、Elasticsearch ドメインで保管時の暗号化設定が有効になっているかどうかを確認します。

注記

このコントロールは、アジアパシフィック (大阪) ではサポートされていません。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 3.4: プライマリアカウント番号 (PAN) は、保存されている場所 (ポータブルデジタルメディア、バックアップメディア、およびログ内を含む) で読み取れません。

OpenSearch サービスを使用してクレジットカードのプライマリアカウント番号 (PAN) を保存する場合は、保管時に OpenSearch Service ドメイン暗号化を有効にして PAN を保護する必要があります。

有効にすると、ドメインの次の要素が暗号化されます。インデックス、自動スナップショット、OpenSearch Service ログ、スワップファイル、アプリケーションディレクトリ内のその他すべてのデータ。

これは、PAN を読み取ることができないようにするための方法です。

Remediation

デフォルトでは、ドメインの保管時のデータは暗号化されず、既存のドメインでこの機能を使用するように設定することはできません。

この機能を有効にするには、別のドメインを作成してデータを移行する必要があります。ドメインの作成について詳しくは、『』を参照してください。Amazon OpenSearch Service 開発者ガイド

保管時のデータの暗号化には OpenSearch Service 5.1 以降が必要です。OpenSearch Service 用の保管時のデータの暗号化の詳細については、」Amazon OpenSearch Service 開発者ガイド

[PCI.GuardDuty.1] ガードデューティを有効にする必要があります

重大度:

リソースタイプ: AWSアカウント

AWS Config ルール: guardduty-enabled-centralized

パラメータ: なし

このコントロールは、Amazon GuardDuty がAWSアカウントとリージョン。

GuardDuty は、侵入検知システムが通常保護する攻撃に対して効果的ですが、すべての環境に対する完全なソリューションではない可能性があります。このルールでは、担当者へのアラートの生成もチェックされません。GuardDuty の詳細については、「」を参照してください。Amazon GuardDuty ユーザーガイド

注記

このコントロールは、次のリージョンではサポートされていません。

  • アフリカ (ケープタウン)

  • アジアパシフィック (大阪)

  • 中国 (北京)

  • 中国 (寧夏)

  • ヨーロッパ (ミラノ)

  • 中東 (バーレーン)

  • AWS GovCloud (米国東部)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 11.4 侵入検知および/または侵入防止技術を使用して、ネットワークへの侵入を検出および/または防止します。

GuardDuty は、カード所有者データ環境の境界およびそこに含まれるすべての重要なポイントでトラフィックを監視することで、要件 11.4 を満たすのに役立ちます。また、すべての侵入検出エンジン、ベースライン、シグニチャを最新の状態に保つこともできます。知見は GuardDuty から生成されます。これらのアラートは、Amazon CloudWatch を使用して担当者に送信できます。「」を参照してください。Amazon CloudWatch Events を使用したGuardDuty 結果へのカスタムレスポンスの作成Amazon GuardDuty ユーザーガイド。でGuardDuty を有効にしていないAWSアカウントは、ネットワークへの侵入を防ぐために侵入検出および/または防止技術を使用する必要性に違反する可能性があります。

Remediation

この問題を修復するには、GuardDuty を有効にします。

GuardDuty iorを有効にする方法の詳細については、AWS Organizations複数のアカウントを管理するには、「」を参照してください。GuardDuty の開始方法Amazon GuardDuty ユーザーガイド

[PCI.IAM.1] IAM ルートユーザーアクセスキーが存在してはいけません

重大度: 非常事態

リソースタイプ: AWSアカウント

AWS Config ルール: iam-root-access-key-check

パラメータ: なし

このコントロールは、ルートユーザーのユーザーアクセスキーが存在するかどうかをチェックします。

注記

このコントロールは、アフリカ (ケープタウン) やアジアパシフィック (大阪) ではサポートされていません。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 2.1: ネットワークにシステムをインストールする前に、ベンダーが提供するデフォルト設定を常に変更し、不要なデフォルトアカウントを削除または無効にします。

- AWS アカウント ルートユーザーは、最も権限があるAWSユーザー。AWSアクセスキーを使用すると、プログラムから指定されたアカウントにアクセスできます。

root ユーザーにはアクセスキーを作成しないでください。不要なデフォルトアカウントを削除または無効にする要件に違反する可能性があります。

PCI DSS 2.2: すべてのシステムコンポーネントについて設定の標準を作成します。これらの標準が、すべての既知のセキュリティ脆弱性に対処し、業界で受け入れられているシステム強化標準に確実に準拠するようにします。

root ユーザーは、最も権限があるAWSユーザー。AWSアクセスキーを使用すると、プログラムから指定されたアカウントにアクセスできます。

システム強化設定の実装要件に違反する可能性があるため、root ユーザーにはアクセスキーを作成しないでください。

PCI DSS 7.2.1: システムコンポーネントについて、ユーザーに必要な情報に基づいてアクセスを制限し、明示的に許可していない限り、「すべて拒否」に設定するようにアクセス制御システムを確立します。このアクセスコントロールシステムには、次のものが含まれている必要があります。すべてのシステムコンポーネントのカバレッジ。

root ユーザーは、最も権限があるAWSユーザー。AWSアクセスキーを使用すると、プログラムから指定されたアカウントにアクセスできます。

root ユーザーにはアクセスキーを作成しないでください。これにより、システムコンポーネントへのアクセスが最低限必要な権限に制限されていること、またはユーザーが知る必要があるという要件に違反する可能性があります。

Remediation

アクセスキーを削除するには

  1. ルートユーザーの認証情報を使用してアカウントにログインします。

  2. ページの右上隅近くにあるアカウント名を選択し、[My Security Credentials (セキュリティの認証情報)] を選択します。

  3. ポップアップ警告で、[Continue to Security Credentials (セキュリティ認証情報に進む)] を選択します。

  4. [アクセスキー (アクセスキー ID とシークレットアクセスキー)] を選択します。

  5. 完全にキーを削除するには、[Delete (削除)] を選択し、次に [Yes (はい)] を選択します。削除したキーを復元することはできません。

  6. ルートユーザーアクセスキーが複数ある場合は、キーごとに手順 4 と 5 を繰り返します。

[PCI.IAM.2] IAM ユーザーには IAM ポリシーをアタッチしないでください

重大度:

[リソースタイプ]: AWS::IAM::User

AWS Config ルール: iam-user-no-policies-check

パラメータ: なし

このコントロールは、いずれの IAM ユーザーにもポリシーがアタッチされていないことを確認します。IAM ユーザーは、IAM グループまたはロールからアクセス権限を継承する必要があります。

IAM ロールとグループに、最低限の権限ポリシーが適用されているかどうかはチェックされません。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 7.2.1: システムコンポーネントについて、ユーザーに必要な情報に基づいてアクセスを制限し、明示的に許可していない限り、「すべて拒否」に設定するようにアクセス制御システムを確立します。このアクセスコントロールシステムには、次のものが含まれている必要があります。すべてのシステムコンポーネントのカバレッジ。

IAM ポリシーは、でユーザー、グループ、またはロールに権限を付与する方法です。AWS。

デフォルトでは、IAM ユーザー、グループ、ロールはにアクセスできません。AWSリソースに IAM ポリシーがアタッチされるまで。

最小特権アクセスを管理し、対象となる PCI DSS リソースのアクセス管理の複雑さを軽減するには、ユーザーレベルではなく、グループレベルまたはロールレベルで IAM ポリシーを割り当てる必要があります。

アクセス管理の複雑さを軽減することで、プリンシパルが誤って過剰な権限を受け取ったり保持したりする機会を減らすことができます。

これは、カード所有者データを含むシステムコンポーネントへのアクセスが、最低限必要な権限に制限すること、またはユーザーが知る必要があることを保証するために使用される方法です。

Remediation

この問題を解決するには、以下の手順を実行します。

  1. IAM グループを作成する

  2. グループにポリシーを割り当てる

  3. ユーザーをグループに追加する

ポリシーは、グループ内の各ユーザーに適用されます。

IAM グループを作成するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. [グループ] を選択し、[Create New Group (新しいグループの作成)] を選択します。

  3. 作成するグループの名前を入力し、[次のステップ] を選択します。

  4. グループに割り当てる各ポリシーを選択し、[次のステップ] を選択します。

    選択したポリシーには、現在ユーザーアカウントに直接アタッチされているすべてのポリシーが含まれている必要があります。失敗したチェックを解決するための次のステップは、ユーザーをグループに追加してから、そのグループにポリシーを割り当てることです。

    グループ内の各ユーザーには、そのグループに割り当てられたポリシーが割り当てられます。

  5. [確認] ページで詳細を確認し、[グループの作成] を選択します。

IAM グループの作成方法の詳細については、「」を参照してください。IAM ユーザーガイド

IAM グループにユーザーを追加するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. [グループ] を選択します。

  3. [Group Actions (グループアクション)] で、[Add Users to Group (ユーザーをグループに追加)] を選択します。

  4. グループに追加するユーザーを選択し、[Add Users (ユーザーを追加)] を選択します。

グループへのユーザーの追加については、「」を参照してください。IAM ユーザーガイド

ユーザーに直接アタッチされているポリシーを削除するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. [ユーザー] を選択します。

  3. ポリシーをデタッチするユーザーの [User name (ユーザー名)] 列から名前を選択します。

  4. [Attached directly (直接アタッチ)] に一覧表示されている各ポリシーで、ユーザーからポリシーを削除するには、ページの右側にある [X] を選択して、[Remove (削除)] を選択します。

  5. 想定した通りにユーザーが AWS サービスを利用できることを確認します。

[PCI.IAM.3] IAM ポリシーでは、完全な「*」管理権限を許可しないでください。

重大度:

[リソースタイプ]: AWS::IAM::Policy

AWS Config ルール: iam-policy-no-statements-with-admin-access

パラメータ: なし

このコントロールは、AWS Identity and Access Management ポリシーのデフォルトバージョン (カスタマー管理ポリシーとも呼ばれます) に、"Effect": "Allow" with "Action": "*""Resource": "*" のステートメントで管理者アクセス権がないかどうかをチェックします。

作成したカスタマー管理ポリシーのみがチェックされますが、「S3:*」などの個々のサービスへの完全なアクセス権はチェックされません。

チェックは行われません。インラインおよびAWSマネージドポリシー

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 7.2.1: システムコンポーネントについて、ユーザーに必要な情報に基づいてアクセスを制限し、明示的に許可していない限り、「すべて拒否」に設定するようにアクセス制御システムを確立します。このアクセスコントロールシステムには、次のものが含まれている必要があります。すべてのシステムコンポーネントのカバレッジ。

最低限必要な権限に制限するのではなく、完全な管理権限を提供すると、システムコンポーネントへのアクセスを最低限必要な権限に制限するという要件、またはユーザーが知る必要があることを保証するという要件に違反する可能性があります。

Remediation

IAM ポリシーを変更するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. [ポリシー] を選択します。

  3. 削除するポリシーの横にあるラジオボタンを選択します。

  4. [Policy actions (ポリシーアクション)] から [Detach (デタッチ)] を選択します。

  5. [Detach policy (ポリシーのデタッチ)] ページで、ポリシーをデタッチする各ユーザーの横にあるラジオボタンを選択して、[Detach policy (ポリシーのデタッチ)] を選択します。

  6. ポリシーをデタッチしたユーザーが、想定どおりに AWS サービスおよびリソースには引き続きアクセスできることを確認します。

[PCI.IAM.4] ルートユーザーに対してハードウェア MFA を有効にする必要があります

重大度: 非常事態

[リソースタイプ]: AWSアカウント

AWS Config ルール: root-account-hardware-mfa-enabled

パラメータ: なし

このコントロールは、AWSアカウントは、ルートのユーザー認証情報を使用してサインインする際に Multi-Factor Authentication (MFA) ハードウェアデバイスの使用を有効にします。

仮想 MFA を使用しているかどうかはチェックされません。

PCI DSS 要件 8.3.1 に対応するために、ハードウェア MFA (このコントロール) または仮想 MFA ([PCI.IAM.5] ルートユーザーに対して仮想 MFA を有効にする必要があります) のいずれかを選択できます。

注記

このコントロールは、次のリージョンではサポートされていません。

  • 中国 (北京)

  • 中国 (寧夏)

  • AWS GovCloud (米国東部)

  • AWS GovCloud (米国西部)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 8.3.1: 管理アクセス権を持つ担当者のカード所有者データ環境 (CDE) へのすべての非コンソールアクセスのための多要素認証を組み込みます。

ルートユーザーは、アカウントで最も権限があるユーザーです。

MFA はユーザー名とパスワードの上に、もう 1 つの保護レイヤーを追加します。管理者権限を持つユーザーが、システムコンポーネントへの直接の物理的な接続ではなく、ネットワークインターフェイス経由でカード所有者データ環境にアクセスしていて、管理するマシンの前に物理的にいない場合は、MFA が必要です。

ハードウェア MFA の有効化は、すべての非コンソール管理アクセスに対して多要素認証 (MFA) を組み込むために使用される方法です。

Remediation

ルートアカウントのハードウェアベースの MFA を有効にするには

  1. ルートユーザーの認証情報を使用してアカウントにログインします。

  2. ページの右上にあるアカウント名を選択し、[My Security Credentials (セキュリティの認証情報)] を選択します。

  3. 警告で、[Continue to Security Credentials (セキュリティ認証情報に進む)] を選択します。

  4. [多要素認証 (MFA)] を選択します。

  5. [MFA の有効化] を選択します。

  6. MFA で使用するハードウェアベース (仮想ではない) のデバイスを選択し、 [続行] を選択します。

  7. 選択に応じて適切なデバイスタイプを設定するステップを完了します。

[PCI.IAM.5] ルートユーザーに対して仮想 MFA を有効にする必要があります

重大度: 非常事態

[リソースタイプ]: AWSアカウント

AWS Config ルール: root-account-mfa-enabled

パラメータ: なし

このコントロールは、のユーザーかどうかをチェックしますAWSアカウントでは、ルートユーザー認証情報を使用してサインインする際に多要素認証 (MFA) デバイスが必要です。

ハードウェア MFA を使用しているかどうかはチェックされません。

PCI DSS 要件 8.3.1 に対応するために、仮想 MFA (このコントロール) またはハードウェア MFA ([PCI.IAM.4] ルートユーザーに対してハードウェア MFA を有効にする必要があります) のいずれかを選択できます。

注記

このコントロールは、次のリージョンではサポートされていません。

  • 中国 (北京)

  • 中国 (寧夏)

  • AWS GovCloud (米国東部)

  • AWS GovCloud (米国西部)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 8.3.1: 管理アクセス権を持つ担当者のカード所有者データ環境 (CDE) へのすべての非コンソールアクセスのための多要素認証を組み込みます。

ルートユーザーは、アカウントで最も権限があるユーザーです。

MFA はユーザー名とパスワードの上に、もう 1 つの保護レイヤーを追加します。管理者権限を持つユーザーがカード所有者データ環境にアクセスしていて、管理するマシンの前に物理的にいない場合は、MFA が必要です。

仮想 MFA の有効化は、すべての非コンソール管理アクセスに対して多要素認証 (MFA) を組み込むために使用される方法です。

Remediation

ルートアカウントの MFA を有効にするには

  1. ルートユーザーの認証情報を使用してアカウントにログインします。

  2. ページの右上にあるアカウント名を選択し、[My Security Credentials (セキュリティの認証情報)] を選択します。

  3. 警告で、[Continue to Security Credentials (セキュリティ認証情報に進む)] を選択します。

  4. [多要素認証 (MFA)] を選択します。

  5. [MFA の有効化] を選択します。

  6. MFA で使用するデバイスのタイプを選択し、[続行] を選択します。

  7. 選択に応じて適切なデバイスタイプを設定するステップを完了します。

[PCI.IAM.6] すべての IAM ユーザーに対して MFA を有効にする必要があります

重大度: ミディアム

[リソースタイプ]: AWS::IAM::User

AWS Config ルール: iam-user-mfa-enabled

パラメータ: なし

このコントロールは、IAM ユーザーが多要素認証 (MFA) を有効にしているかどうかを確認します。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 8.3.1: 管理アクセス権を持つ担当者のカード所有者データ環境 (CDE) へのすべての非コンソールアクセスのための多要素認証を組み込みます。

すべての IAM ユーザーに対して MFA を有効にすることは、すべての非コンソール管理アクセスに対して多要素認証 (MFA) を組み込むために使用される方法です。

Remediation

ユーザーの MFA を設定するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. [ユーザー] を選択します。

  3. MFA を設定するユーザーのユーザー名を選択します。

  4. 選択セキュリティ認証情報[] を選択してから、管理[]割り当てられた MFA デバイス

  5. [Manage MFA Device (MFA デバイスの管理)] ウィザードに従って、ご利用の環境に応じたデバイスのタイプを割り当てます。

MFA セットアップをユーザーに委任する方法については、AWSセキュリティブログ投稿多要素認証の管理をAWSIAM ユーザー

[PCI.IAM.7] 定義済みの日数以内に使用しない場合は、IAM ユーザーの認証情報を無効にする必要があります

重大度: ミディアム

[リソースタイプ]: AWS::IAM::User

AWS Config ルール: iam-user-unused-credentials-check

パラメータ:

  • maxCredentialUsageAge: 90 (日)

このコントロールは、指定した日数以内に使用されたことのないパスワードまたはアクティブなアクセスキーを持っているかどうかを確認します。デフォルト値は 90 日です。

Security Hub では、アカウントのすべてのアクセスキーを生成したり削除したりしないことを強くお勧めします。代わりに、1 つ以上の IAM ロールを作成するか、フェデレーション。これらの方法を使用すると、ユーザーは既存の企業認証情報を使用してAWS Management ConsoleコンソールとAWS CLI。

各アプローチにはユースケースがあります。フェデレーションは、既存の中央ディレクトリを持っている企業や、IAM ユーザーの現在のクォータよりも多くを必要とする予定の企業にとって一般的に適しています。AWS 環境の外部で実行されるアプリケーションには、AWS リソースへのプログラムによるアクセスキーが必要です。

ただし、プログラムによるアクセスを必要とするリソースが AWS 内部で実行される場合、ベストプラクティスは IAM ロールを使用することです。ロールを使用して、アクセスキー ID とシークレットアクセスキーを設定にハードコーディングすることなく、リソースへのアクセスを許可できます。

アクセスキーとアカウントの保護の詳細については、」管理のベストプラクティスAWSアクセスキーAWS全般のリファレンス。ブログの投稿も保護のガイドラインAWSアカウント (プログラムによるアクセス使用)

アクセスキーがすでにある場合は、90 日以上非アクティブになっている未使用のユーザー資格情報を削除または非アクティブ化することをお勧めします。

このコントロールは、非アクティブなパスワードまたはアクティブなアクセスキーのみをチェックします。90 日後にアカウントの使用を無効にするわけではありません。お客様は、アクションを実行し、未使用の認証情報を無効にする責任があります。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 8.1.4 90日以内に非アクティブなユーザーアカウントを削除/無効にします。

IAM パスワードまたはアクセスキーを使用する場合は、使用を監視し、90 日間使用しない場合は無効にします。IAM ユーザーアカウントを未使用の認証情報でアクティブのままにすることを許可すると、90 日以内に非アクティブなユーザーアカウントを削除/無効にする要件に違反する可能性があります。

Remediation

日付付きの認証情報のアカウントを監視するために必要な一部の情報を取得するには、IAM コンソールを使用します。たとえば、アカウントのユーザーを表示する場合、[アクセスキーの期間,パスワードの有効期間, および最後のアクティビティ。これらの列の値が 90 日より大きい場合は、それらのユーザーの認証情報を無効にします。

認証情報レポートを使用してユーザーアカウントを監視し、90 日以上アクティビティのないアカウントを特定することもできます。認証情報レポートは、.csvIAM コンソールから。認証情報レポートの詳細については、「」を参照してください。の認証情報レポートの取得AWSアカウントIAM ユーザーガイド

非アクティブなアカウントや使用されていない認証情報を識別したら、次のステップを使用してそれらを無効にします。

非アクティブなアカウントまたは未使用の IAM 認証情報を無効にするには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. []アクセス管理] で、ユーザー

  3. 90 日を超えた認証情報を持つユーザーの名前を選択します。

  4. [セキュリティ認証情報] を選択します。選択非アクティブにする90 日以上使用されなかったすべてのサインイン認証情報とアクセスキーに対して。

[PCI.IAM.8] IAM ユーザーのパスワードポリシーには強力な設定が必要です

重大度: ミディアム

[リソースタイプ]: AWSアカウント

AWS Config ルール: iam-password-policy

パラメータ: なし

このコントロールは、IAM ユーザーのアカウントパスワードポリシーが次の PCI DSS 最小設定を使用しているかどうかをチェックします。

  • RequireUppercaseCharacters— パスワードには少なくとも 1 つの大文字が必要です。(デフォルト = true)

  • RequireLowercaseCharacters— パスワードには少なくとも 1 つの小文字が必要です。(デフォルト = true)

  • RequireNumbers— パスワードには少なくとも 1 つの数字が必要です。(デフォルト = true)

  • MinimumPasswordLength— パスワードの最小長。(デフォルト = 7 以上)

  • PasswordReusePrevention— 再利用を許可するまでのパスワードの数です。(デフォルト = 4)

  • MaxPasswordAge-パスワードが有効期限切れになるまでの日数。(デフォルト = 90)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 8.1.4: 90 日以内に非アクティブなユーザーアカウントを削除/無効にします。

IAM ユーザーがAWSアカウントを使用する場合は、IAM パスワードポリシーを適切に設定する必要があります。IAM ユーザーのパスワードを保護しないと、90 日以内に非アクティブなユーザーアカウントを削除または無効にする要件に違反する可能性があります。デフォルトでは、MaxPasswordAgeパラメータは 90 日に設定されています。パスワードの有効期限が切れると、IAM ユーザーはパスワードが変更されるまでアカウントにアクセスできなくなります。これにより、ユーザーは無効になります。

PCI DSS 8.2.3: パスワード/パスフレーズは、次の条件を満たす必要があります。少なくとも 7 文字以上の長さが必要で、数字と英字の両方を含む。

IAM ユーザーがAWSアカウントを使用する場合は、IAM パスワードポリシーを適切に設定する必要があります。IAM ユーザーのパスワードを保護しないと、パスワードの長さが 7 文字以上であるという要件に違反する可能性があります。また、数字と英字の両方を含めるという要件に違反する可能性があります。デフォルトでは、MinimumPasswordLength7,RequireUppercaseCharacterstrue, およびRequireLowercaseCharacterstrue

PCI DSS 8.2.4: ユーザーのパスワード/パスフレーズを 90 日に 1 回以上変更します。

IAM ユーザーがAWSアカウントを使用する場合は、IAM パスワードポリシーを適切に設定する必要があります。IAM ユーザーのパスワードを保護しないと、ユーザーパスワードまたはパスフレーズを少なくとも 90 日に 1 回変更するという要件に違反する可能性があります。デフォルトでは、MaxPasswordAgeパラメータは 90 日に設定されています。パスワードの有効期限が切れると、IAM ユーザーはパスワードが変更されるまでアカウントにアクセスできなくなります。

PCI DSS 8.2.5: ユーザーが最後に使用した 4 つのパスワード/パスフレーズと同じ新しいパスワード/パスフレーズの送信を許可しないでください。

IAM ユーザーがAWSアカウントを使用する場合は、IAM パスワードポリシーを適切に設定する必要があります。IAM ユーザーのパスワードを保護しないと、個人が以前の 4 つのパスワードまたはパスフレーズのいずれかと同じ新しいパスワードまたはパスフレーズを提出できないという要件に違反する可能性があります。デフォルトでは、PasswordReusePreventionは、 に設定されます。4。これにより、ユーザーが最後の 4 つのパスワードを再利用できなくなります。

Remediation

IAM コンソールを使用して、パスワードポリシーを変更できます。

パスワードポリシーを変更するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. []アクセス管理] で、アカウント設定 

  3. [パスワードの再利用を禁止] を選択します。[Number of passwords to remember (記憶するパスワードの数)] に「24」と入力します。

  4. 選択パスワードポリシーの変更

  5. Selectラテンアルファベットの大文字 (A-Z) を少なくとも 1 つ必要とします

  6. Selectラテンアルファベットの小文字 (a-z) を少なくとも 1 つ必要とします

  7. Select少なくとも 1 つの英数字以外の文字 (! @#$%^&* () _+-= [] {} |')

  8. Select少なくとも 1 つの数字が必要

  9. を使用する場合パスワードの最小長を強制する「」と入力します。14

  10. Selectパスワードの失効を許可。を使用する場合パスワードの有効期限を日で切れると入力します。90

  11. [Save changes] (変更の保存) をクリックします。

[PCI.KMS.1] KMSキーローテーションを有効にする必要があります

重大度: ミディアム

[リソースタイプ]: AWS::KMS::Key

AWS Config ルール: cmk-backing-key-rotation-enabled

パラメータ: なし

このコントロールは、各 KMS キーについて、キーローテーションが有効になっていることを確認します。キーマテリアルをインポートした KMS キーはチェックされません。

インポートされたマテリアルを持つキーと、AWS KMS回転させます。 AWS マネージドキー は3年に1回回転します。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 3.6.4: 暗号化キーは、暗号化期間の最後に到達した後、変更する必要があります。

PCI DSS では暗号化期間の期間は指定されていませんが、キーローテーションが有効な場合、デフォルトで毎年ローテーションが行われます。

KMS キーを使用してカード所有者データを暗号化する場合は、キーのローテーションを有効にする必要があります。

これは、暗号化期間の最後に到達した後、暗号化キーを変更するために使用される方法です。

Remediation

KMS キーの回転を有効にするには

  1. AWS KMS コンソール (https://console.aws.amazon.com/kms) を開きます。

  2. AWS リージョンを変更するには、ページの右上隅にあるリージョンセレクターを使用します。

  3. [Customer managed keys (カスタマーマネージドキー)] を選択します。

  4. [Alias (エイリアス)] 列で、更新するキーのエイリアスを選択します。

  5. [キーローテーション] を選択します。

  6. Selectこの KMS キーを毎年自動的にローテーションする[] を選択してから、保存

[PCI.Lambda.1] Lambda 関数はパブリックアクセスを禁止する必要があります

重大度: 非常事態

[リソースタイプ]: AWS::Lambda::Function

AWS Config ルール: lambda-function-public-access-prohibited

パラメータ: なし

このコントロールは、Lambda 関数リソースベースのポリシーがパブリックアクセスを禁止しているかどうかをチェックします。

IAM ロールなどの内部プリンシパルによる Lambda 関数へのアクセスはチェックされません。Lambda 関数へのアクセスを許可されたプリンシパルに制限するには、Lambda リソースベースのポリシーを使用します。

でリソースベースのポリシーを使用する方法の詳細については、AWS Lambda「」を参照してください。AWS Lambdaデベロッパーガイド

注記

このコントロールは、次のリージョンではサポートされていません。

  • アジアパシフィック (大阪)

  • 中国 (北京)

  • 中国 (寧夏)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1: カード所有者データ環境 (CDE) に必要なインバウンドおよびアウトバウンドトラフィックを制限し、特に他のすべてのトラフィックを拒否します。

PCI DSS の対象範囲内の Lambda 関数を使用する場合、その関数はパブリックにアクセスできません。パブリックにアクセス可能な関数は、CDE との間で必要なトラフィックだけを許可するという要件に違反する可能性があります。

PCI DSS 1.3.1: DMZ を実装して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

PCI DSS の対象範囲内の Lambda 関数を使用する場合、その関数はパブリックにアクセスできません。パブリックにアクセス可能な関数は、許可されたパブリックにアクセス可能なサービス、プロトコル、およびポートを提供するシステムコンポーネントだけに着信トラフィックを制限するという要件に違反する可能性があります。

PCI DSS 1.3.2: インバウンドインターネットトラフィックを DMZ 内の IP アドレスに制限します。

PCI DSS の対象範囲内の Lambda 関数を使用する場合、その関数はパブリックにアクセスできません。パブリックにアクセス可能な関数は、インバウンドインターネットトラフィックを DMZ 内の IP アドレスに制限するという要件に違反する可能性があります。

PCI DSS 1.3.4: カード所有者データ環境からインターネットへの認可されていないアウトバウンドトラフィックを許可しません。

PCI DSS の対象範囲内の Lambda 関数を使用する場合、その関数はパブリックにアクセスできません。パブリックにアクセス可能な関数は、カード所有者データ環境からインターネットへの不正な送信トラフィックをブロックする要件に違反する可能性があります。

PCI DSS 7.2.1: システムコンポーネントについて、ユーザーに必要な情報に基づいてアクセスを制限し、明示的に許可していない限り、「すべて拒否」に設定するようにアクセス制御システムを確立します。このアクセスコントロールシステムには、次のものが含まれている必要があります。すべてのシステムコンポーネントのカバレッジ。

PCI DSS の対象範囲内の Lambda 関数を使用する場合、その関数はパブリックにアクセスできません。公的にアクセス可能な関数は、カード所有者データを含むシステムコンポーネントへのアクセスを最低限必要な権限に制限されているという要件、またはユーザーが知る必要があるという要件に違反する可能性があります。

Remediation

この問題を修正するには、リソースベースのポリシーを更新して、パブリックにアクセス可能な Lambda 関数をプライベート Lambda 関数に変更します。

Lambda リソースのリソースベースポリシーを更新できるのは、AddPermissionおよびAddLayerVersionPermissionAPI アクション。

Lambda リソースのポリシーを JSON で作成したり、CLI または SDK を使用してそれらのアクションのパラメータにマッピングされていない条件を使用することはできません。

♪AWS CLIから関数の使用のアクセス許可を取り消すにはAWSサービスまたは別のアカウント

  1. GetPolicy の出力からステートメントの ID を取得するには、AWS CLI から、次のコマンドを実行します。

    aws lambda get-policy —function-name yourfunctionname

    このコマンドは、パブリックにアクセス可能な Lambda 関数に関連付けられた Lambda リソースベースのポリシー文字列を返します。

  2. get-policy コマンドが返すポリシーステートメントから、Sid フィールドの文字列値をコピーします。

  3. AWS CLI から、実行します

    aws lambda remove-permission --function-name yourfunctionname —statement-id youridvalue

Lambda コンソールを使用して Lambda 関数へのアクセスを制限するには

  1. https://console.aws.amazon.com/lambda/ で、AWS Lambda コンソールを開きます。

  2. に移動します。関数パブリックにアクセス可能な Lambda 関数を選択します。

  3. [Designer (デザイナー)] で、左上のキーアイコンを選択します。ツールチップ [View permissions (表示アクセス許可)] があります。

  4. [Function policy (関数ポリシー)] で、ポリシーでプリンシパル要素 “*” または {“AWS”: “*”} に対するアクションが許可されている場合は、パブリックにアクセス可能です。

    次の IAM 条件を追加して、アカウントのみへのアクセスを適用することを検討してください。

    "Condition": { "StringEquals": { "AWS:SourceAccount": "<account_id>" } } }

リソースごとに他のアカウントに使用アクセス許可を付与できる他の Lambda リソースベースのポリシーの例については、リソースベースのポリシーの使用に関する情報を参照してください。AWS LambdaのAWS Lambdaデベロッパーガイド

[PCI.Lambda.2] ラムダ関数は VPC にある必要があります

重大度:

[リソースタイプ]: AWS::Lambda::Function

AWS Config ルール: lambda-inside-vpc

パラメータ: なし

このコントロールは、Lambda 関数が VPC 内にあるかどうかをチェックします。このコントロールは、Lambda @Edge リソースを除外します。

パブリック到達可能性を判断するための VPC サブネットルーティング設定を評価しません。

注記

このコントロールは、次のリージョンではサポートされていません。

  • アジアパシフィック (大阪)

  • 中国 (北京)

  • 中国 (寧夏)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1: カード所有者データ環境 (CDE) に必要なインバウンドおよびアウトバウンドトラフィックを制限し、特に他のすべてのトラフィックを拒否します。

デフォルトでは、Lambda はのアクセス可能な安全な VPC で関数を実行しますAWSサービスとインターネット。

PCI DSS の対象範囲内の Lambda 関数を使用する場合、VPC エンドポイントを使用するように関数を設定できます。これにより、インターネットアクセスなしで VPC 内から Lambda 関数に接続できます。この方法は、CDE との間で必要なトラフィックだけを許可するために使用されます。

PCI DSS 1.3.1: DMZ を実装して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

デフォルトでは、Lambda はのアクセス可能な安全な VPC で関数を実行しますAWSサービスとインターネット。

PCI DSS の対象範囲内の Lambda 関数を使用する場合、VPC エンドポイントを使用するように関数を設定できます。これにより、インターネットアクセスなしで VPC 内から Lambda 関数に接続できます。これは、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限するために使用されます。

PCI DSS 1.3.2: インバウンドインターネットトラフィックを DMZ 内の IP アドレスに制限します。

デフォルトでは、Lambda はのアクセス可能な安全な VPC で関数を実行しますAWSサービスとインターネット。

PCI DSS の対象範囲内の Lambda 関数を使用する場合、VPC エンドポイントを使用するように関数を設定できます。これにより、インターネットアクセスなしで VPC 内から Lambda 関数に接続できます。これは、着信インターネットトラフィックを DMZ 内の IP アドレスに制限するために使用する方法です。

PCI DSS 1.3.4: カード所有者データ環境からインターネットへの認可されていないアウトバウンドトラフィックを許可しません。

デフォルトでは、Lambda はのアクセス可能な安全な VPC で関数を実行しますAWSサービスとインターネット。

PCI DSS の対象範囲内の Lambda 関数を使用する場合、VPC エンドポイントを使用するように関数を設定できます。これにより、インターネットアクセスなしで VPC 内から Lambda 関数に接続できます。これは、カード所有者データ環境からインターネットへの不正な送信トラフィックをブロックするために使用されます。

Remediation

アカウントの Virtual Private Cloud (VPC) のプライベートサブネットに接続するように関数を設定するには

  1. https://console.aws.amazon.com/lambda/ で、AWS Lambda コンソールを開きます。

  2. に移動します。関数Lambda 関数を選択します。

  3. [Network (ネットワーク)] までスクロールし、関数の接続要件を持つ VPC を選択します。

  4. 高可用性モードで関数を実行するには、Security Hub では、少なくとも 2 つのサブネットを選択することをお勧めします。

  5. 関数の接続要件を持つセキュリティグループを少なくとも 1 つ選択します。

  6. [Save] を選択します。

詳細については、VPC 内のリソースにアクセスできるように Lambda 関数を構成する」に関するセクションを参照してください。AWS Lambdaデベロッパーガイド

[PCI.RDS.1] RDS スナップショットではパブリックアクセスを禁止する必要があります

重大度: 非常事態

[リソースタイプ]: Amazon RDS DB スナップショット

AWS Config ルール: rds-snapshots-public-prohibited

パラメータ: なし

このコントロールは、Amazon RDS DB スナップショットが他のアカウントによるアクセスを禁止しているかどうかをチェックします。また、スナップショットへのアクセスと Amazon RDS 設定を変更するアクセス許可が、許可されたプリンシパルのみに制限されていることを確認する必要があります。

Amazon RDS での DB スナップショットの共有の詳細については、「」を参照してください。Amazon RDS User Guide

パブリックアクセスを許可するように構成を変更した場合、AWS Config ルールは最大 12 時間変更を検出できない場合があります。AWS Config ルールが変更を検出するまで、設定がルールに違反していてもチェックは成功します。

注記

このコントロールは、次のリージョンではサポートされていません。

  • アフリカ (ケープタウン)

  • アジアパシフィック (大阪)

  • ヨーロッパ (ミラノ)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1: カード所有者データ環境 (CDE) に必要なインバウンドおよびアウトバウンドトラフィックを制限し、特に他のすべてのトラフィックを拒否します。

RDS スナップショットは、特定の時点の RDS インスタンスのデータをバックアップするために使用されます。RDS インスタンスの以前の状態を復元するために使用できます。

RDS スナップショットにカード所有者データが保存されている場合、RDS スナップショットを他のアカウントと共有しないでください。RDS スナップショットを共有すると、他のアカウントがスナップショットから RDS インスタンスを復元できるようになります。これを許可すると、CDE との間で必要なトラフィックだけを許可するという要件に違反する可能性があります。

PCI DSS 1.3.1: DMZ を実装して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

RDS スナップショットは、特定の時点の RDS インスタンスのデータをバックアップするために使用されます。RDS インスタンスの以前の状態を復元するために使用できます。

RDS スナップショットにカード所有者データが保存されている場合、RDS スナップショットを他のアカウントと共有しないでください。RDS スナップショットを共有すると、他のアカウントがスナップショットから RDS インスタンスを復元できるようになります。これを許可すると、インバウンドトラフィックを、公的にアクセス可能なサービス、プロトコル、およびポートを提供するシステムコンポーネントだけに制限するという要件に違反する可能性があります。

PCI DSS 1.3.4: カード所有者データ環境からインターネットへの認可されていないアウトバウンドトラフィックを許可しません。

RDS スナップショットは、特定の時点の RDS インスタンスのデータをバックアップするために使用されます。RDS インスタンスの以前の状態を復元するために使用できます。

RDS スナップショットにカード所有者データが保存されている場合、RDS スナップショットを他のアカウントと共有しないでください。RDS スナップショットを共有すると、他のアカウントがスナップショットから RDS インスタンスを復元できるようになります。これを許可すると、カード所有者データ環境からインターネットへの不正な送信トラフィックをブロックする要件に違反する可能性があります。

PCI DSS 1.3.6: カード所有者データを保存するシステムコンポーネント (データベースなど) は、内部ネットワークゾーン内に、DMZ およびその他の信頼されていないネットワークから分離して配置します。

RDS スナップショットは、特定の時点の RDS インスタンスのデータをバックアップするために使用されます。RDS インスタンスの以前の状態を復元するために使用できます。

RDS スナップショットにカード所有者データが保存されている場合、RDS スナップショットを他のアカウントと共有しないでください。RDS スナップショットを共有すると、他のアカウントがスナップショットから RDS インスタンスを復元できるようになります。これを許可すると、カード所有者データを保存するシステムコンポーネントは、内部ネットワークゾーン内に、DMZ やその他の信頼されていないネットワークから離して配置するという要件に違反する可能性があります。

PCI DSS 7.2.1: システムコンポーネントについて、ユーザーに必要な情報に基づいてアクセスを制限し、明示的に許可していない限り、「すべて拒否」に設定するようにアクセス制御システムを確立します。このアクセスコントロールシステムには、次のものが含まれている必要があります。すべてのシステムコンポーネントのカバレッジ。

RDS スナップショットは、特定の時点の RDS インスタンスのデータをバックアップするために使用されます。RDS インスタンスの以前の状態を復元するために使用できます。

RDS スナップショットにカード所有者データが保存されている場合、RDS スナップショットを他のアカウントと共有しないでください。RDS スナップショットを共有すると、他のアカウントがスナップショットから RDS インスタンスを復元できるようになります。これを許可すると、カード所有者データを含むシステムコンポーネントへのアクセスが最低限必要な権限に制限されているという要件、またはユーザーが知る必要があるという要件に違反する可能性があります。

Remediation

Amazon RDS スナップショットのパブリックアクセスを削除するには

  1. Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. [Snapshots (スナップショット)] に移動し、変更するパブリックスナップショットを選択します。

  3. [Actions (アクション)] リストから [Share Snapshots (スナップショットの共有)] を選択します。

  4. [DB snapshot visibility (DB スナップショットの可視性)] から、[Private (プライベート)] を選択します。

  5. [DB snapshot visibility (DB スナップショットの可視性)] で、[for all (すべての)] を選択します。

  6. [Save] を選択します。

[PCI.RDS.2] RDS DB インスタンスではパブリックアクセスを禁止する必要があります

重大度: 非常事態

[リソースタイプ]: AWS::RDS::DBInstance

AWS Config ルール: rds-instance-public-access-check

パラメータ: なし

このコントロールは、インスタンス設定項目の publiclyAccessible フィールドを評価して、RDS インスタンスがパブリックにアクセスできるかどうかをチェックします。publiclyAccessible の値は、DB インスタンスがパブリックにアクセスできるかどうかを示します。DB インスタンスがパブリックにアクセス可能な場合、パブリックに解決可能な DNS 名を持つインターネット向けインスタンスであり、パブリック IP アドレスに解決されます。DB インスタンスはパブリックにアクセスできない場合、プライベート IP アドレスに解決される DNS 名を持つ内部インスタンスです。

コントロールでは、VPC サブネットルーティング設定やセキュリティグループルールはチェックされません。また、VPC サブネットルーティングでパブリックアクセスが許可されず、RDS インスタンスに関連付けられたセキュリティグループのインバウンドルールで無制限アクセス (0.0.0.0/0) が許可されていないことを確認する必要があります。また、RDS インスタンスの設定とリソースを変更するユーザーの IAM アクセス許可を制限することで、RDS インスタンス設定へのアクセスが承認されたユーザーのみに制限されるようにする必要があります。

詳細については、「」を参照してください。VPC の DB インスタンスをインターネットから隠すAmazon RDS User Guide

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1: カード所有者データ環境 (CDE) に必要なインバウンドおよびアウトバウンドトラフィックを制限し、特に他のすべてのトラフィックを拒否します。

PCI DSS の対象範囲内の RDS インスタンスを使用する場合、RDS インスタンスにはパブリックにアクセスできません。これを許可すると、CDE との間で必要なトラフィックだけを許可するという要件に違反する可能性があります。

PCI DSS 1.3.1: DMZ を実装して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

RDS インスタンスを使用してカード所有者データを保存する場合、RDS インスタンスにはパブリックにアクセスできません。これを許可すると、インバウンドトラフィックを、公的にアクセス可能なサービス、プロトコル、およびポートを提供するシステムコンポーネントだけに制限するという要件に違反する可能性があります。

PCI DSS 1.3.2: インバウンドインターネットトラフィックを DMZ 内の IP アドレスに制限します。

RDS インスタンスを使用してカード所有者データを保存する場合、RDS インスタンスにはパブリックにアクセスできません。これは、インバウンドインターネットトラフィックを DMZ 内の IP アドレスに制限するという要件に違反する可能性があるためです。

PCI DSS 1.3.4: カード所有者データ環境からインターネットへの認可されていないアウトバウンドトラフィックを許可しません。

RDS インスタンスを使用してカード所有者データを保存する場合、RDS インスタンスにはパブリックにアクセスできません。これを許可すると、カード所有者データ環境からインターネットへの不正な送信トラフィックをブロックする要件に違反する可能性があります。

PCI DSS 1.3.6: カード所有者データを保存するシステムコンポーネント (データベースなど) は、内部ネットワークゾーン内に、DMZ およびその他の信頼されていないネットワークから分離して配置します。

RDS インスタンスを使用してカード所有者データを保存する場合、RDS インスタンスにはパブリックにアクセスできません。これを許可すると、カード所有者データを保存するシステムコンポーネントは、内部ネットワークゾーン内に、DMZ やその他の信頼されていないネットワークから離して配置するという要件に違反する可能性があります。

PCI DSS 7.2.1: システムコンポーネントについて、ユーザーに必要な情報に基づいてアクセスを制限し、明示的に許可していない限り、「すべて拒否」に設定するようにアクセス制御システムを確立します。このアクセスコントロールシステムには、次のものが含まれている必要があります。すべてのシステムコンポーネントのカバレッジ。

RDS インスタンスを使用してカード所有者データを格納する場合、RDS インスタンスにはパブリックにアクセスできません。これは、カード所有者データを含むシステムコンポーネントへのアクセスが、必要な最小限の権限に制限されていること、またはユーザーが知る必要があるという要件に違反する可能性があるためです。

Remediation

Amazon RDS データベースに対するパブリックアクセスを削除するには

  1. Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. [Databases (データベース)] に移動し、パブリックデータベースを選択します

  3. [Modify] を選択します。

  4. Scroll toネットワークとセキュリティ

  5. を使用する場合パブリックアクセシビリティ] で、なし

  6. 一番下までスクロールし、[] を選択します。続行

  7. []変更のスケジュール設定] で、すぐに適用

  8. [DB インスタンスの変更] を選択します。

VPC での DB インスタンスの操作の詳細については、「」を参照してください。Amazon RDS User Guide

[PCI.Redshift.1] Amazon Redshift クラスターはパブリックアクセスを禁止する必要があります

重大度: 非常事態

[リソースタイプ]: AWS::Redshift::Cluster

AWS Config ルール: redshift-cluster-public-access-check

パラメータ: なし

このコントロールは、Amazon Redshift クラスターがパブリックにアクセスできるかどうかをチェックします。これは、publiclyAccessibleフィールドをクリックします。

注記

このコントロールは、アジアパシフィック (大阪) ではサポートされていません。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1: カード所有者データ環境 (CDE) に必要なインバウンドおよびアウトバウンドトラフィックを制限し、特に他のすべてのトラフィックを拒否します。

Amazon Redshift クラスターを使用してカード所有者データを保存する場合、クラスターはパブリックにアクセスできません。これを許可すると、CDE との間で必要なトラフィックだけを許可するという要件に違反する可能性があります。

PCI DSS 1.3.1: DMZ を実装して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

Amazon Redshift クラスターを使用してカード所有者データを保存する場合、クラスターはパブリックにアクセスできません。これを許可すると、インバウンドトラフィックを、公的にアクセス可能なサービス、プロトコル、およびポートを提供するシステムコンポーネントだけに制限するという要件に違反する可能性があります。

PCI DSS 1.3.2: インバウンドインターネットトラフィックを DMZ 内の IP アドレスに制限します。

Amazon Redshift クラスターを使用してカード所有者データを保存する場合、クラスターはパブリックにアクセスできません。これは、インバウンドインターネットトラフィックを DMZ 内の IP アドレスに制限するという要件に違反する可能性があるためです。

PCI DSS 1.3.4: カード所有者データ環境からインターネットへの認可されていないアウトバウンドトラフィックを許可しません。

Amazon Redshift クラスターを使用してカード所有者データを保存する場合、クラスターはパブリックにアクセスできません。これを許可すると、カード所有者データ環境からインターネットへの不正な送信トラフィックをブロックする要件に違反する可能性があります。

PCI DSS 1.3.6: カード所有者データを保存するシステムコンポーネント (データベースなど) は、内部ネットワークゾーン内に、DMZ およびその他の信頼されていないネットワークから分離して配置します。

Amazon Redshift クラスターを使用してカード所有者データを保存する場合、クラスターはパブリックにアクセスできません。これを許可すると、カード所有者データを保存するシステムコンポーネントは、内部ネットワークゾーン内に、DMZ やその他の信頼されていないネットワークから離して配置するという要件に違反する可能性があります。

Remediation

Amazon Redshift クラスターのパブリックアクセスを無効にするには

  1. Amazon Redshift コンソール (https://console.aws.amazon.com/redshift/) を開きます。

  2. ナビゲーションペインで、[] を選択します。クラスター[] をクリックし、パブリック Amazon Redshift クラスターを選択します。

  3. からへクラスタードロップダウンメニューから [] を選択します。クラスターの変更

  4. Eclipseパブリックアクセス可能] で、[なし

  5. [Modify] を選択します。

VPC のクラスターの作成方法の詳細については、「」を参照してください。Amazon Redshift クラスター管理ガイド

[PCI.S3.1] S3 バケットはパブリック書き込みアクセスを禁止する必要があります

重大度: 非常事態

[リソースタイプ]: AWS::S3::Bucket

AWS Config ルール: s3-bucket-public-write-prohibited

パラメータ: なし

このコントロールは、パブリックアクセスブロック設定、バケットポリシー、およびバケットアクセスコントロールリスト (ACL) を評価して、S3 バケットにパブリック書き込みアクセスを許可させるかどうかをチェックします。

IAM ロールなどの内部プリンシパルによるバケットへの書き込みアクセス権はチェックされません。バケットへのアクセスは、許可されたプリンシパルのみに制限されるようにする必要があります。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1: カード所有者データ環境 (CDE) に必要なインバウンドおよびアウトバウンドトラフィックを制限し、特に他のすべてのトラフィックを拒否します。

S3 バケットを使用してカード所有者データを保存する場合、バケットはパブリック書き込みアクセスを禁止する必要があります。パブリック書き込みアクセスを許可すると、CDE との間で必要なトラフィックだけを許可するという要件に違反する場合があります。

PCI DSS 1.3.1: DMZ を実装して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

S3 バケットを使用してカード所有者データを保存する場合、バケットはパブリック書き込みアクセスを禁止する必要があります。パブリック書き込みアクセスを許可すると、インバウンドトラフィックを、公的にアクセス可能なサービス、プロトコル、およびポートを提供するシステムコンポーネントだけに制限するという要件に違反する可能性があります。

インターネット上のだれもがお客様の S3 バケットを書き込みできるように明示的にリクエストしない限り、S3 バケットがパブリックに書き込み可能ではないことを確認する必要があります。

PCI DSS 1.3.2: インバウンドインターネットトラフィックを DMZ 内の IP アドレスに制限します。

S3 バケットを使用してカード所有者データを保存する場合、バケットはパブリック書き込みアクセスを禁止する必要があります。パブリック書き込みアクセスを許可すると、インバウンドインターネットトラフィックを DMZ 内の IP アドレスに制限するという要件に違反する可能性があります。

PCI DSS 1.3.4: カード所有者データ環境からインターネットへの認可されていないアウトバウンドトラフィックを許可しません。

S3 バケットを使用してカード所有者データを保存する場合、バケットはパブリック書き込みアクセスを禁止する必要があります。パブリック書き込みアクセスを許可すると、カード所有者データ環境からインターネットへの不正な送信トラフィックをブロックする要件に違反する可能性があります。

PCI DSS 1.3.6: カード所有者データを保存するシステムコンポーネント (データベースなど) は、内部ネットワークゾーン内に、DMZ およびその他の信頼されていないネットワークから分離して配置します。

S3 バケットを使用してカード所有者データを保存する場合、バケットはパブリック書き込みアクセスを禁止する必要があります。パブリック書き込みアクセスを許可すると、DMZ やその他の信頼できないネットワークから分離された内部ネットワークゾーンに、カード所有者データを保存するシステムコンポーネントを配置するという要件に違反する場合があります。

PCI DSS 7.2.1: システムコンポーネントについて、ユーザーに必要な情報に基づいてアクセスを制限し、明示的に許可していない限り、「すべて拒否」に設定するようにアクセス制御システムを確立します。このアクセスコントロールシステムには、次のものが含まれている必要があります。すべてのシステムコンポーネントのカバレッジ。

S3 バケットを使用してカード所有者データを保存する場合、バケットはパブリック書き込みアクセスを禁止する必要があります。パブリック書き込みアクセスを許可すると、システムコンポーネントへのアクセスが最低限必要な権限に制限されているという要件、またはユーザーが知る必要があるという要件に違反する可能性があります。

Remediation

S3 バケットに対するパブリックアクセスを削除するには

  1. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. 結果で識別されるバケットの名前を選択します。

  3. [アクセス許可] を選択し、[Public access settings (パブリックアクセス設定)] を選択します。

  4. [編集] を選択し、4 つのオプションを選択して、次に [保存] を選択します。

  5. プロンプトが表示されたら、confirm を入力し、[確認] を選択します。

[PCI.S3.2] S3 バケットではパブリック読み取りアクセスを禁止する必要があります

重大度: 非常事態

[リソースタイプ]: AWS::S3::Bucket

AWS Config ルール: s3-bucket-public-read-prohibited

パラメータ: なし

このコントロールは、パブリックアクセスブロック設定、バケットポリシー、およびバケットアクセスコントロールリスト (ACL) を評価して、S3 バケットにパブリック読み取りアクセスを許可させるかどうかをチェックします。

インターネット上のだれもがお客様の S3 バケットを書き込みできるように明示的にリクエストしない限り、S3 バケットがパブリックに書き込み可能ではないことを確認する必要があります。

IAM ロールなどの内部プリンシパルによるバケットへの読み取りアクセスはチェックされません。バケットへのアクセスは、許可されたプリンシパルのみに制限されるようにする必要があります。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1: カード所有者データ環境 (CDE) に必要なインバウンドおよびアウトバウンドトラフィックを制限し、特に他のすべてのトラフィックを拒否します。

S3 バケットを使用してカード所有者データを保存する場合、バケットはパブリック読み取りアクセスを禁止する必要があります。パブリック読み取りアクセスは、CDE との間で必要なトラフィックだけを許可するという要件に違反する可能性があります。

PCI DSS 1.3.1: DMZ を実装して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

S3 バケットを使用してカード所有者データを保存する場合、バケットはパブリック読み取りアクセスを禁止する必要があります。パブリック読み取りアクセスは、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限するという要件に違反する可能性があります。

PCI DSS 1.3.2: インバウンドインターネットトラフィックを DMZ 内の IP アドレスに制限します。

S3 バケットを使用してカード所有者データを保存する場合、バケットはパブリック読み取りアクセスを禁止する必要があります。パブリック読み取りアクセスは、インバウンドインターネットトラフィックを DMZ 内の IP アドレスに制限するという要件に違反する可能性があります。

PCI DSS 1.3.6: カード所有者データを保存するシステムコンポーネント (データベースなど) は、内部ネットワークゾーン内に、DMZ およびその他の信頼されていないネットワークから分離して配置します。

S3 バケットを使用してカード所有者データを保存する場合、バケットはパブリック読み取りアクセスを禁止する必要があります。パブリック読み取りアクセスは、DMZ やその他の信頼されていないネットワークから分離された内部ネットワークゾーン内に、カード所有者データを保存するシステムコンポーネントを配置するという要件に違反する可能性があります。

PCI DSS 7.2.1: システムコンポーネントについて、ユーザーに必要な情報に基づいてアクセスを制限し、明示的に許可していない限り、「すべて拒否」に設定するようにアクセス制御システムを確立します。このアクセスコントロールシステムには、次のものが含まれている必要があります。すべてのシステムコンポーネントのカバレッジ。

S3 バケットを使用してカード所有者データを保存する場合、バケットはパブリック読み取りアクセスを禁止する必要があります。パブリック読み取りアクセスは、システムコンポーネントへのアクセスを最低限必要な権限に制限すること、またはユーザーが知る必要があるという要件に違反する可能性があります。

Remediation

S3 バケットに対するパブリックアクセスを削除するには

  1. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. 結果で識別されるバケットの名前を選択します。

  3. [アクセス許可] を選択し、[Public access settings (パブリックアクセス設定)] を選択します。

  4. [編集] を選択し、4 つのオプションを選択して、次に [保存] を選択します。

  5. プロンプトが表示されたら、confirm を入力し、[確認] を選択します。

[PCI.S3.3] S3 バケットでクロスリージョンレプリケーションを有効にする必要があります

重大度:

[リソースタイプ]: AWS::S3::Bucket

AWS Config ルール: s3-bucket-replication-enabled

パラメータ: なし

このコントロールは S3 バケットでクロスリージョンレプリケーションが有効かどうかを確認します。

PCI DSS では、データレプリケーションや高可用性設定は必要ありません。ただし、このチェックは、このコントロールの AWS ベストプラクティスと一致します。

可用性に加えて、他のシステム強化設定も考慮する必要があります。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 2.2: すべてのシステムコンポーネントについて設定の標準を作成します。これらの標準が、すべての既知のセキュリティ脆弱性に対処し、業界で受け入れられているシステム強化標準に確実に準拠するようにします。

S3 バケットでクロスリージョンレプリケーションを有効にすると、異なるリージョンで複数のバージョンのデータを使用できます。これにより、より遠距離でのデータの保存、レイテンシーの最小化、運用効率の向上、DDoS やデータ破損のイベントからの保護が可能になります。

これは、システム強化設定の実装に使用される方法の 1 つです。

Remediation

S3 バケットレプリケーションを有効にするには

  1. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. クロスリージョンレプリケーションが有効になっていない S3 バケットを選択します。

  3. 選択管理[] の順に選択します。レプリケーション

  4. [Add rule] を選択します。バージョニングがまだ有効になっていない場合は、有効にするよう求められます。

  5. ソースバケットを選択-バケット全体

  6. 送信先のバケットを選択します。アカウントのレプリケート先バケットでバージョニングがまだ有効になっていない場合は、有効にするよう求められます。

  7. IAM ロールを選択します。レプリケーションのアクセス許可の設定の詳細については、『Amazon Simple Storage Service 開発者ガイド

  8. ルール名を入力し、[[Enabled (有効)]ステータスを選択し、以下を選択します。

  9. [Save] を選択します。

レプリケーションの詳細については、「」を参照してください。Amazon Simple Storage Service 開発者ガイド

[PCI.S3.4] S3 バケットでは、サーバー側の暗号化を有効にする必要があります

重大度: ミディアム

[リソースタイプ] AWS::S3::Bucket

AWS Config ルール: s3-bucket-server-side-encryption-enabled

パラメータ: なし

このコントロールは、Amazon S3 バケットでのデフォルトの暗号化が有効になっていること、または S3 バケットポリシーでサーバー側の暗号化なしの put-object リクエストを明示的に拒否することを確認します。

バケットにデフォルトの暗号化を設定すると、バケットに保存されているすべての新規オブジェクト (クリアテキストの PAN データを含む) が暗号化されます。

バケットに保存されているすべてのオブジェクトに対するサーバー側の暗号化は、バケットポリシーを使用して適用することもできます。サーバーサイドの暗号化の詳細については、「」を参照してください。Amazon Simple Storage Service 開発者ガイド

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 3.4: プライマリアカウント番号 (PAN) は、保存されている場所 (ポータブルデジタルメディア、バックアップメディア、およびログ内を含む) で読み取れません。

S3 バケットを使用してクレジットカードのプライマリアカウント番号 (PAN) を保存し、PAN を読み取れないようにするには、バケットのデフォルト暗号化を有効にするか、S3 バケットポリシーでサーバー側の暗号化なしで put-object リクエストを明示的に拒否する必要があります。

Remediation

S3 バケットのデフォルト暗号化を有効にする

  1. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. リストからバケットを選択します。

  3. [プロパティ] を選択します。

  4. [Default encryption (デフォルト暗号化)] を選択します。

  5. 暗号化には、[] のどちらかを選択します。AES-256またはAWS-KMS

    • Amazon S3 によって管理されるキーをデフォルト暗号化に使用するには、[AES-256。Amazon S3 のサーバー側の暗号化を使用してデータを暗号化する方法の詳細については、」Amazon Simple Storage Service 開発者ガイド

    • によって管理されるキーを使用するにはAWS KMSデフォルトの暗号化の場合は、AWS-KMS。次に、作成したマスターキーのリストから AWS KMS マスターキーを選択します。

      使用する AWS KMS キーの Amazon リソースネーム (ARN) を入力します。ARN は、AWS KMSIAM コンソールの [] で、[] をクリックします。暗号化キー。または、ドロップダウンリストからキー名を選択します。

      重要

      デフォルト暗号化設定に AWS KMS オプションを使用する場合、AWS KMS の RPS (1 秒あたりのリクエスト) 制限が適用されます。の詳細AWS KMSの制限と、制限の引き上げをリクエストする方法については、AWS Key Management Serviceデベロッパーガイド

      作成の詳細については、AWS KMSキーの詳細については、AWS Key Management Serviceデベロッパーガイド

      の使用方法の詳細については、「」を参照してください。AWS KMSAmazon S3 でのAmazon Simple Storage Service 開発者ガイド

    デフォルト暗号化を有効にする際、バケットポリシーの更新が必要な場合があります。バケットポリシーからデフォルトの暗号化への移行の詳細については、」Amazon Simple Storage Service 開発者ガイド

  6. [Save] を選択します。

デフォルトの S3 バケット暗号化の詳細については、『』を参照してください。Amazon Simple Storage Service Container

[PCI.S3.5] S3 バケットはセキュアソケットレイヤーを使用するリクエストが必要です

重大度: ミディアム

[リソースタイプ] AWS::S3::Bucket

AWS Config ルール: s3-bucket-ssl-requests-only

パラメータ: なし

このコントロールは、Amazon S3 バケットのポリシーで、Secure Socket Layer (SSL) を使用するためのリクエストが必須とされているかどうかをチェックします。

S3 バケットには、すべてのリクエストを必要とするポリシー(Action: S3:*) を使用して、S3 リソースポリシーで HTTPS 経由のデータ送信のみを許可します。これは、条件キーaws:SecureTransport

これにより、SSL または TLS のバージョンはチェックされません。PCI DSS 要件ごとに、SSL または TLS (SSLv3、TLS1.0) の早期バージョンを許可しないでください。

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 4.1 強力な暗号化プロトコルとセキュリティプロトコルを使用して、オープンなパブリックネットワークを介した送信中に機密性の高いカード所有者データを保護します。

S3 バケットを使用してカード所有者データを保存する場合は、バケットポリシーでバケットへのリクエストが HTTPS 経由のデータ転送のみを受け付けるように要求するようにしてください。たとえば、ポリシーステートメントの"aws:SecureTransport": "false"を使用して、HTTPS 経由でアクセスされていない要求を拒否します。カード所有者データの暗号化されていない送信を許可すると、オープンなパブリックネットワークを介した送信中に機密性の高いカード所有者データを保護するために、強力な暗号化プロトコルとセキュリティプロトコルを使用する必要性に違反する可能性があります。

Remediation

この問題を修復するには、S3 バケットのアクセス権限ポリシーを更新します。

セキュアでないトランスポートを拒否するように S3 バケットを設定するには

  1. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. 準拠していないバケットに移動し、バケット名を選択します。

  3. [Permissions (アクセス許可)] を選択し、[Bucket Policy (バケットポリシー)] を選択します。

  4. 同様のポリシーステートメントを以下のポリシーに追加します。置換awsexamplebucket変更するバケットの名前に置き換えます。

    { "Id": "ExamplePolicy", "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSSLRequestsOnly", "Action": "s3:*", "Effect": "Deny", "Resource": [ "arn:aws:s3:::awsexamplebucket", "arn:aws:s3:::awsexamplebucket/*" ], "Condition": { "Bool": { "aws:SecureTransport": "false" } }, "Principal": "*" } ] }
  5. [Save] を選択します。

詳細については、ナレッジセンターの記事」を参照してください。この S3 バケットポリシーに準拠するには、どの S3 バケットポリシーを使用すればよろしいですかAWS Configルールs3-bucket-ssl-requestsonly

[PCI.S3.6] S3 ブロックパブリックアクセス設定を有効にする必要があります

重大度: ミディアム

[リソースタイプ] S3AWSアカウント

AWS Config ルール: s3-account-level-public-access-blocks

パラメータ:

  • ignorePublicAcls: true

  • blockPublicPolicy: true

  • blockPublicAcls: true

  • restrictPublicBuckets: true

このコントロールは、次のパブリックアクセスブロック設定がアカウントレベルで設定されているかどうかをチェックします。

  • ignorePublicAcls: true,

  • blockPublicPolicy: true

  • blockPublicAcls: true

  • restrictPublicBuckets: true

すべてのパブリックアクセスブロック設定がtrue

設定のいずれかが設定されている場合、コントロールは失敗します。falseに設定されていない場合、または設定のいずれかが設定されていない場合。設定に値がない場合、AWS Configルールは評価を完了できません。

としてAWSベストプラクティスでは、S3 バケットはパブリックアクセスをブロックする必要があります。インターネット上のだれもがお客様の S3 バケットにアクセスできるように明示的にリクエストしない限り、S3 バケットがパブリックにアクセスできないことを確認する必要があります。

注記

このコントロールは、次のリージョンではサポートされていません。

  • アジアパシフィック (大阪)

  • ヨーロッパ (ミラノ)

  • 中東 (バーレーン)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1-カード所有者データ環境 (CDE) に必要なインバウンドおよびアウトバウンドトラフィックを制限し、特に他のすべてのトラフィックを拒否します。

S3 バケットを使用してカード所有者データを保存する場合は、バケットがパブリックアクセスを許可していないことを確認してください。S3 バケットへのパブリックアクセスは、CDE との間で必要なトラフィックのみを許可するという要件に違反する可能性があります。

PCI DSS 1.3.1-DMZ を実装して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

S3 バケットを使用してカード所有者データを保存する場合は、バケットがパブリックアクセスを許可していないことを確認してください。S3 バケットへのパブリックアクセスを許可すると、インバウンドトラフィックを、公的にアクセス可能なサービス、プロトコル、およびポートを提供するシステムコンポーネントだけに制限するという要件に違反する可能性があります。

PCI DSS 1.3.2-インターネットから DMZ 内の IP アドレスへのインバウンドのインターネットトラフィックを制限します。

S3 バケットを使用してカード所有者データを保存する場合は、バケットがパブリックアクセスを許可していないことを確認してください。S3 バケットへのパブリックアクセスを許可すると、インバウンドトラフィックを DMZ 内の IP アドレスに制限するという要件に違反する可能性があります。

PCI DSS 1.3.4 カード所有者データ環境からインターネットへの認可されていないアウトバウンドトラフィックを許可しません。

S3 バケットを使用してカード所有者データを保存する場合は、バケットがパブリックアクセスを許可していないことを確認してください。S3 バケットへのパブリックアクセスを許可すると、カード所有者データ環境からインターネットへの不正な送信トラフィックをブロックする要件に違反する可能性があります。

PCI DSS 1.3.6 カード所有者データを保存するシステムコンポーネント (データベースなど) は、内部ネットワークゾーン内に、DMZ およびその他の信頼されていないネットワークから離して配置します。

S3 バケットを使用してカード所有者データを保存する場合は、バケットがパブリックアクセスを許可していないことを確認してください。S3 バケットへのパブリックアクセスを許可すると、DMZ やその他の信頼できないネットワークを分離された内部ネットワークゾーン内に、カード所有者データを保存するシステムコンポーネントを配置するという要件に違反する可能性があります。

Remediation

Amazon S3 パブリックアクセスブロックを有効にするには

  1. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. ナビゲーションペインで、[] を選択します。パブリックアクセスブロック (アカウント設定)

  3. [Edit] を選択します。次に、ブロックすべてパブリックアクセス

  4. [Save changes] (変更の保存) をクリックします。

詳細については、「」を参照してください。Amazon S3 のパブリックアクセスブロックの使用Amazon Simple Storage Service 開発者ガイド

[PCI.sageMaker.1] Amazon SageMaker ノートブックインスタンスは、直接インターネットにアクセスしてはいけません

重大度:

[リソースタイプ] AWS::SageMaker::NotebookInstance

AWS Config ルール: sagemaker-notebook-no-direct-internet-access

パラメータ: なし

このコントロールは、SageMaker ノートブックインスタンスで直接インターネットアクセスが無効になっているかどうかを確認します。これを行うために、それはかどうかをチェックしますDirectInternetAccessフィールドは、ノートブックインスタンスでは無効になっています。

VPC を使用せずに SageMaker インスタンスを設定すると、デフォルトでは、インスタンスで直接インターネットアクセスが有効になります。VPC を使用してインスタンスを設定し、デフォルト設定を無効にする — VPC 経由でインターネットにアクセスする

ノートブックからモデルをトレーニングまたはホストするには、インターネットアクセスが必要です。インターネットアクセスを有効にするには、VPC に NAT ゲートウェイがあり、セキュリティグループにアウトバウンド接続が許可されていることを確認します。ノートブックインスタンスを VPC 内のリソースに接続する方法の詳細については、「」を参照してください。ノートブックインスタンスを VPC 内のリソースConnect するAmazon SageMaker 開発者ガイド

また、SageMaker 設定へのアクセスが、許可されたユーザーのみに制限されていることを確認する必要があります。SageMaker の設定とリソースを変更するユーザーの IAM アクセス許可を制限します。

注記

このコントロールは、次のリージョンではサポートされていません。

  • アフリカ (ケープタウン)

  • アジアパシフィック (大阪)

  • 中国 (北京)

  • 中国 (寧夏)

  • ヨーロッパ (ミラノ)

  • AWS GovCloud (米国東部)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 1.2.1-カード所有者データ環境 (CDE) に必要なインバウンドおよびアウトバウンドトラフィックを制限し、特に他のすべてのトラフィックを拒否します。

CDE 内で SageMaker ノートブックインスタンスを使用する場合は、ノートブックインスタンスが直接インターネットアクセスを許可していないことを確認してください。ノートブックインスタンスへの直接パブリックアクセスを許可すると、CDE との間で必要なトラフィックだけを許可するという要件に違反する可能性があります。

PCI DSS 1.3.1-DMZ を実装して、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

CDE 内で SageMaker ノートブックインスタンスを使用する場合は、ノートブックインスタンスが直接インターネットアクセスを許可していないことを確認してください。ノートブックインスタンスへの直接パブリックアクセスを許可すると、パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネントへのアクセスだけを許可するという要件に違反する可能性があります。

PCI DSS 1.3.2-インターネットから DMZ 内の IP アドレスへのインバウンドのインターネットトラフィックを制限します。

CDE 内で SageMaker ノートブックインスタンスを使用する場合は、ノートブックインスタンスが直接インターネットアクセスを許可していないことを確認してください。ノートブックインスタンスへの直接パブリックアクセスを許可すると、インバウンドトラフィックを DMZ 内の IP アドレスに制限するという要件に違反する可能性があります。

PCI DSS 1.3.4 カード所有者データ環境からインターネットへの認可されていないアウトバウンドトラフィックを許可しません。

CDE 内で SageMaker ノートブックインスタンスを使用する場合は、ノートブックインスタンスが直接インターネットアクセスを許可していないことを確認してください。ノートブックインスタンスへの直接パブリックアクセスを許可すると、カード所有者データ環境からインターネットへの不正な送信トラフィックをブロックする要件に違反する可能性があります。

PCI DSS 1.3.6 カード所有者データを保存するシステムコンポーネント (データベースなど) は、内部ネットワークゾーン内に、DMZ およびその他の信頼されていないネットワークから離して配置します。

SageMaker ノートブックインスタンスを使用し、ノートブックインスタンスにカード所有者データが含まれている場合は、インターネットへの直接アクセスを制限します。ノートブックインスタンスへの直接パブリックアクセスを許可すると、DMZ やその他の信頼できないネットワークを分離された内部ネットワークゾーン内に、カード所有者データを保存するシステムコンポーネントを配置するという要件に違反する可能性があります。

Remediation

ノートブックインスタンスの作成後は、インターネットアクセスの設定を変更できないことに注意してください。停止し、削除し、再作成する必要があります。

直接インターネットアクセスを拒否するように SageMaker ノートブックインスタンスを設定するには

  1. SageMaker コンソール () を開きます。https://console.aws.amazon.com/sagemaker/

  2. に移動します。ノートブックインスタンス

  3. 直接インターネットアクセスが有効になっているインスタンスを削除します。インスタンスを選択し、以下を選択します。アクションを選択し、[停止] を選択します。

    インスタンスの停止後、[] を選択します。アクション[] の順に選択します。delete

  4. ノートブックインスタンスの作成を選択します。設定の詳細を入力します。

  5. を展開します。ネットワークセクションに追加します。次に、VPC、サブネット、およびセキュリティグループを選択します。[]ダイレクトインターネットアクセス] で、[無効にする — VPC 経由でインターネットにアクセスする

  6. ノートブックインスタンスの作成を選択します。

詳細については、「」を参照してください。ノートブックインスタンスを VPC 内のリソースConnect するAmazon SageMaker 開発者ガイド

[PCI.SSM.1] Systems Manager によって管理される Amazon EC2 インスタンスは、パッチのインストール後に、パッチコンプライアンスのステータスが COMPLIANT である必要があります。

重大度: ミディアム

[リソースタイプ] SSM パッチコンプライアンスおよびAWS::EC2::Instance

AWS Config ルール: ec2-managedinstance-patch-compliance-status-check

パラメータ: なし

このコントロールは、Amazon EC2 Systems Manager パッチコンプライアンスのコンプライアンスステータスがCOMPLIANTまたはNON_COMPLIANTインスタンスにパッチをインストールした後。

AWS Systems Manager パッチマネージャーによって管理されているインスタンスのみがチェックされます。

PCI DSS 要件 6.2 で規定された 30 日間の制限内にパッチが適用されたかどうかはチェックされません。

また、適用されたパッチがセキュリティパッチとして分類されたかどうかも検証しません。

適切なベースライン設定を使用してパッチ適用グループを作成し、対象のシステムが Systems Manager のパッチグループによって管理されていることを確認する必要があります。パッチグループの詳細については、「」を参照してください。AWS Systems Managerユーザーガイド

注記

このコントロールは、次のリージョンではサポートされていません。

  • アフリカ (ケープタウン)

  • アジアパシフィック (大阪)

  • ヨーロッパ (ミラノ)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 6.2: ベンダーが提供する該当するセキュリティパッチをインストールして、すべてのシステムコンポーネントとソフトウェアが既知の脆弱性から保護されていることを確認します。重要なセキュリティパッチは、公開から 1 か月以内にインストールします。

PCI DSS の対象となるシステムについてベンダーがリリースしたパッチは、本稼働環境にインストールする前にテストおよび検証する必要があります。デプロイされたパッチがカード所有者データ環境 (CDE) のセキュリティに影響を与えないように、セキュリティ設定とコントロールを検証する必要があります。

によって管理される Amazon EC2 インスタンスを使用する場合AWS Systems Managerパッチマネージャーを使用して CDE 内のマネージドインスタンスにパッチを適用し、パッチが正常に適用されていることを確認します。これを行うには、Amazon EC2 Systems Manager パッチコンプライアンスのコンプライアンスステータスが「COMPLIANT」であることを確認します。パッチマネージャーは、オペレーティングシステムとアプリケーションの両方に適用可能なパッチを適用できます。

これは、既知の脆弱性からシステムコンポーネントとソフトウェアを保護するために使用される方法です。

Remediation

非準拠のパッチを修正するには

このルールは、Amazon EC2 Systems Manager パッチコンプライアンスステータスが COMPLIANT と NON_COMPLIANT のどちらであるかを確認します。パッチコンプライアンスの状態の詳細については、」を参照してください。AWS Systems Managerユーザーガイド

  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[] の [] で、ノード管理] で、[Run Command

  3. [Run command (コマンドの実行)] を選択します。

  4. AWS-RunPatchBaseline の横にあるオプションボタンを選択し、[Operation (オペレーション)] を [Install (インストール)] に変更します。

  5. 選択インスタンスを手動で選択する非準拠のインスタンスを選択し、非準拠のインスタンスを選択します。

  6. 一番下までスクロールし、[Run (実行)] を選択します。

  7. コマンドが完了したら、パッチを適用したインスタンスの新しいコンプライアンスステータスをモニタリングするには、ナビゲーションペインで [Compliance (コンプライアンス)] を選択します。

フレームワークの使用の詳細については、AWS Systems Managerユーザーガイド次の「」の詳細については、「」を参照してください。

[PCI.SSM.2] Systems Manager によって管理されるインスタンスには、関連付けのコンプライアンスステータスがCOMPLIANT

重大度:

[リソースタイプ] SSM 関連付けのコンプライアンス

AWS Config ルール: ec2-managedinstance-association-compliance-status-check

パラメータ: なし

このコントロールは、ステータスかどうかをチェックしますAWS Systems Manager関連付けのコンプライアンスとはCOMPLIANTまたはNON_COMPLIANTインスタンスで関連付けが実行された後に呼び出されます。関連付けのコンプライアンスステータスがCOMPLIANT

ステートマネージャーの関連付けは、マネージドインスタンスに割り当てられた設定です。この設定では、インスタンスで管理する状態を定義します。たとえば、関連付けでは、アンチウイルスソフトウェアをインスタンスにインストールして実行する必要があること、または特定のポートを閉じる必要があることを指定できます。

ステートマネージャーの関連付けを 1 つまたは複数作成すると、コンソールでも、AWS CLI コマンドまたは対応する Systems Manager API オペレーションへのレスポンスでも、コンプライアンスステータス情報をすぐに表示できるようになります。関連付けの場合、設定コンプライアンス[] のステータスを示します。準拠または非準拠関連付けに割り当てられた重大度レベル (たとえば)非常事態またはミディアム。State Manager アソシエーションコンプライアンスの詳細については、「」を参照してください。ステートマネージャーの関連付けコンプライアンスについてAWS Systems Managerユーザーガイド

Systems Manager の関連付けには、スコープ内 EC2 インスタンスを設定する必要があります。また、パッチのベンダーのセキュリティ評価のパッチベースラインを構成し、PCI DSS 3.2.1 要件 6.2 を満たすように自動承認日を設定する必要があります。関連付けの作成方法に関する追加のガイダンスについては、」関連付けを作成するAWS Systems Managerユーザーガイド。Systems Manager でのパッチ適用に関する詳細については、」AWS Systems ManagerPatch ManagerAWS Systems Managerユーザーガイド

注記

このコントロールは、次のリージョンではサポートされていません。

  • アフリカ (ケープタウン)

  • アジアパシフィック (大阪)

  • ヨーロッパ (ミラノ)

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 2.4 PCI DSS の対象となるシステムコンポーネントのインベントリを管理します。

Systems Manager によって管理される EC2 インスタンスを使用して、カード所有者データ環境(CDE)のインベントリを収集する場合は、インスタンスが正常に関連付けられていることを確認します。これを行うには、Systems Manager の関連付けのコンプライアンスステータスがCOMPLIANT。Systems Manager を使用すると、PCI DSS の対象となるシステムコンポーネントのインベントリを維持できます。在庫を整理する方法に関する追加のガイダンスについては、」インベントリのリソースデータの同期の設定AWS Systems Managerユーザーガイド

Remediation

失敗した関連付けは、ターゲットや SSM ドキュメント名など、さまざまなものに関連付けることができます。この問題を修復するには、まず関連付けを特定して調査する必要があります。その後、関連付けを更新して、特定の問題を修正できます。

関連付けを編集して新しい名前、スケジュール、重要度レベル、またはターゲットを指定できます。関連付けを編集した後、Systems Manager で新しいバージョンが作成されます。

失敗した関連付けを調査して更新するには

  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[] の [] で、ノード管理] で、[Fleet Manager

  3. インスタンスの ID を選択します。関連付けのステータスFailed

  4. [View details] (詳細を表示する) をクリックします。

  5. 選択関連付け

  6. 関連付けの名前を書き留めておきます。関連付けのステータスFailed。これは、あなたが調査する必要がある関連付けです。次の手順で関連付け名を使用する必要があります。

  7. ナビゲーションペインの [] で、ノード管理] で、[ステートマネージャー。関連付け名を検索し、関連付けを選択します。

    問題を特定したら、失敗した関連付けを編集して問題を修正します。関連付けを編集する方法については、「」を参照してください。関連付けを編集する

ステートマネージャーの関連付けの作成と編集の詳細については、Systems Manager の関連付けの使用AWS Systems Managerユーザーガイド

[PCI.SSM.3] EC2 インスタンスは、AWS Systems Manager

重大度: ミディアム

[リソースタイプ] AWS::EC2::Instance

AWS Config ルール: ec2-instance-managed-by-systems-manager

パラメータ: なし

このコントロールは、アカウントの EC2 インスタンスが Systems Manager によって管理されているかどうかを確認します。

AWS Systems Managerである。AWSサービスを参照および制御するために使用できるAWSインフラストラクチャ。セキュリティとコンプライアンスを維持するために、Systems Manager はマネージドインスタンスをスキャンします。マネージドインスタンスは、Systems Manager 用に設定されたマシンです。Systems Manager は、検出されたポリシー違反について報告または修正処理を実行します。Systems Manager は、マネージドインスタンスを設定して維持するのにも役立ちます。管理対象の EC2 インスタンスにパッチをデプロイするには、Systems Manager で追加の設定が必要です。

詳細については、次を参照してください。AWS Systems Managerユーザーガイド

関連する PCI DSS 要件

このコントロールは、次の PCI DSS 要件に関連しています。

PCI DSS 2.4 PCI DSS の対象となるシステムコンポーネントのインベントリを管理します。

Systems Manager によって管理される EC2 インスタンスを使用して、カード所有者データ環境(CDE)のインベントリを収集する場合は、インスタンスが Systems Manager によって管理されていることを確認してください。Systems Manager を使用すると、PCI DSS の対象となるシステムコンポーネントのインベントリを維持できます。在庫を整理する方法に関する追加のガイダンスについては、」インベントリのリソースデータの同期の設定AWS Systems Managerユーザーガイド

PCI DSS 6.2 ベンダーが提供する該当するセキュリティパッチをインストールして、すべてのシステムコンポーネントとソフトウェアが既知の脆弱性から保護されていることを確認します。重要なセキュリティパッチは、公開から 1 か月以内にインストールします。

PCI DSS の対象となるシステムの場合、本番環境にベンダーのパッチをインストールする前に、それらのパッチをテストして検証する必要があります。パッチを展開したら、セキュリティ設定とコントロールを検証して、デプロイされたパッチが CDE のセキュリティに影響を与えないようにします。Systems Manager によって管理されている EC2 インスタンスを使用して CDE 内のマネージドインスタンスにパッチを適用する場合は、インスタンスが Systems Manager によって管理されていることを確認します。Systems Manager は既知の脆弱性からシステムコンポーネントとソフトウェアを保護するために、システムパッチを展開します。

Remediation

Systems Manager クイックセットアップを使用して、EC2 インスタンスを管理するように Systems Manager を設定できます。

インスタンスで Systems Manager の関連付けをサポートできるかどうかを確認するには、」Systems Manager の前提条件AWS Systems Managerユーザーガイド

EC2 インスタンスが Systems Manager で管理されるようにするには

  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[] を選択します。高速セットアップ

  3. 設定画面で、デフォルトのオプションをそのまま使用します。

  4. [Set up Systems Manage (システムマネージャーの設定)] を選択します。