서버 운영 관리 [ Tip ]

Windows 원격 데스크톱 연결(RDP) 포트 변경 방법

가상, 리얼서버에서 기본적으로 동작되는 RDP 포트인 3389번은 언제나 여러 공격자들로부터 접속 시도가 끊이지 않습니다. 이러한 시도는 이벤트 뷰어의 보안 로그를 통해 확인 할 수 있고
서버를 운영한다면 가급적 해당 포트는 변경해서 사용하는것이 권장되며 본 매뉴얼에서는 RDP 포트 변경에 관해 안내합니다.

 

※ 참고사항

1) 이 매뉴얼은 "PowerShell"을 통해 명령어로 RDP의 포트를 변경하는 내용을 설명합니다. "검색" > "PowerShell" 오른쪽 클릭 후 "관리자 권한으로 실행"을 해주셔야 합니다.
2) 본 내용을 따라하시면 레지스트리, 고급 방화벽이 설정되며 RDP가 재시작 된 후 변경 된 포트로 재접속을 진행해야 합니다.
3) 변경 후 접속이 안될 경우 서버 내부의 방화벽 또는 웹방화벽(ELCAP)의 설정을 확인 후 접속을 허용할수 있도록 설정을 변경해야 합니다.
4) 가급적 포트 변경 작업 시 중요한 작업은 진행하지 않는 것을 권장하며 포트 설정에 사용할 변수는 꼭 잊지 말고 등록하셔야합니다.

 

 

1. RDP 포트 확인

기존에 설정된 RDP의 포트를 확인 합니다.

PS C:\Users\Administrator> netstat -anp tcp | findstr "3389"
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING

 

2. 포트 설정에 사용할 변수 지정

아래의 newrdpport는 포트를 일일히 입력하지 않기 위해 변수로 사용되며 원하는 포트 숫자를 입력한 아래의 내용부터는 복사 후 붙여넣기를 진행하시면 됩니다.

설명 : 포트를 설정하기 위한 변수명 newrdpport ="원하는 포트 입력"
PS C:\Users\Administrator> $newrdpport="2023"

 

3. 레지스트리 변경

PortNumber의 값인 3389에서 2번의 변수에서 설정한 포트의 숫자로 변경됩니다. 

PS C:\Users\Administrator> reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d $newrdpport /f
작업을 완료했습니다.

 

4. 방화벽 설정

새로운 방화벽 룰인 NEW-RDP-PORT에 2번의 변수에서 설정한 포트가 등록되어 생성됩니다.

PS C:\Users\Administrator> New-NetFirewallRule -DisplayName 'NEW-RDP-PORT' -Profile 'Domain,Public,Private' -Direction Inbound -Action Allow -Protocol TCP -LocalPort $newrdpport


Name : {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
DisplayName : NEW-RDP-PORT
Description :
DisplayGroup :
Group :
Enabled : True
Profile : Domain, Private, Public
Platform : {}
Direction : Inbound
Action : Allow
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : 저장소에서 규칙을 구문 분석했습니다. (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
RemoteDynamicKeywordAddresses : {}


 

5.RDP 서비스 재시작

서비스 재시작 시 RDP 연결이 해제되며 정상적으로 작업이 완료됐다면 변경된 포트로 접속이 가능합니다.

PS C:\Users\Administrator> Restart-Service -Force -DisplayName "Remote Desktop Services"
경고: 'Remote Desktop Services(TermService)' 서비스가 중지될 때까지 기다리는 중...
경고: 'Remote Desktop Services(TermService)' 서비스가 중지될 때까지 기다리는 중...

 

6. 변경된 포트 확인

재접속후 정상적으로 값이 변경되었는지 확인해봅니다.

PS C:\Users\Administrator> netstat -anp tcp | findstr "$newrdpport"
TCP 0.0.0.0:2023 0.0.0.0:0 LISTENING