설명
보안 그룹이 0.0.0.0/0 또는 ::/0에서 TCP 3389로 들어오는 트래픽을 허용하면 모든 주소에서 RDP 연결을 시도할 수 있는 규칙이 됩니다. 실제 인터넷 접근에는 대상 리소스의 주소, 라우팅과 서비스 수신 상태도 영향을 줍니다. 이 규칙 자체가 공개 주소를 만들거나 로그인을 허용하지는 않습니다.
인터넷에서 도달 가능한 RDP 서비스는 자동 스캔과 비밀번호 추측, 유출된 자격 증명을 이용한 공격의 대상이 될 수 있습니다. 관리 접속은 VPN이나 배스천 등 통제된 경로로 제한해야 합니다.
잠재적 영향
- 인터넷에서 도달할 수 있으면 외부 클라이언트가 원격 접속과 로그인을 시도할 수 있습니다.
- 취약한 인증 설정이나 RDP 서비스 취약점이 악용되면 서버 침해로 이어질 수 있습니다.
해결 방법
- TCP 3389를 모든 IPv4 또는 IPv6 주소에 허용하는 규칙을 제거하고 필요한 관리자 소스만 허용하세요.
- VPN, 배스천 또는 승인된 관리 네트워크를 사용하고 인증과 서비스 업데이트를 유지하세요.
- 다른 보안 그룹과 SSH·WinRM 같은 관리 포트도 확인한 뒤 정상 관리 접속은 성공하고 불필요한 외부 접속은 차단되는지 시험하세요.
예시
같은 보안 그룹의 RDP 소스 범위를 비교하는 부분 예제입니다. 실제 대상 VPC와 리소스 연결은 배포 환경에 맞게 구성하세요.
변경 전
hcl
resource "aws_security_group" "windows_admin" {
name = "allow-rdp"
description = "RDP open to the internet"
ingress {
description = "RDP from anywhere"
from_port = 3389
to_port = 3389
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
}
TCP 3389에 모든 IPv4 주소를 허용합니다. 대상에 인터넷에서 도달할 수 있으면 RDP 연결 시도를 받을 수 있습니다.
변경 후
hcl
resource "aws_security_group" "windows_admin" {
name = "allow-rdp"
description = "RDP restricted to admin network"
ingress {
description = "RDP from admin network only"
from_port = 3389
to_port = 3389
protocol = "tcp"
cidr_blocks = ["10.20.0.0/24"]
}
}
소스를 10.20.0.0/24로 제한합니다. 사설 대역이라는 이유만으로 신뢰하지 말고 실제 승인된 관리자 네트워크인지 확인하세요. 이 규칙이 VPN이나 라우팅을 만들어 주지는 않습니다.