ElastiCacheの転送時暗号化が無効

ElastiCache Redis接続でTLSを使用し、平文接続が許可されていないか確認してください。

説明

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を使い、移行後に平文接続を許可するモードが残っていないことを確認してください。

参考資料