翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
データを保護するためのセキュリティコントロールの推奨事項
AWS Well-Architected フレームワークは、データを保護するためのベストプラクティスを、データ分類、保管中のデータの保護、転送中のデータの保護の 3 つのカテゴリにグループ化します。このセクションで説明するセキュリティコントロールは、データ保護に関するベストプラクティスを実装するのに役立ちます。これらの基盤となるベストプラクティスは、クラウドでワークロードを設計する前に実施する必要があります。データの誤処理を防ぎ、組織的、法的、コンプライアンス上の義務を果たすのに役立ちます。このセクションのセキュリティコントロールを使用して、データ保護のベストプラクティスを実装してください。
ワークロードレベルでデータを特定および分類
データ分類とは、ネットワーク内のデータを重要度と機密性に基づいて識別、分類するプロセスのことです。データに適した保護および保持のコントロールを判断する際に役立つため、あらゆるサイバーセキュリティのリスク管理戦略において重要な要素です。データ分類を行うと、多くの場合、データ重複の頻度を減らせます。これにより、ストレージとバックアップのコストを削減すると共に、検索を高速化できます。
ワークロードが処理しているデータの種類と分類、それに関連するビジネスプロセス、データの保存場所、データの所有者について理解しておくことが推奨されます。データ分類は、ワークロードの所有者が機密データを保存する場所を特定し、そのデータにアクセスして共有する方法を判断するのに役立ちます。タグは、 AWS リソースを整理するためのメタデータとして機能するキーと値のペアです。タグは、リソースの管理、識別、整理、検索、フィルタリングに役立ちます。
詳細については、以下のリソースを参照してください。
-
AWS ホワイトペーパーのデータ分類
-
AWS Well-Architected フレームワークでワークロード内のデータを特定する
各データ分類レベルのコントロールを確立
分類レベルごとにデータ保護コントロールを定義します。例えば、推奨されるコントロールを使用してパブリックに分類されるデータを保護し、追加のコントロールを使用して機密データを保護します。メカニズムとツールを使用して、データに直接アクセスしたり、手動でデータを処理したりする必要性を軽減または排除できます。データの識別と分類を自動化することで、誤分類、誤処理、改ざん、人為的ミスのリスクが軽減されます。
例えば、Amazon Macie を使用して Amazon Simple Storage Service (Amazon S3) バケット内の個人を特定できる情報 (PII) などの機密データをスキャンすることを検討してください。また、Amazon Virtual Private Cloud (Amazon VPC) の VPC フローログを使用して、意図しないデータアクセスを自動的に検出することもできます。
詳細については、以下のリソースを参照してください。
-
AWS Well-Architected フレームワークでデータ保護コントロールを定義する
-
識別および分類を自動化する ( AWS Well-Architected フレームワーク)
-
AWS 規範ガイダンスのAWS プライバシーリファレンスアーキテクチャ (AWS PRA)
-
Amazon Macie で機密データを検出 (Macie ドキュメント)
-
VPC フローログを使用した IP トラフィックのログ記録 (Amazon VPC ドキュメント)
-
for Things ブログの「 を使用して PHI および PII データを検出する一般的な手法 AWS のサービス
AWS 」
保管中のデータを暗号化する
保管中のデータとは、ストレージ内にあるデータなど、常に自社のネットワーク内にあるデータを指します。保管中のデータに対して暗号化と適切なアクセスコントロールを実装することで、不正アクセスのリスクを軽減できます。暗号化とは、人間が読み取り可能なプレーンテキストデータを暗号文に変換するコンピューティングプロセスです。暗号文をプレーンテキストに復号して使用できるようにするには、暗号化キーが必要です。では AWS クラウド、 AWS Key Management Service (AWS KMS) を使用して、データの保護に役立つ暗号化キーを作成および制御できます。
各データ分類レベルのコントロールを確立 で説明されているように、暗号化が必要なデータのタイプを指定するポリシーを作成することをお勧めします。どのデータを暗号化するか、またどのデータをトークン化やハッシュ化など別の手法で保護するかを決定する方法に関する基準を含めてください。
詳細については、以下のリソースを参照してください。
-
デフォルトの暗号化の設定 (Amazon S3 ドキュメント)
-
新しい EBS ボリュームとスナップショットコピーに対するデフォルトの暗号化 (Amazon EC2 ドキュメント)
-
Amazon Aurora リソースの暗号化 (Amazon Aurora ドキュメント)
-
AWS KMSの暗号化の詳細の概要 ( AWS KMS ドキュメント)
-
Creating an enterprise encryption strategy for data at rest ( AWS 規範ガイダンス)
-
AWS Well-Architected フレームワークで保管時の暗号化を適用する
-
特定の での暗号化の詳細については AWS のサービス、そのサービスのAWS ドキュメントを参照してください。
転送中のデータを暗号化する
転送中のデータとは、ネットワーク内 (ネットワークリソース間など) を活発に移動するデータのことです。転送中のデータはすべて、安全な TLS プロトコルと暗号スイートを使用して暗号化します。データへの不正なアクセスを防止するためには、リソースとインターネット間のネットワークトラフィックを暗号化する必要があります。可能であれば、TLS を使用して内部 AWS 環境内のネットワークトラフィックを暗号化します。
詳細については、以下のリソースを参照してください。
-
ビューワーと CloudFront の間の通信に HTTPS を要求する (Amazon CloudFront ドキュメント)
-
AWS Well-Architected フレームワークで転送中の暗号化を強制する
-
特定の での暗号化の詳細については AWS のサービス、そのサービスのAWS ドキュメントを参照してください。
Amazon EBS スナップショットへのパブリックアクセスをブロック
Amazon Elastic Block Store (Amazon EBS) は、 Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで使用するブロックレベルストレージのボリュームを提供します。ポイントインタイムスナップショットを作成することで、Amazon EBSボリュームのデータを Amazon S3 にバックアップできます。スナップショットは、他のすべての とパブリックに共有することも AWS アカウント、 AWS アカウント 指定した個人とプライベートに共有することもできます。
Amazon EBS スナップショットはパブリックに共有しないことをお勧めします。これは、誤って機密データが公開されるおそれがあるためです。スナップショットを共有すると、スナップショットのデータに他人がアクセスできるようになります。スナップショットは、そのすべてのデータを信頼して共有できる人とのみ共有してください。
詳細については、以下のリソースを参照してください。
-
スナップショットの共有 (Amazon EC2 ドキュメント)
-
Amazon EBS スナップショットはパブリックに復元できないようにすることをお勧めします ( AWS Security Hub CSPM ドキュメント)
-
ebs-snapshot-public-restorable-check ( AWS Config ドキュメント)
Amazon RDS スナップショットへのパブリックアクセスをブロック
Amazon Relational Database Service (Amazon RDS) を使用すると、 AWS クラウドでリレーショナルデータベースをセットアップ、運用、スケーリングできます。Amazon RDS は、DB インスタンスのバックアップウィンドウ中に、DB インスタンスまたはマルチ AZ DB クラスターの自動バックアップを作成して保存します。Amazon RDS は DB インスタンスのストレージボリュームのスナップショットを作成し、個々のデータベースだけではなく、その DB インスタンス全体をバックアップします。手動スナップショットは、スナップショットをコピーしたり、そこから DB インスタンスを復元したりするために共有できます。
スナップショットをパブリックとして共有する場合は、スナップショット内のデータがプライベートでも機密でもないことを確認してください。スナップショットがパブリックに共有されると、すべての AWS アカウント にデータへのアクセス権が付与されます。これにより、Amazon RDS インスタンスのデータが意図せず漏えいしてしまうおそれがあります。
詳細については、以下のリソースを参照してください。
-
DB スナップショットを共有する (Amazon RDS ドキュメント)
-
AWS Config rdrds-snapshots-public-prohibited ドキュメント
Amazon RDS、Amazon Redshift、および AWS DMS リソースへのパブリックアクセスをブロックする
Amazon RDS DB インスタンス、Amazon Redshift クラスター、および AWS Database Migration Service (AWS DMS) レプリケーションインスタンスをパブリックにアクセス可能に設定できます。publiclyAccessible フィールド値が true の場合、これらのリソースはパブリックにアクセスできます。パブリックアクセスを許可すると、不要なトラフィック、露出、データ漏えいが発生するおそれがあります。これらのリソースへのパブリックアクセスを許可しないことをお勧めします。
Amazon RDS DB インスタンス、 AWS DMS レプリケーションインスタンス、または Amazon Redshift クラスターがパブリックアクセスを許可するかどうかを検出するには、 AWS Config ルールまたは Security Hub CSPM コントロールを有効にすることをお勧めします。
注記
レ AWS DMS プリケーションインスタンスのパブリックアクセス設定は、インスタンスのプロビジョニング後に変更することはできません。パブリックアクセス設定を変更するには、現在のインスタンスを削除してから再作成します。再作成する際は、[パブリックアクセス可能] オプションを選択しないでください。
詳細については、以下のリソースを参照してください。
-
RDS DB インスタンスは、Security Hub CSPM ドキュメントでパブリックアクセスを禁止する必要があります
-
Amazon Redshift クラスターは、Security Hub CSPM ドキュメントのパブリックアクセスを禁止する必要があります
-
AWS Config ドキュメントの rds-instance-public-access-check
-
AWS Config ドキュメントの「dms-replication-not-public」
-
redshift-cluster-public-access-check ( AWS Config ドキュメント)
-
Amazon RDS DB インスタンスを変更する (Amazon RDS ドキュメント)
-
クラスターの変更 (Amazon Redshift ドキュメント)
Amazon S3 バケットへのパブリックアクセスをブロック
Amazon S3 バケットへのパブリックアクセスを不可にすることが、Amazon S3 セキュリティのベストプラクティスです。インターネット上のだれもがバケットを読み書きできる必要が明確にない限り、バケットがパブリックではないことを確認する必要があります。これにより、データの整合性とセキュリティが保護されます。 AWS Config ルールと Security Hub CSPM コントロールを使用して、Amazon S3 バケットがこのベストプラクティスに準拠していることを確認することができます。
詳細については、以下のリソースを参照してください。
-
Amazon S3 のセキュリティベストプラクティス (Amazon S3 ドキュメント)
-
Security Hub CSPM ドキュメントで S3 パブリックアクセスブロック設定を有効にする必要があります
-
s3-bucket-public-read-prohibited ルール ( AWS Config ドキュメント)
-
AWS Config ドキュメントで禁止されている s3-bucket-public-write-prohibited
重要な Amazon S3 バケット内のデータ削除に MFA を必須とする
Amazon S3 バケットで S3 バージョニングを行うときに、MFA (多要素認証) Delete が有効になるようにバケットを設定すれば、セキュリティをさらに強化できます。この設定を行うと、バケット所有者は、特定のバージョンを削除したりバケットのバージョニング状態を変更したりするリクエストに、2 つの認証形式を含めることが必要になります。組織にとって重要なデータを含むバケットに対して、この機能を有効にすることをお勧めします。これにより、バケットやデータの誤削除を防ぐことができます。
詳細については、以下のリソースを参照してください。
-
MFA 削除の設定 (Amazon S3 ドキュメント)
VPC に Amazon OpenSearch Service ドメインを設定
Amazon OpenSearch Service は、 AWS クラウドにおける OpenSearch クラスターのデプロイ、オペレーション、スケーリングを支援するマネージドサービスです。Amazon OpenSearch Service は、OpenSearch とレガシー Elasticsearch オープンソースソフトウェア (OSS) をサポートしています。VPC 内にデプロイされた Amazon OpenSearch Service ドメインは、パブリックインターネットを経由することなく、プライベート AWS ネットワーク経由で VPC リソースと通信できます。この設定により、転送中のデータへのアクセスが制限されるため、セキュリティ体制が向上します。Amazon OpenSearch Service ドメインをパブリックサブネットにアタッチしないこと、および VPC をベストプラクティスに従って設定することをお勧めします。
詳細については、以下のリソースを参照してください。
-
VPC 内で Amazon OpenSearch Service ドメインを起動する (Amazon OpenSearch Service デベロッパーガイド)
-
AWS Config ドキュメントの opensearch-in-vpc-only
AWS KMS key 削除のアラートを設定する
AWS Key Management Service (AWS KMS) キーは、削除後に復元することはできません。KMS キーが削除されると、KMS キーで暗号化されたデータは永久に復元できません。データへのアクセスを保持する必要がある場合は、キーを削除する前に、データを復号するか、新しい KMS キーで再暗号化する必要があります。KMS キーの削除は、そのキーをもう使用しないことが確実である場合にのみ行ってください。
KMS キーの削除が開始された場合に通知を受け取れるよう、Amazon CloudWatch アラームを設定することをお勧めします。KMS キーの削除は破壊的で潜在的に危険であるため、 AWS KMS では待機期間を設定し、7~30 日以内に削除をスケジュールする必要があります。このため、スケジュールされた削除を確認し、必要に応じてキャンセルすることができます。
詳細については、以下のリソースを参照してください。
-
キー削除のスケジュールとキャンセル ( AWS KMS ドキュメント)
-
AWS KMS ドキュメントの削除保留中の KMS キーの使用を検出するアラームの作成
-
Security Hub CSPM ドキュメントでAWS KMS keys 意図せずに削除しないでください
へのパブリックアクセスをブロックする AWS KMS keys
キーポリシーは、 AWS KMS keysへのアクセスを制御するための主な方法です。すべての KMS キーには、厳密に 1 つのキーポリシーが必要です。KMS キーへの匿名アクセスを許可すると、機密データの漏洩につながる可能性があります。パブリックにアクセス可能な KMS キーを特定し、これらのリソースに対する署名されていないリクエストが行われないように、アクセスポリシーを更新することをお勧めします。
詳細については、以下のリソースを参照してください。
-
AWS KMS ドキュメントの のセキュリティのベストプラクティス AWS Key Management Service
-
AWS KMS ドキュメントのキーポリシーの変更
-
AWS KMS ドキュメントの へのアクセスの確認 AWS KMS keys
セキュアなプロトコルを使用してロードバランサーのリスナーを設定
Elastic Load Balancing は、受信アプリケーショントラフィックを複数のターゲットに自動的に分散します。1 つ以上のリスナーを指定することで、受信トラフィックを受け入れるようにロードバランサーを設定します。リスナーとは、設定したプロトコルとポートを使用して接続リクエストをチェックするプロセスです。各タイプのロードバランサーは、以下のようにサポートするプロトコルとポートが異なります。
-
Application Load Balancer はアプリケーションレイヤーでルーティングを決定し、HTTP または HTTPS プロトコルを使用します。
-
Network Load Balancer はトランスポートレイヤーでルーティングを決定し、TCP、TLS、UDP、または TCP_UDP プロトコルを使用します。
-
Classic Load Balancer は、トランスポートレイヤー (TCP または SSL プロトコルを使用) またはアプリケーションレイヤー (HTTP または HTTPS プロトコルを使用) でルーティングを決定します。
常に HTTPS または TLS プロトコルを使用することをお勧めします。これらのプロトコルにより、クライアントとターゲット間のトラフィックの暗号化および復号化をロードバランサーが担当することが保証されます。
詳細については、以下のリソースを参照してください。
-
Application Load Balancer のリスナー (Elastic Load Balancing のドキュメント)
-
Listeners for your Classic Load Balancer (Elastic Load Balancing ドキュメント)
-
Network Load Balancer のリスナー (Elastic Load Balancing ドキュメント)
-
AWS 規範ガイダンスでAWS ロードバランサーが安全なリスナープロトコルを使用していることを確認する
-
AWS Config ドキュメントの「elb-tls-https-listeners-only」
-
Classic Load Balancer リスナーは、Security Hub CSPM ドキュメントの HTTPS または TLS 終了で設定する必要があります
-
Application Load Balancer は、Security Hub CSPM ドキュメントのすべての HTTP リクエストを HTTPS にリダイレクトするように設定する必要があります。