説明
ElastiCache Redisレプリケーショングループで転送時の暗号化を使用しないと、アプリケーションとキャッシュ間のデータが平文で送受信される可能性があります。保存時の暗号化では、この通信は保護されません。
想定される影響
- 通信経路にアクセスできる攻撃者に、セッションデータやキャッシュ内の機密情報が漏えいする可能性があります。
- データ改ざんのリスクが高まり、通信の暗号化要件を満たせない場合があります。
対処方法
TransitEncryptionEnabledをtrueにし、クライアントでTLSとサーバー証明書の検証を使用してください。- 既存グループの変更にエンジンのバージョンが対応しているか確認してください。対応する移行では、
TransitEncryptionModeをpreferredにしてクライアントを移行し、その後requiredに変更して平文接続を拒否してください。 - ネットワークアクセス、ユーザー権限、保存時の暗号化も別途確認してください。
例
レプリケーショングループの暗号化設定だけを示しています。対応するエンジンバージョン、サブネットグループ、ノードなどの必須項目は、実際の環境に合わせて構成してください。
変更前
yaml
Resources:
ReplicationGroup:
Type: AWS::ElastiCache::ReplicationGroup
Properties:
Engine: redis
AtRestEncryptionEnabled: true
TransitEncryptionEnabled: false
転送時の暗号化を無効にしています。AtRestEncryptionEnabled: trueが保護するのは保存データであり、クライアント接続ではありません。
変更後
yaml
Resources:
ReplicationGroup:
Type: AWS::ElastiCache::ReplicationGroup
Properties:
Engine: redis
AtRestEncryptionEnabled: true
TransitEncryptionEnabled: true
転送時の暗号化を有効にします。クライアントがTLSを使い、移行後に平文接続を許可するモードが残っていないことを確認してください。