서버 운영 관리 [ 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