설명
DB 보안 그룹의 넓은 CIDR은 실제 접속이 필요한 애플리케이션과 관리자 외의 주소까지 허용할 수 있습니다. 사설 주소라는 이유만으로 범위 안의 모든 시스템을 신뢰해서는 안 됩니다.
더 긴 접두사는 주소 수를 줄이지만, 특정 접두사 길이만으로 적절한 권한이 보장되지는 않습니다. 실제 클라이언트와 연결 경로를 기준으로 제한해야 합니다.
잠재적 영향
- 불필요한 시스템에서 DB 연결을 시도할 수 있습니다.
- 넓은 대역의 예외가 누적되면 허용 대상과 변경 영향을 파악하기 어려워집니다.
해결 방법
- 사용 중인 클라이언트 주소와 관리 경로를 확인하고 필요한 범위만 허용하세요.
- 현재 VPC 보안 그룹에서는 필요에 따라 애플리케이션 보안 그룹을 소스로 사용하고 실제 DB 포트도 제한하세요.
- 예외의 소유자와 만료 시점을 관리하고 변경 후 필요한 연결과 차단 결과를 확인하세요.
예시
다음은 기존 DB Security Group의 CIDR 비교입니다. 이 리소스는 Terraform AWS 공급자 5.0에서 제거되었습니다. 현재 환경에는 VPC 보안 그룹을 사용하고 예제 대역은 실제 승인된 클라이언트에 맞게 정하세요.
변경 전
hcl
resource "aws_db_security_group" "db_sg" {
name = "rds_sg"
ingress {
cidr = "10.0.0.0/24"
}
}
10.0.0.0/24는 256개 IPv4 주소를 포함합니다. 모두 DB 접근이 필요한지 확인해야 합니다.
변경 후
hcl
resource "aws_db_security_group" "db_sg" {
name = "rds_sg"
ingress {
cidr = "10.0.0.0/25"
}
}
10.0.0.0/25는 128개 IPv4 주소를 포함합니다. 범위가 줄었어도 불필요한 주소는 여전히 제외해야 합니다.