SEC09-BP02 伝送中に暗号化を適用する - AWS Well-Architected フレームワーク

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 から VPC に VPN で接続することで、トラフィックの暗号化を円滑にすることができます。クライアントで AWS API の呼び出しに TLS 1.2 以降のバージョンが使われていることを確認します。これ以前のバージョンは AWS によって 2023 年 6 月に廃止されるためです。AWS は TLS 1.3 の使用を推奨しています。特別な要件がある場合は、AWS Marketplace でサードパーティーのソリューションを入手できます。

実装手順

  • 伝送中に暗号化を適用する: 暗号化の要件は、最新の標準とベストプラクティスに基づき、安全なプロトコルのみを許可する必要があります。例えば、Application Load Balancer または Amazon EC2 インスタンスに対してのみ HTTPS プロトコルを許可するよう、セキュリティグループを設定します。

  • エッジサービスで安全なプロトコルを設定する: Amazon CloudFront を使用して HTTPS を設定し、自社のセキュリティ体制やユースケースに適したセキュリティプロファイルを使用します。

  • 外部接続に 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) 階層を作成してエンドエンティティ X.509 証明書を発行することができます。こちらは暗号化された TLS チャネルの作成に使用できます。

リソース

関連ドキュメント: