SEC09-BP02 伝送中に暗号化を適用する
組織的、法的、コンプライアンス要件を満たすための組織のポリシー、法的義務と標準に基づいて、定義された暗号化要件を適用します。機密データを仮想プライベートクラウド (VPC) の外部に送信する場合は、暗号化されたプロトコルのみを使用します。暗号化を行うと、データが信頼できないネットワークを伝送中も、データの機密性を保持できます。
期待される成果: すべてのデータは、安全な TLS プロトコルと暗号スイートを使用して伝送中に暗号化する必要があります。データへの不正なアクセスを軽減するためには、リソースとインターネット間のネットワークトラフィックを暗号化する必要があります。内部 AWS 環境内にのみあるネットワークトラフィックは、可能な場合に TLS を使って暗号化する必要があります。AWS 内部ネットワークはデフォルトで暗号化され、VPC 内のネットワークトラフィックは、トラフィック (Amazon EC2 インスタンス、Amazon ECS コンテナなど) を生成しているリソースに権限のない人がアクセスしない限り、なりすましや盗聴を行うことはできませんIPsec 仮想プライベートネットワーク (VPN) を使ってネットワーク間のトラフィックを保護することを検討してください。
一般的なアンチパターン:
-
廃止されたバージョンの SSL、TLS、および暗号スイートコンポーネント (SSL v3.0、1024-bit RSA キー、および RC4 暗号) を使用する。
-
パブリック向けリソースとの間で暗号化されていない (HTTP) トラフィックを許可する。
-
X.509 証明書をモニタリングし、期限が切れる前に交換しない。
-
TLS に自己署名 X.509 証明書を使用する。
このベストプラクティスが確立されていない場合のリスクレベル: 高
実装のガイダンス
AWS のサービスには、通信に TLS を使用し、AWS API との通信の際に伝送中データの暗号化を利用できる、HTTPS エンドポイントが用意されています。HTTP など安全でないプロトコルは、セキュリティグループを使用して VPC で監査およびブロックできます。HTTP リクエストは、Amazon CloudFront または Application Load Balancer でHTTPS に自動的にリダイレクトすることもできます。コンピューティングリソースを完全に制御して、サービス全体に伝送中データの暗号化を実装できます。また、外部ネットワークまたは AWS Direct Connect
実装手順
-
伝送中に暗号化を適用する: 暗号化の要件は、最新の標準とベストプラクティスに基づき、安全なプロトコルのみを許可する必要があります。たとえば、Application Load Balancer または Amazon EC2 インスタンスに対してのみ HTTPS プロトコルを許可するよう、セキュリティグループを設定します。
-
エッジサービスで安全なプロトコルを設定する: HTTPS を Amazon CloudFront と設定して、自分のセキュリティ体制やユースケースに適した セキュリティプロファイルを使用します。
-
外部接続に VPN を使用する: ポイントツーポイント接続やネットワーク間接続を IPsec VPN で保護し、データのプライバシーと整合性の両方を提供することを検討してください。
-
ロードバランサーで安全なプロトコルを設定する: リスナーに接続し、クライアントがサポートするなかで最強の暗号スイートを提供するセキュリティポリシーを選択します。Application Load Balancer に HTTPS リスナーを作成します。
-
Amazon Redshift で安全なプロトコルを設定する: クラスターで Secure Socket Layer (SSL) または Transport Layer Security (TLS) 接続が必要となるよう設定します。
-
安全なプロトコルを設定する: AWS サービスのドキュメントをレビューして、転送時の暗号化機能を決定します。
-
Amazon S3 バケットにアップロードする際、安全なアクセスを設定する: Amazon S3 バケットポリシーコントロールを使用して、データに対して安全なアクセスを適用します。
-
AWS Certificate Manager
の使用を検討する: ACM では、AWS サービスで使用するためのパブリック TLS 証明書をプロビジョニング、管理、およびデプロイできます。 -
プライベート PKI ニーズに対してAWS Private Certificate Authority
の使用を検討する: AWS Private CA では、プライベート認証局 (CA) 階層を作成し、暗号化された TLS チャネルの作成に使用できるエンドエンティティ X.509 証明書を発行することができます。
リソース
関連するドキュメント:
-
Using HTTPS with CloudFront (CloudFront で HTTPS を使う)
-
Connect your VPC to remote networks using AWS Virtual Private Network (AWS Virtual Private Network を使用して VPC をリモートネットワークに接続する)
-
Create an HTTPS listener for your Application Load Balancer (アプリケーションロードバランサーの HTTPS リスナーを作成する)
-
Using SSL/TLS to encrypt a connection to a DB instance (SSL/TLS を使用した DB インスタンスへの接続の暗号化)
-
Configuring security options for connections (接続のセキュリティオプションを設定する)