IT 활용/데스크탑

윈도우 원격 데스크톱 포트와 컴퓨터명 변경 설정 방법

&+&& 2023. 7. 12. 23:45

윈도우 초기 설치 시에 원격 데스크톱(RDP)은 기본적으로 3389 포트를 사용하도록 설정되어 있고 컴퓨터명은 영문과 숫자를 조합한 난수로 설정되어 있습니다. 보안강화 및 관리 편의성을 위해 이러한 설정을 변경하는 방법을 알아보고 자동 스크립트도 작성해 보겠습니다.

원격 데스크톱 포트 변경해야 하는 이유

원격데스크톱 3389, FTP 21, SMTP 25처럼 기본값들이 정해져 있고 많이 사용되는 포트들을 알려진 포트(well-known port)라고 하며 이러한 포트들은 모두가 알고 있는 값이기 때문에 외부에서 공격할 때 먼저 공격하게 되는 진입점이 됩니다. 그래서 이러한 포트를 임의의 다른 포트로 변경하게 되면 보안상 훨씬 안전한 환경이 됩니다.

직접 입력해서 변경하는 방법

여기에서는 원격 데스크톱 포트와 방화벽, 컴퓨터명 등을 직접 수정하는 방법을 설명합니다.

레지스트리 설정값 변경

원격 데스크톱 포트가 설정되어 있는 레지스트리 값을 변경하는 방법입니다.

레지스트리 편집기를 통한 RDP Port 변경
레지스트리 편집기 화면

  • 실행창(WIN + R)을 열고 regedit를 입력한 후 확인을 클릭하여 레지스트리 편집기를 실행합니다.
  • 레지스트리 편집기에서 [컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]에서 PortNumber를 찾아서 더블클릭해 줍니다.
  • 단위를 10진수로 변경하고 기본값이 3389를 원하는 값으로 변경해 줍니다.

방화벽 포트 추가

기본 방화벽 설정에서는 3389 포트만 허용 설정이 되어 있습니다. 변경한 원격 데스크톱 포트를 외부에서 접근하기 위해서는 방화벽에 포트를 등록해서 방화벽 규칙을 생성해 주어야 합니다.

  • 실행창(WIN+R)을 열고 wf.msc를 입력한 후 확인을 클릭하여 윈도우 방화벽 설정을 열어 줍니다.

윈도우 방화벽 인바운드 규칙 - 새규칙 생성
윈도우 방화벽 화면

  • 좌측 메뉴에서 인바운드 규칙을 선택하고 우측에서 새 규칙을 클릭해 줍니다.
  • 새 인바운드 규칙 마법에서 포트 > 다음 > TCP > 특정 로컬 포트에 앞에서 레지스트리 PortNumber에 설정한 포트를 입력해 줍니다.
  • 연결 허용을 선택하고 다음을 클릭해 줍니다.
  • 프로필 설정 항목에서 설정을 적용할 네트워크 프로필에 체크를 해줍니다.
  • 방화벽 규칙 이름을 입력하고 마침을 클릭해 줍니다. 방화벽 규칙 이름은 나중에 구분하기 쉽게 [원격데스크톱 + port값]처럼 입력해 주면 됩니다. 

원격 데스크톱 서비스 재시작

원격 데스크톱 포트 변경 후에는 원격 데스크톱 서비스를 재시작해야 변경된 포트로 원격 데스크톱에 접속할 수 있습니다.

서비스에서 원격 데스크톱 서비스 재시작
윈도우 서비스 화면

  • 실행창(WIN+R)을 열고 services.msc를 입력한 후 확인을 클릭하여 서비스 관리자를 열어 줍니다.
  • Remote Desktop Services 항목을 찾아서 서비스를 다시 시작해 줍니다.

컴퓨터명(호스트네임) 변경

  • 시작 > 설정 > 시스템 > 정보를 선택해서 시스템 정보를 열어줍니다.
  • 이 PC 이름 바꾸기를 선택해서 새 이름을 입력해서 변경해 줍니다. 변경된 PC 이름은 다시 시작 후에 적용됩니다.
  • 윈도우 초기 설치 시에는 DESKTOP에 영문 알파벳과 숫자를 합한 난수가 합쳐서 PC 이름이 만들어지는데 이를 관리하기에 편리한 이름으로 설정해 주면 됩니다.

 

스크립트로 자동 변경하는 방법

앞에서 살펴본 수동 적용 방법들을 자동으로 적용할 수 있는 스크립트를 작성해 보겠습니다. 글에서는 핵심 기능에 대한 코드만 작성하도록 하겠습니다. 아래 첨부 파일에는 입력값을 포함한 전체 처리 내용이 포함됨니다.

원격 데스크톱 포트를 변경하는 스크립트

입력받은 port 값으로 레지스트리에서 PortNumber를 변경하는 스크립트입니다.

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d %port% /f

방화벽에 새로운 규칙을 추가하는 스크립트

입력받은 port 값으로 방화벽 정책을 추가해 줍니다.

netsh advfirewall firewall add rule name="Remote Desktop %port%" description="Remote Desktop %port% enable" dir=in action=allow protocol=tcp localport=%port%

Remote Desktop Service 재시작

net stop /y TermService
net start /y TermService

컴퓨터명 변경

컴퓨터명으로 설정할 값을 입력받고 해당 값으로 COMPUTERNAME을 덮어 씁니다.

set /p ren=컴퓨터명 입력 : 
wmic ComputerSystem Where Name="%COMPUTERNAME%" Call Rename Name="%ren%"
powershell.exe -command write-host -fore Cyan [컴퓨터명 설정]이 완료 되었습니다.

스크립트 파일을 통한 자동 변경

다음 첨부 파일에서는 원격 데스크톱 포트 변경과 컴퓨터명 설정을 선택을 통해 적용할 수 있도록 작성되어 있습니다. 정상적인 실행을 위해서는 관리자 권한으로 실행되어야 합니다.

RDP_HOSTNAME.bat
0.00MB
실행 메뉴 표시 1번 RDP 포트 변경 2번 컴퓨터명 변경 3번 종료
스크립트 bat 파일 실행 화면

1번은 원격 데스크톱 포트, 방화벽, 원격 데스크톱 서비스 재시작 작업이 이루어집니다.

2번은 컴퓨터명을 변경해 줍니다.

3번은 작업을 종료합니다.

혹시 CMD 창에서 한글이 깨지는 경우에는 chcp 65001을 실행 후에 실행해 주시면 한글이 정상적으로 표시됩니다.