설명
모든 IPv4(0.0.0.0/0) 또는 IPv6(::/0) 주소에 전체 포트나 모든 프로토콜을 허용하면 필요하지 않은 서비스까지 접근 범위에 포함될 수 있습니다. TCP 전체 포트 허용은 모든 프로토콜 허용과는 다르지만, 두 경우 모두 실제 요구 사항보다 넓은 접근을 만들 수 있습니다.
보안 그룹은 허용 규칙을 합산합니다. 일부 규칙을 제한해도 다른 연결 그룹이 같은 접근을 허용할 수 있으며, 실제 연결에는 주소·경로·호스트 방화벽·서비스 상태도 영향을 줍니다.
잠재적 영향
- 접근 가능한 임시 서비스, 관리 도구나 디버그 포트가 외부 연결 시도에 노출될 수 있습니다.
- 불필요한 서비스에 취약점이 있으면 침해나 데이터 유출로 이어질 수 있습니다.
해결 방법
- 업무에 필요한 출발지, 프로토콜과 포트를 확인하고 전체 허용 규칙을 필요한 최소 범위로 교체하세요.
- 내부 서비스는 승인된 사설 주소나 지원되는 보안 그룹 참조로 제한하고 관리 트래픽을 별도로 통제하세요.
- 연결된 모든 그룹의 IPv4·IPv6 규칙을 확인하세요. 변경 후 필요한 통신은 동작하고 불필요한 연결은 차단되는지 시험하세요.
예시
실제 VPC를 지정하고 두 번째의 10.10.10.0/24를 실제 허용할 클라이언트 대역으로 바꾸세요. 인스턴스 연결, 서비스와 네트워크 경로는 별도로 준비해야 합니다. TCP 80을 허용하는 것만으로 HTTP 서비스나 TLS가 구성되지는 않습니다.
변경 전
yaml
Parameters:
myVPC:
Type: AWS::EC2::VPC::Id
Resources:
InstanceSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Allow all traffic from anywhere
VpcId:
Ref: myVPC
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 0
ToPort: 65535
CidrIp: 0.0.0.0/0
모든 IPv4 주소에 전체 TCP 포트 범위를 허용합니다. UDP 등 다른 프로토콜까지 허용하는 규칙은 아닙니다.
변경 후
yaml
Parameters:
myVPC:
Type: AWS::EC2::VPC::Id
Resources:
InstanceSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Allow only required web traffic
VpcId:
Ref: myVPC
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 10.10.10.0/24
지정된 내부 대역의 TCP 80만 허용합니다. 해당 대역 전체에 접근이 필요한지 확인하고 전송 데이터에 필요한 암호화도 구성하세요.