SEC09-BP02 伝送中に暗号化を適用する
組織的、法的、コンプライアンス要件を満たすための組織のポリシー、法的義務と標準に基づいて、定義された暗号化要件を適用します。機密データを仮想プライベートクラウド (VPC) の外部に送信する場合は、暗号化されたプロトコルのみを使用します。暗号化を行うと、データが信頼できないネットワークを転送中も、データの機密性を保持できます。
期待される成果: リソースとインターネット間のネットワークトラフィックを暗号化して、データへの不正アクセスを軽減します。セキュリティ要件に従って、内部 AWS 環境内のネットワークトラフィックを暗号化します。転送中のデータはすべて、安全な TLS プロトコルと暗号スイートを使用して暗号化します。
一般的なアンチパターン:
-
廃止されたバージョンの 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 に自動的にリダイレクトすることもできます。Amazon Simple Storage Service (Amazon S3) バケットポリシー
実装手順
-
伝送中に暗号化を適用する: 暗号化の要件は、最新の標準とベストプラクティスに基づき、安全なプロトコルのみを許可する必要があります。例えば、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 チャネルの作成に使用できます。
リソース
関連ドキュメント: