설명
RDS 엔진의 기본 포트는 정상적인 서비스 설정이며, 기본 포트 사용만으로 취약성이 생기지는 않습니다. 다른 포트는 단순 탐색을 줄이는 보조 수단일 수 있지만 네트워크 접근 제어나 데이터베이스 인증을 대신하지 않습니다.
잠재적 영향
접근 범위가 넓고 인증·권한 관리가 부족하면 포트 번호와 관계없이 데이터가 노출되거나 변경될 수 있습니다. 준비 없이 포트를 변경하면 애플리케이션 연결이 중단될 수 있습니다.
해결 방법
필요한 클라이언트로 보안 그룹을 제한하고 적절한 인증, 최소 권한과 TLS를 적용하세요. 운영 정책상 사용자 지정 포트가 필요하면 엔진이 지원하는 값을 선택하고 클라이언트·보안 그룹·모니터링을 함께 갱신하며 변경 세트와 중단 영향을 검토하세요.
예시
Oracle 포트만 비교하는 발췌입니다. 지원되는 DBInstanceClass, 스토리지와 라이선스 설정을 별도로 제공해야 합니다. MasterUserPassword는 템플릿에 고정하지 말고 NoEcho 입력 등 적절한 비밀정보 전달 수단으로 제공하세요.
변경 전
yaml
Resources:
MyDB:
Type: AWS::RDS::DBInstance
Properties:
Engine: oracle-ee
DBInstanceClass: !Ref DBInstanceClass
MasterUsername: master
MasterUserPassword: !Ref MasterUserPassword
BackupRetentionPeriod: 7
Port: 1521
Oracle 기본 포트 1521을 사용합니다. 실제 접근 권한은 포트 값만으로 판단할 수 없습니다.
변경 후
yaml
Resources:
MyDB:
Type: AWS::RDS::DBInstance
Properties:
Engine: oracle-ee
DBInstanceClass: !Ref DBInstanceClass
MasterUsername: master
MasterUserPassword: !Ref MasterUserPassword
BackupRetentionPeriod: 7
Port: 1522
1522로 변경합니다. 이 변경은 데이터베이스 권한이나 네트워크 허용 범위를 줄이지 않습니다.