설명
RDP가 사용하는 3389번 포트를 모든 출발지에 허용하면 관리 서비스에 불필요한 연결 시도를 받을 수 있습니다. 실제 접근에는 대상의 네트워크 경로, RDP 서비스와 호스트 방화벽도 영향을 주며, 연결이 가능해도 사용자 인증은 별도로 필요합니다.
잠재적 영향
- 외부에서 연결할 수 있는 RDP 서비스는 무차별 대입이나 유출된 자격 증명을 이용한 로그인 시도의 대상이 될 수 있습니다.
- 취약한 서비스나 부실한 계정 통제가 있다면 호스트와 데이터가 침해될 위험이 커질 수 있습니다.
해결 방법
- RDP가 필요한 리소스와 관리 클라이언트를 확인하고 필요한 프로토콜·포트만 승인된 CIDR이나 지원되는 보안 그룹 참조에 허용하세요.
- 직접 인터넷에 관리 포트를 열기보다 VPN 등 통제된 관리 경로를 사용하세요. 연결된 모든 그룹, IPv4·IPv6 경로, 호스트 방화벽과 인증을 함께 확인하세요.
- 규칙을 변경하기 전에 필요한 관리 경로를 확보하고 이후 허용·거부할 연결을 시험하세요. 공개된 서비스의 인증 로그와 비정상적인 시도도 점검하세요.
예시
실제 VPC와 관리 클라이언트 범위를 vpc_id, management_cidr로 제공하고 실행 환경에 AWS 인증을 구성하세요. 같은 그룹의 대안 구성이며 리소스 연결과 관리 경로는 별도로 준비해야 합니다.
변경 전
yaml
- name: example ec2 group
amazon.aws.ec2_security_group:
name: example2
description: an example EC2 group
vpc_id: "{{ vpc_id }}"
region: eu-west-1
rules:
- proto: tcp
ports: 3389
cidr_ip: 0.0.0.0/0
모든 IPv4 출발지에 TCP 3389를 허용합니다.
변경 후
yaml
- name: example ec2 group
amazon.aws.ec2_security_group:
name: example2
description: an example EC2 group
vpc_id: "{{ vpc_id }}"
region: eu-west-1
rules:
- proto: tcp
ports: 3389
cidr_ip: "{{ management_cidr }}"
승인된 관리 클라이언트 범위만 허용합니다. management_cidr에 불필요하게 넓은 대역을 넣지 말고 실제 관리 경로의 출발지 주소와 일치하는지 확인하세요.