설명
ElastiCache의 기본 포트는 일반적인 서비스 설정이며, 기본 포트 사용 자체가 취약점은 아닙니다. 포트 번호를 바꾸면 단순한 탐색을 줄이는 데 도움이 될 수 있지만, 접근 제어나 인증을 대신하지는 못합니다.
캐시에 연결할 수 있는 클라이언트를 보안 그룹과 네트워크 경로로 제한하고, 엔진에서 지원하는 인증과 전송 암호화를 적용해야 합니다.
잠재적 영향
- 불필요한 클라이언트가 캐시에 연결할 수 있고 인증이나 권한 관리가 부족하면 데이터 조회·변경이나 서비스 방해로 이어질 수 있습니다.
- 포트만 변경하면 이러한 접근 권한은 그대로 남으며, 클라이언트 설정이 맞지 않으면 연결이 중단될 수 있습니다.
해결 방법
- 필요한 클라이언트만 연결하도록 보안 그룹과 네트워크 경로를 제한하세요.
- 사용 중인 엔진에서 지원하는 인증과 전송 암호화를 구성하세요.
- 운영 정책상 포트를 변경해야 한다면 지원되는 값을 선택하고 변경 세트, 클라이언트, 보안 그룹 및 모니터링 설정을 함께 검토하세요.
예시
다음은 기존 Redis 구성에서 포트 차이를 보여 주는 예시입니다. 실제 적용 전 지원되는 엔진 버전·노드 유형과 별도로 정의한 서브넷 그룹 및 보안 그룹을 확인하세요.
변경 전
yaml
Resources:
BasicReplicationGroup:
Type: 'AWS::ElastiCache::ReplicationGroup'
Properties:
AutomaticFailoverEnabled: true
CacheNodeType: cache.r3.large
CacheSubnetGroupName: !Ref CacheSubnetGroup
Engine: redis
EngineVersion: '3.2'
NumNodeGroups: '2'
ReplicasPerNodeGroup: '3'
Port: 6379
PreferredMaintenanceWindow: 'sun:05:00-sun:09:00'
ReplicationGroupDescription: A sample replication group
SecurityGroupIds:
- !Ref ReplicationGroupSG
SnapshotRetentionLimit: 5
SnapshotWindow: '10:00-12:00'
기본 포트 6379를 사용합니다. 이 값만으로 접근 허용 범위는 알 수 없습니다.
변경 후
yaml
Resources:
BasicReplicationGroup:
Type: 'AWS::ElastiCache::ReplicationGroup'
Properties:
AutomaticFailoverEnabled: true
CacheNodeType: cache.r3.large
CacheSubnetGroupName: !Ref CacheSubnetGroup
Engine: redis
EngineVersion: '3.2'
NumNodeGroups: '2'
ReplicasPerNodeGroup: '3'
Port: 6380
PreferredMaintenanceWindow: 'sun:05:00-sun:09:00'
ReplicationGroupDescription: A sample replication group
SecurityGroupIds:
- !Ref ReplicationGroupSG
SnapshotRetentionLimit: 5
SnapshotWindow: '10:00-12:00'
포트를 6380으로 변경합니다. 인증이나 보안 그룹의 허용 범위는 이 변경으로 강화되지 않습니다.