

# SEC09-BP02 伝送中に暗号化を適用する
<a name="sec_protect_data_transit_encrypt"></a>

組織的、法的、コンプライアンス要件を満たすための組織のポリシー、法的義務と標準に基づいて、定義された暗号化要件を適用します。機密データを仮想プライベートクラウド (VPC) の外部に送信する場合は、暗号化されたプロトコルのみを使用します。暗号化を行うと、データが信頼できないネットワークを転送中も、データの機密性を保持できます。

 **期待される成果:** リソースとインターネット間のネットワークトラフィックを暗号化して、データへの不正アクセスを軽減します。セキュリティ要件に従って、内部 AWS 環境内のネットワークトラフィックを暗号化します。転送中のデータはすべて、安全な TLS プロトコルと暗号スイートを使用して暗号化します。

 **一般的なアンチパターン:** 
+  廃止されたバージョンの SSL、TLS、および暗号スイートコンポーネント (SSL v3.0、1024-bit RSA キー、および RC4 暗号) を使用する。
+  パブリック向けリソースとの間で暗号化されていない (HTTP) トラフィックを許可する。
+  X.509 証明書をモニタリングし、期限が切れる前に交換しない。
+  TLS に自己署名 X.509 証明書を使用する。

 **このベストプラクティスを活用しない場合のリスクレベル:** 高 

## 実装のガイダンス
<a name="implementation-guidance"></a>

 AWS のサービスには、通信に TLS を使用し、AWS API との通信の際に伝送中データの暗号化を利用できる、HTTPS エンドポイントが用意されています。安全でない HTTP プロトコルは、セキュリティグループを使用して仮想プライベートクラウド (VPC) で監査およびブロックできます。HTTP リクエストは [Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) 内または [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#redirect-actions) の HTTPS に自動的にリダイレクトすることもできます。[Amazon Simple Storage Service (Amazon S3) バケットポリシー](https://aws.amazon.com/blogs/storage/enforcing-encryption-in-transit-with-tls1-2-or-higher-with-amazon-s3/)を使用すると、HTTP 経由でオブジェクトをアップロードする機能を制限し、バケットへのオブジェクトのアップロードに HTTPS の使用を効果的に強制できます。コンピューティングリソースを完全に制御して、サービス全体に伝送中データの暗号化を実装できます。また、外部ネットワークまたは [AWS Direct Connect](https://aws.amazon.com/directconnect/) から VPC に VPN で接続することで、トラフィックの暗号化を円滑にすることができます。[AWS では 2024 年 2 月で以前のバージョンの TLS の使用が廃止](https://aws.amazon.com/blogs/security/tls-1-2-required-for-aws-endpoints/)されたため、クライアントが少なくとも TLS 1.2 を使用して AWS API を呼び出すことを確認してください。TLS 1.3 を使用することをお勧めします。転送中の暗号化に特別な要件がある場合は、AWS Marketplace で利用可能なサードパーティーのソリューションを見つけることができます。

### 実装手順
<a name="implementation-steps"></a>
+  **伝送中に暗号化を適用する:** 暗号化の要件は、最新の標準とベストプラクティスに基づき、安全なプロトコルのみを許可する必要があります。例えば、Application Load Balancer または Amazon EC2 インスタンスに対してのみ HTTPS プロトコルを許可するよう、セキュリティグループを設定します。
+  **エッジサービスで安全なプロトコルを設定する:** [Amazon CloudFront を使用して HTTPS を設定](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html)し、[自社のセキュリティ体制やユースケースに適したセキュリティプロファイル](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html#secure-connections-supported-ciphers)を使用します。
+  **[外部接続に VPN](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html) を使用する:** ポイントツーポイント接続やネットワーク間接続を IPsec VPN で保護し、データのプライバシーと整合性の両方を提供することを検討します。
+  **ロードバランサーで安全なプロトコルを設定する:** リスナーに接続するクライアントがサポートしている暗号スイートのなかで、もっとも堅牢な暗号スイートを提供しているセキュリティポリシーを選びます。[Application Load Balancer 用の HTTPS リスナーを作成する](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html) 
+  **Amazon Redshift で安全なプロトコルを設定する:** [Secure Socket Layer (SSL) または Transport Layer Security (TLS) 接続](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)を必須とするように、クラスターを設定します。
+  **安全なプロトコルを設定する:** AWS サービスのドキュメントをレビューして、転送時の暗号化機能を決定します。
+  **Amazon S3 バケットへのアップロード時の安全なアクセスを設定する:** Amazon S3 バケットポリシーコントロールを使用して、データへの[安全なアクセスを適用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html)します。
+  **[AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) の使用を検討する:** ACM を使用すると、AWS サービスで使用するパブリック TLS 証明書のプロビジョニング、管理、デプロイが行えます。
+  **プライベート PKI のニーズには [AWS Private Certificate Authority](https://aws.amazon.com/private-ca/) の使用を検討する:** AWS Private CA を使用すると、プライベート認証局 (CA) 階層を作成してエンドエンティティ X.509 証明書を発行することができます。こちらは暗号化された TLS チャネルの作成に使用できます。

## リソース
<a name="resources"></a>

 **関連ドキュメント:** 
+ [CloudFront で HTTPS を使用する](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html)
+ [AWS Virtual Private Network を使用して VPC をリモートネットワークに接続する](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html)
+ [Create an HTTPS listener for your Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html)
+ [Tutorial: Configure SSL/TLS on Amazon Linux 2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html)
+ [SSL/TLS を使用した DB インスタンスへの接続の暗号化](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)
+ [接続のセキュリティオプションを設定する](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-ssl-support.html)