PCI DSS コントロール - AWS Security Hub
[PCI.AutoScaling.1] ロードバランサーに関連付けられた Auto Scaling グループは、ヘルスチェックを使用する必要があります[PCI.CloudTrail.1] CloudTrail ログは、保管時に暗号化する必要がありますAWS KMS keys[PCI.CloudTrail.2] CloudTrail を有効にする必要があります[PCI.CloudTrail.3] CloudTrail ログファイルの検証を有効にする必要があります[PCI.CloudTrail.4] CloudTrail.4] CloudTrail 証跡は CloudWatch Logs と統合する必要があります[PCI.CodeBuild.1] CodeBuild GitHub または Bitbucket のソースリポジトリの URL は、OAuth を使用する必要があります[PCI.CodeBuild.2] CodeBuild プロジェクト環境変数にクリアテキストの認証情報を含めることはできません[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] GuardDuty を有効にする必要があります[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 バケットは、Secure Socket Layer を使用するためのリクエストが必要です[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 の Amazon S3 で管理された暗号化キーによるサーバー側の暗号化 (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 を有効にする必要があります

緊急度:

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

AWS Config ルール: cloudtrail-enabled

パラメータ: なし

このコントロールは、CloudTrail がAWSアカウント.

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

関連する PCI DSS 要件

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

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

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

ユーザーの ID は、eventSourceCloudTrail ログのセクション。

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

カード所有者データの保管場所に応じて、個々のユーザーによるカード所有者データへのアクセスは、userIdentity,eventSource,eventName, またはresponseElementsCloudTrail ログのセクション。

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 は、userIdentityCloudTrail ログのセクション。

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

イベントのタイプは、eventNameCloudTrail ログのセクション。

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

イベントの日時は、eventTimeCloudTrail ログのセクション。

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

成功または失敗は、responseElementsCloudTrail ログのセクション。

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

イベントの発生源は、userAgentまたはsourceIPAddressCloudTrail ログのセクション。

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

リソースの ID は、eventSourceCloudTrail ログのセクション。

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. []アドバンストで、はいBothSSE-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.4] CloudTrail 証跡は CloudWatch Logs と統合する必要があります

緊急度:

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

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

パラメータ: なし

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

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

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

関連する 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. を使用する場合ロググループ[] フィールドで、次のいずれかを実行します。

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

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

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

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

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

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

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

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

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

  8. [変更を保存] を選択します。

コンソールを使用した 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 環境でを使用して、ソースコードをコンパイルしたり、ユニットテストを実行したり、デプロイする準備ができたアーティファクトを生成することができます。この場合、認証情報はクリアテキストで保存または送信したり、リポジトリ 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 プロジェクト環境変数にクリアテキストの認証情報を含めることはできません

緊急度: 非常事態

リソースタイプ: 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 環境でを使用して、ソースコードをコンパイルしたり、ユニットテストを実行したり、デプロイする準備ができたアーティファクトを生成することができます。そうした場合、認証資格情報を保存しないでください。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 Simple Notication Service 入門ガイド

    4. []AWS Configロールで、どちらかを選んでください作成AWS Configサービスにリンクされたロールまたはアカウントからロールを選択次に、使用するロールを選択します。

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

  6. リポジトリの []AWS Configルール[] ページで、[]Skix

  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 を有効にする必要があります). ルートユーザーの ID は、userIdentityCloudTrail ログのセクション。

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. [次へ] を選択します。

  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 で、レプリケーションインスタンスのPubliclyAccessiblefield to'false'。レプリケーションインスタンスへのパブリックアクセスを許可すると、CDE との間で必要なトラフィックだけを許可するという要件に違反する可能性があります。

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

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

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

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

PCI DSS 1.3.4 カード所有者データ環境からインターネットへの不正な送信トラフィックを許可しません。

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

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

を使用した場合AWS DMS定義した CDE で、カード所有者データを格納するデータベースを移行するには、レプリケーションインスタンスのPubliclyAccessiblefield to'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 に特定の時点にバックアップするために使用され、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. [保存] を選択します。

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 セキュリティグループを削除する必要があります (リタイア)

このコントロールは終了します。

[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 トラフィックを許可する場合があります。その場合は、セキュリティグループの機能に必要なインバウンド SSH ソースを 0.0.0.0/0(任意の場所)から特定の IP アドレスまたは範囲に制限します。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 フローログを使用すると、のネットワークインターフェイスとの間で行き来する 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 に配置する必要があります。そうすることで、間の安全な通信が可能になります。OpenSearch Serviceインターネットゲートウェイ、NAT デバイス、または VPN 接続ポートを使用せずに VPC 内の他のサービス。

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

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

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

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

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

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

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

リソースベースのポリシーを使用して、送信元 IP アドレスに基づいてアクセスを制限する IP 条件を指定することもできます。「How to control access to your Amazon OpenSearch Service domain」のブログ記事を参照してください。

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 に配置する必要があります。そうすることで、間の安全な通信が可能になります。OpenSearch Serviceインターネットゲートウェイ、NAT デバイス、または VPN 接続ポートを使用せずに VPC 内の他のサービス。

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

Remediation

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

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

「」を参照してください。の起動Amazon OpenSearch ServiceVPC 内のドメイン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 Service を使用してクレジットカードのプライマリアカウント番号 (PAN) を保存する場合は、保存時の OpenSearch Service ドメイン暗号化を有効にして PAN を保護する必要があります。

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

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

Remediation

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

この機能を有効にするには、別のドメインを作成してデータを移行する必要があります。ドメインの作成については、「」を参照してください。Amazon OpenSearch Serviceデベロッパーガイド

保管時のデータの暗号化には OpenSearch Service 5.1 以降が必要です。の保管中のデータの暗号化の詳細については、「」を参照してください。OpenSearch Service「」を参照してください。Amazon OpenSearch Serviceデベロッパーガイド

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

緊急度:

リソースタイプ: 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 を有効にする方法の詳細については、使用方法を含む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 アカウントroot ユーザーが最も権限がありますAWSユーザー。AWSアクセスキーを使用すると、プログラムから指定されたアカウントにアクセスできます。

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

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

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

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

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

ルートユーザーは、最も権限があるユーザーです。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 ユーザー、グループ、ロールにアクセスできません。AWSIAM ポリシーがアタッチされるまで、リソース。

対象となる 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 (日)

このコントロールは、IAM ユーザーが、指定した日数以内に使用されなかったパスワードまたはアクティブなアクセスキーを持っているかどうかを確認します。デフォルト値は 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ラテンアルファベットの大文字 (AZ) を少なくとも 1 つ必要とします

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

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

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

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

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

  11. [変更を保存] を選択します。

[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 スナップショットではパブリックアクセスを禁止する必要があります

緊急度: 非常事態

リソースタイプ: AWS::RDS::DBSnapshot

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

パラメータ: なし

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

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

パブリックアクセスを許可するように構成を変更した場合、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. [保存] を選択します。

[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 ユーザーガイド

関連する 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 ユーザーガイド

[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: パブリックにアクセスできる認可済みのサービス、プロトコル、およびポートを提供するシステムコンポーネント宛てのものだけにインバウンドトラフィックを制限します。

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

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 バケットでの 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 ユーザーガイド

[PCI.S3.5] S3 バケットは、Secure Socket Layer を使用するためのリクエストが必要です

緊急度: ミディアム

リソースタイプ: 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 バケットポリシーを使用すればよいですか。AWS Configルールs3-bucket-ssl-requests-only?

[PCI.S3.6] S3 ブロックパブリックアクセス設定を有効にする必要があります

緊急度: ミディアム

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

AWS Config ルール: s3-account-level-public-access-blocks-periodic

パラメータ:

  • ignorePublicAcls: true

  • blockPublicPolicy: true

  • blockPublicAcls: true

  • restrictPublicBuckets: true

このコントロールは、次のパブリックアクセスブロック設定がアカウントレベルで設定されているかどうかをチェックします。

  • ignorePublicAcls: true,

  • blockPublicPolicy: true

  • blockPublicAcls: true

  • restrictPublicBuckets: true

パブリックアクセスブロックの設定がすべてに設定されている場合、コントロールは渡されます。true

いずれかの設定が [] に設定されていると、コントロールは失敗します。false、または設定のいずれかが構成されていない場合。

として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. [編集] を選択します。次に、を選択します。ブロックすべてパブリックアクセス

  4. [変更を保存] を選択します。

詳細については、「」を参照してください。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 を使用してインスタンスを設定し、デフォルト設定をに変更する必要があります。Disable — 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、サブネット、およびセキュリティグループを選択します。[]インターネットに直接アクセスで、Disable — VPC 経由でインターネットにアクセスする

  6. ノートブックインスタンスの作成を選択します。

詳細については、「」を参照してください。ノートブックインスタンスを VPC 内のリソースConnect するAmazon SageMaker 開発者ガイド

[PCI.SSM.1] Systems Manager によって管理される Amazon EC2 インスタンスは、パッチのインストール後に、パッチコンプライアンスのステータスが COMPLIANT である必要があります。

緊急度: ミディアム

リソースタイプ: AWS::SSM::PatchComplianceおよび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

緊急度:

リソースタイプ: AWS::SSM::AssociationCompliance

AWS Config ルール: ec2-managedinstance-association-compliance-status-check

パラメータ: なし

このコントロールは、のステータスかどうかをチェックします。AWS Systems Manager関連付けのコンプライアンスはCOMPLIANTまたはNON_COMPLIANTインスタンスで関連付けを実行した後。アソシエーションのコンプライアンスステータスが次の場合、コントロールは通過します。COMPLIANT

ステートマネージャーの関連付けは、マネージドインスタンスに割り当てられた設定です。この設定では、インスタンスで管理する状態を定義します。たとえば、関連付けでは、アンチウイルスソフトウェアをインスタンスにインストールして実行する必要があること、または特定のポートを閉じる必要があることを指定できます。

ステートマネージャーの関連付けを 1 つまたは複数作成すると、コンソールでも、AWS CLI コマンドまたは対応する Systems Manager API オペレーションへのレスポンスでも、コンプライアンスステータス情報をすぐに表示できるようになります。アソシエーションの場合、設定コンプライアンスのステータスを示します。準拠または非準拠および関連付けに割り当てられた重大度レベル。非常事態またはミディアム。ステートマネージャーの協会コンプライアンスの詳細については、「」を参照してください。ステートマネージャーの関連付けコンプライアンスについてAWS Systems Managerユーザーガイド

スコープ内 EC2 インスタンスを Systems Manager アソシエーション用に設定する必要があります。また、パッチベンダーのセキュリティ評価のパッチベースラインを設定し、自動承認日を 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 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. ナビゲーションペインの [] で、[] をクリックします。ノード管理で、ステートマネージャー。関連付け名を検索し、関連付けを選択します。

    問題を特定したら、失敗した関連付けを編集して問題を修正します。関連付けを編集する方法については、「」を参照してください。関連付けを編集する

State Manager 関連付けの作成と編集の詳細については、「」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 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 (システムマネージャーの設定)] を選択します。