설명
전체 주소에서 접속할 수 있는 포트는 서비스 목적과 사용자 범위가 명확해야 합니다. 포트 번호가 흔하지 않다는 이유만으로 위험하거나 용도가 불명확하다고 단정할 수는 없습니다. 실제 수신 서비스와 소유자, 공개 필요성을 확인하세요.
잠재적 영향
- 미사용 또는 임시 서비스가 불필요한 외부 연결에 노출될 수 있습니다.
- 허용 목적과 담당자가 불분명한 규칙은 변경 영향과 접근 범위를 관리하기 어렵게 만듭니다.
해결 방법
- 포트에 연결된 서비스와 담당자, 필요한 클라이언트를 확인하고 불필요한 공개 규칙을 제거하세요.
- 공개가 필요하면 실제 소스와 프로토콜·포트를 필요한 범위로 제한하고 승인 이유와 검토 기한을 남기세요.
- IPv4·IPv6와 연결된 모든 보안 그룹을 검토하고 필요한 접속은 성공하며 불필요한 접속은 차단되는지 확인하세요.
예시
TCP 5001 서비스의 인바운드 범위 비교입니다. 실제 서비스·VPC·연결 자원은 별도로 확인하고 예제 사설 대역을 승인된 클라이언트 주소로 바꾸세요.
변경 전
hcl
resource "aws_security_group" "custom_service" {
name = "allow-custom-port"
description = "Unknown port exposed"
ingress {
from_port = 5001
to_port = 5001
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
}
TCP 5001을 모든 IPv4 소스에 허용합니다. 이 포트 번호만으로 서비스의 종류나 공개 필요성이 결정되지는 않습니다.
변경 후
hcl
resource "aws_security_group" "custom_service" {
name = "allow-custom-port"
description = "Unknown port restricted"
ingress {
from_port = 5001
to_port = 5001
protocol = "tcp"
cidr_blocks = ["10.20.0.0/24"]
}
}
소스를 10.20.0.0/24로 제한합니다. 해당 대역 전체가 필요한지 확인하고 다른 보안 그룹에서 더 넓게 허용하지 않는지도 검토하세요.