LainyZine: 프로그래머 가이드 🐣

[Windows 10] 원격 데스크톱 포트(3389) 변경하는 방법

Windows 10은 다른 컴퓨터에서 원격 제어할 수 있는 원격 데스크톱(Remote Desktop) 기능을 탑재하고있습니다. Pro 에디션의 경우 기본 기능으로 제공 되며, Home 에디션에서는 RDP Wrapper를 별도로 사용해야합니다.

원격 데스크톱에 사용하는 RDP 포트는 기본값인 3389가 사용됩니다. 잘 알려진 포트의 경우 외부에서 접속 시도를 하거나 해킹 시도 등에 노출될 가능성이 있어 포트 번호를 변경하는 것을 권장합니다. 이 글에서는 윈도우 10 Pro에서 제공하는 원격 데스크톱의 포트 번호를 변경하고 방화벽 설정하는 방법을 소개합니다.

레지스트리에서 원격 데스크톱 포트 번호 변경하기

먼저 Windows Terminal이나 PowerShell을 관리자 권한으로 실행해주세요.

원격 데스크톱의 포트 번호를 변경하려면 다음 두 개의 레지스트리 값을 수정해야합니다.

* HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp
* HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

PowerShell 탭을 열고, 다음 명령어를 실행하면 현재 원격 데스크톱의 포트 번호를 확인할 수 있습니다.

$ Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp' -Name 'PortNumber'

PortNumber   : 3389
...

$ Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'PortNumber'

PortNumber   : 3389
...

3389는 원격 데스크톱에서 사용하는 기본값입니다.

Set-ItemProperty 명령어로 이 값을 변경할 수 있습니다. 예를 들어 11893 포트를 사용하고 싶다면 다음과 같이 실행합니다.

$ Set-ItemProperty 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp' -Name 'PortNumber' -Value '11893'
$ Set-ItemProperty 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'PortNumber' -Value '11893'

다시 포트 번호를 확인하는 Get-ItemProperty 명령어를 실행하면 PortNumber의 값이 11893으로 변경된 것을 확인할 수 있습니다.

$ Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp' -Name 'PortNumber'

PortNumber   : 11893
...

$ Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'PortNumber'

PortNumber   : 11893
...

여기까지 포트 번호를 변경해보았습니다. 이제 새로 설정한 포트를 방화벽에서 허용해주는 작업을 추가적으로 진행해야합니다.

방화벽 설정에서 새로운 원격 데스크톱(RDP) 포트 열여주기

계속해서 관리자 권한으로 실행된 PowerShell에서 진행합니다.

이번에는 다음 두 명령어를 실행해서 11893 TCP/UDP 포트를 개인 네트워크 망에 대해서 허용해주겠습니다. 이 설정을 추가하면 홈 네트워크(같은 공유기로 연결된 네트워크) 내에서 11893 포트로 원격 데스크톱에 접속할 수 있습니다.

$ New-NetFirewallRule -DisplayName "RemoteDesktop 11893 Private TCP" -Direction Inbound -Protocol TCP -LocalPort 11893 -Action Allow -Profile Private
$ New-NetFirewallRule -DisplayName "RemoteDesktop 11893 Private UDP" -Direction Inbound -Protocol TCP -LocalPort 11893 -Action Allow -Profile Private

외부 망에서 접속하기 위한 네트워크 설정이 되어있고 이를 허용하고자 하는 경우 아래와 같이 Profile 값을 Any로 설정한 룰을 추가해줍니다.

$ New-NetFirewallRule -DisplayName "RemoteDesktop 11893 Any TCP" -Direction Inbound -Protocol TCP -LocalPort 11893 -Action Allow -Profile Any
$ New-NetFirewallRule -DisplayName "RemoteDesktop 11893 Any UDP" -Direction Inbound -Protocol TCP -LocalPort 11893 -Action Allow -Profile Any

이걸로 방화벽 설정도 마쳤습니다.

Remote Desktop 서비스 재시작

다음으로 Remote Desktop 서비스를 재시작해야합니다. 다음 명령어를 실행합니다.

$ Restart-Service -Force -DisplayName "Remote Desktop Services"

바로 원격 데스크톱이 재실행됩니다. 이제 원격 데스크톱의 서버를 지정할 때 다음과 같이 포트 번호를 명시해주어야합니다.

윈도우나 맥에서 원격 데스크톱에 접속하는 방법은 다음 글들에서 자세히 소개합니다.

포트 번호를 3389로 원상 복구하는 방법

원격 데스크톱의 포트 번호를 3389로 원복하고 싶다면 다음 명령어들을 차례대로 실행합니다. Set-ItemProperty로 포트 번호를 변경하고, Remove-NetFirewallRule으로 방화벽 규칙을 삭제합니다.

$ Set-ItemProperty 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp' -Name 'PortNumber' -Value '3389'
$ Set-ItemProperty 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'PortNumber' -Value '3389'
$ Remove-NetFirewallRule -DisplayName 'RemoteDesktop 11893 Private TCP'
$ Remove-NetFirewallRule -DisplayName 'RemoteDesktop 11893 Private UDP'

외부 망 접속을 위해 추가 방화벽 설정을 했다면 다음 명령어들도 실행합니다.

$ Remove-NetFirewallRule -DisplayName 'RemoteDesktop 11893 Any TCP'
$ Remove-NetFirewallRule -DisplayName 'RemoteDesktop 11893 Any UDP'
LainyZine은 쿠팡 파트너스 활동에 따른 수수료를 제공받습니다.