−25%

Windows 연간 결제, 10월 31일까지. 요금제 보기

EQVPS
시작하기

Windows VPS의 RDP 보호 방법: NLA, 계정 잠금, IP 허용 목록

Windows Server 2022 VPS의 RDP를 '누구에게나 열린' 상태에서 '나에게만 응답하는' 상태로 바꾸는 PowerShell 5단계: 네트워크 수준 인증, 계정 잠금, 3389의 모든 규칙에 적용되는 IP 허용 목록, 그리고 누가 로그인을 시도하는지 확인하는 방법.

인터넷 전체에 응답하는 RDP 포트에는 서버가 켜진 지 몇 분 만에 비밀번호 추측 시도가 들어옵니다. 긴 비밀번호라면 버티지만, 추측 하나하나가 로그온 시도이고 이벤트 로그를 채우며 다음 RDP 취약점에 공격 대상을 내줍니다. 다섯 단계로 이를 막을 수 있습니다. 각 단계는 PowerShell 명령이며, 모두 게시 전에 저희 Windows Server 2022 이미지에서 실행했습니다.

RDP로 접속해 관리자 권한으로 PowerShell을 열고(연결 방법) 순서대로 진행하세요. 4단계는 마지막에 하세요. 스스로를 잠가 버릴 수 있는 단계는 그것뿐입니다.

1. 길고 고유한 비밀번호

아직 첫 로그인 비밀번호를 쓰고 있다면 대시보드에서 긴 비밀번호(20자 이상, 비밀번호 관리자로 생성)로 바꾸세요. 아래 단계는 모두 비밀번호 자체를 추측할 수 없다는 전제입니다.

2. 네트워크 수준 인증(NLA) 켜기

NLA를 쓰면 Windows는 세션을 만들고 로그인 화면을 그리기 전에 자격 증명을 확인합니다. 인증되지 않은 연결은 데스크톱 코드에 닿지 못하는데, 가장 유명한 RDP 취약점들이 바로 그곳에 있었습니다. 현재 상태를 확인합니다.

(Get-CimInstance -Namespace root/cimv2/TerminalServices -ClassName Win32_TSGeneralSetting -Filter "TerminalName='RDP-tcp'").UserAuthenticationRequired

1이면 NLA가 켜져 있습니다. 0이 보이면 켜세요.

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1

Windows, macOS, Linux(xfreerdp)의 최신 원격 데스크톱 클라이언트는 모두 NLA를 지원합니다. 다음 연결부터는 원격 화면이 뜨기 전에 비밀번호를 묻습니다.

3. 실패가 반복되면 계정 잠그기

Windows Server 2022 기본 설치는 틀린 비밀번호가 아무리 들어와도 계정을 잠그지 않습니다. 2026년 10월 24일 이후 저희 이미지로 설치한 서버에는 아래 한도가 이미 설정되어 있습니다. 그 이전 서버에서는 직접 정하세요.

net accounts /lockoutthreshold:5 /lockoutwindow:15 /lockoutduration:15
net accounts

15분 안에 다섯 번 틀리면 계정이 15분 동안 잠깁니다. 직접 테스트해 보니 다섯 번 실패한 뒤 일반 사용자와 기본 제공 Administrator 모두 잠겼습니다. 잠금은 저절로 풀리므로, 오타가 잦은 아침이라도 잃는 것은 15분이지 서버가 아닙니다.

4. 내 IP 주소에서만 RDP 허용

이 단계가 잡음을 거의 다 없앱니다. Windows 방화벽 규칙은 원격 주소 목록을 받으므로 내 주소를 넣습니다. 아무 'IP 주소 확인' 페이지에서 현재 공인 IP를 확인한 다음:

$myIp = '203.0.113.10'   # your public IP; several: '203.0.113.10','198.51.100.0/24'
Get-NetFirewallPortFilter | Where-Object LocalPort -eq 3389 | Get-NetFirewallRule | Set-NetFirewallRule -RemoteAddress $myIp

이 명령은 기본 제공 '원격 데스크톱' 그룹뿐 아니라 3389 포트의 인바운드 규칙을 모두 찾습니다. 이 점이 중요합니다. 2026년 10월 24일 이전에 저희 이미지로 설치한 서버에는 포트를 모두에게 여는 'EQVPS RDP 3389'라는 추가 규칙이 있고, 다른 소프트웨어도 자체 규칙을 추가할 수 있습니다. 기본 그룹만 제한하면 이런 규칙 때문에 포트가 계속 열려 있습니다. 저희도 테스트하면서 정확히 이 실수를 했습니다. 결과를 확인합니다.

Get-NetFirewallPortFilter | Where-Object LocalPort -eq 3389 | Get-NetFirewallRule |
  Select-Object DisplayName, @{n='Remote';e={($_ | Get-NetFirewallAddressFilter).RemoteAddress}}

모든 줄에 내 주소가 나와야 합니다. 저희 테스트에서는 다른 주소에서 온 연결은 응답이 없었고, 허용한 주소는 접속되었습니다.

NAT 플랜에서도 똑같이 동작합니다. 개인 포트에서의 포워딩이 실제 주소를 유지하므로 내 공인 IP를 허용하세요.

IP가 바뀌면 RDP는 나에게도 응답하지 않습니다. 대시보드에서 브라우저 콘솔을 열고(RDP와 방화벽을 거치지 않습니다) 로그인한 뒤 새 주소로 명령을 실행하세요. 허용 목록을 완전히 없애려면 -RemoteAddress Any를 쓰면 됩니다.

5. 누가 들어오려 하는지 보기

로그온 실패는 보안 로그의 이벤트 4625입니다. 이 명령은 각 시도의 계정 이름과 주소를 보여 줍니다.

Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 20 |
  Select-Object TimeCreated, @{n='User';e={$_.Properties[5].Value}}, @{n='SourceIP';e={$_.Properties[19].Value}}

허용 목록을 설정하기 전에는 모르는 주소에서 Administrator, admin, user가 끊임없이 들어옵니다. 설정 후에는 목록이 조용해져야 합니다.

신경 쓸 필요 없는 것

  • RDP 포트 변경. 전용 IPv4 플랜에서는 로그 잡음만 줄 뿐이며 스캐너는 새 포트를 금방 찾습니다. NAT 플랜에서는 포워딩이 3389로 가므로 접속이 끊깁니다.
  • '되게 하려고' 방화벽 끄기. 규칙을 바꾼 뒤 RDP가 응답하지 않으면 브라우저 콘솔에서 규칙을 고치세요.

업데이트 유지

가장 심각한 RDP 사고는 비밀번호가 아니라 프로토콜 취약점에서 나왔습니다. Windows Server 2022는 2031년 10월 14일까지 보안 업데이트를 받으므로 Windows Update를 켜 두고, 요청하면 재시작하세요.

이미지는 직접 보유한 라이선스로 쓰는 Windows Server 2022입니다(BYOL 작동 방식). 플랜은 Windows-Small부터 시작합니다: 4 vCPU, RAM 4 GB, 50 GB, NAT 기준 월 $11. 전용 IPv4가 있는 Windows Small-IP는 월 $28입니다. 네 가지 플랜은 모두 Windows VPS 페이지에 있습니다. RDP와 함께 SSH를 쓰려면 Windows Server의 OpenSSH를 참고하세요.

자주 묻는 질문

RDP 포트만 바꾸면 충분한가요?

아니요. 다른 포트를 쓰면 로그의 잡음은 줄지만 어떤 스캐너든 몇 시간 안에 찾아냅니다. NAT 플랜에서는 아예 바꾸지 마세요. 개인 외부 포트가 서버 안의 3389로 포워딩되어 있어서 RDP를 옮기면 포워딩이 깨집니다. IP 허용 목록은 포트 변경이 하는 척만 하는 일을 실제로 해냅니다.

NAT 플랜에서도 IP 허용 목록이 동작하나요?

네. 서버로의 포워딩은 연결의 실제 출발지 주소를 유지하므로, Windows 방화벽은 내 공인 IP를 보고 비교할 수 있습니다. 서버 주소가 아니라 그 주소를 허용하세요.

집 IP가 바뀌어서 접속이 막히면 어떻게 하나요?

대시보드에서 브라우저 콘솔을 여세요. RDP가 아니라 서버 화면에 직접 연결되므로 방화벽이 막지 않습니다. 거기서 로그인한 뒤 같은 Set-NetFirewallRule 명령으로 새 주소를 설정하면 됩니다.

봇이 Administrator 계정을 잠글 수 있나요?

잠금 정책이 있으면 가능합니다. 매번 15분씩입니다. 현재 Windows Server 2022 빌드에서는 기본 제공 Administrator도 다른 계정처럼 잠깁니다(직접 확인했습니다). 그래서 IP 허용 목록이 중요합니다. 3389 포트에 닿지 못하는 봇은 잠금도 일으킬 수 없습니다.

RDP를 막았는데도 Windows 업데이트가 필요한가요?

필요합니다. 가장 심각한 RDP 공격은 비밀번호가 아니라 프로토콜 자체의 취약점을 노렸습니다. Windows Server 2022는 2031년 10월 14일까지 보안 업데이트를 받으므로 Windows Update는 켜 두세요.

댓글

아직 댓글이 없습니다. 첫 번째가 되세요.

댓글 남기기

댓글은 표시되기 전에 검토됩니다.