RDS 기본 포트와 접근 통제 점검

데이터베이스 포트 변경을 접근 제한이나 인증의 대안으로 사용하지 마세요.

설명

MySQL은 3306, PostgreSQL은 5432, Oracle은 1521, SQL Server는 1433 같은 기본 포트를 사용합니다. 포트는 서비스 식별의 단서가 될 수 있지만, 기본값 자체가 데이터베이스를 공개하거나 인증을 우회하게 하지는 않습니다. 실제 위험은 네트워크 접근 범위와 인증·암호화 구성에 달려 있습니다.

잠재적 영향

  • 과도한 네트워크 허용은 불필요한 접속과 인증 공격의 기회를 늘릴 수 있습니다.
  • 포트만 바꾸면 기존의 접근 통제 문제는 그대로 남습니다.

해결 방법

보안 그룹, 서브넷과 라우팅을 검토해 필요한 클라이언트만 연결하도록 제한하세요. 데이터베이스 인증과 TLS도 적용하세요. 별도 포트를 사용할 이유가 있다면 엔진의 지원 범위를 확인하고 애플리케이션 연결 정보와 허용 규칙을 함께 갱신하세요.

예시

PostgreSQL의 포트 5432와 5433을 비교하는 발췌입니다. 스토리지와 네트워크는 별도로 구성하고, 예시 암호와 최종 스냅샷 생략 설정을 실제 운영 기준으로 사용하지 마세요.

변경 전

hcl
resource "aws_db_instance" "example" {
  engine              = "postgres"
  instance_class      = "db.t3.micro"
  username            = "foo"
  password            = "foobarbaz"
  skip_final_snapshot = true
  port                = 5432
}

변경 후

hcl
resource "aws_db_instance" "example" {
  engine              = "postgres"
  instance_class      = "db.t3.micro"
  username            = "foo"
  password            = "foobarbaz"
  skip_final_snapshot = true
  port                = 5433
}

포트만 5433으로 변경합니다. 이 설정만으로 접속 주체가 제한되거나 통신이 암호화되지는 않습니다.

참조