설명
보안 그룹의 수신 소스를 0.0.0.0/0 또는 ::/0으로 지정하면 해당 포트에 모든 IPv4 또는 IPv6 주소를 허용합니다. 실제 인터넷 연결 가능 여부는 라우팅, 공인 주소와 수신 서비스 등에도 달려 있습니다.
잠재적 영향
공개가 필요 없는 관리 기능이나 내부 서비스에 불필요한 연결 시도가 도달할 수 있습니다. 공개 웹 서비스에 필요한 접근과 내부용 접근을 구분해야 합니다.
해결 방법
IPv4와 IPv6 규칙을 모두 확인하고 필요한 프로토콜, 포트와 클라이언트 범위만 허용하세요. 내부 서비스에는 적절한 사설 CIDR이나 소스 보안 그룹을 지정하세요. purge_rules의 기본값은 true이므로 유지할 기존 규칙도 설정에 포함해야 합니다.
예시
내부 웹 서비스의 접근 범위를 줄이는 예시입니다. vpc_id 변수에 실제 VPC ID를 넣고 172.16.17.0/24를 허용할 클라이언트 범위로 바꾸세요.
변경 전
yaml
- name: example
amazon.aws.ec2_group:
name: example1
description: an example EC2 group
vpc_id: "{{ vpc_id }}"
region: eu-west-1
rules:
- proto: tcp
ports:
- 80
- 443
- 8080-8099
cidr_ip: 0.0.0.0/0
모든 IPv4 주소에 80, 443과 8080–8099 포트를 허용합니다.
변경 후
yaml
- name: example
amazon.aws.ec2_group:
name: example1
description: an example EC2 group
vpc_id: "{{ vpc_id }}"
region: eu-west-1
rules:
- proto: tcp
ports:
- 80
- 443
cidr_ip: 172.16.17.0/24
필요한 80과 443 포트를 지정한 클라이언트 범위에만 허용합니다.