설명
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를 사용하고, 이전이 끝난 뒤 평문 연결을 허용하는 모드가 남아 있지 않은지 확인하세요.