서버를 운영하는 경우 널리 알려진 포트를 열어두고 사용하게 되면 해킹 시도 등에 타겟이 될 수 있습니다.
일반적으로 "나같은 사람의 컴퓨터를 해킹하겠어" 라는 식으로 생각할 수 있지만 실제 로그를 확인 해 보면 상당히 많은 수의 접속 시도가 발생하는 것을 확인할 수 있습니다.
위 내용 만으로도 특별한 대상을 노리는 것 만은 아니란 것을 알 수 있으며, 서버와 같이 항시 켜져 있지 않은 일반적인 PC 사용 패턴을 가진 사용자의 경우에는 이런 부분에서 조금은 자유로울 수 있지만 이 또한 장담할 수 없습니다.
원격 데스크톱 프로토콜에서 사용하는 수신 포트는 기본값이 3389 로 되어 있어 널리 알려져 있습니다. 이에 외부 접속을 허용한 경우에 이런 부분에 대한 경각심을 가질 필요가 있습니다.
원격 데스크톱의 포트는 레지스트리 편집기를 통해 수신 포트를 수정하고 새로운 방화벽 규칙을 추가 후 원격 데스크톱 서비스를 다시 시작 하는 과정으로 변경할 수 있습니다.
그래서 오늘은 윈도우 10에서 원격 데스크톱 기본 수신 포트인 3389 포트를 다른 값으로 변경하는 방법에 대해서 알아 봅니다.
튜토리얼 환경: 윈도우 10 pro (빌드: 19044.1889)
수신 포트 변경
레지스트리 편집기를 실행 후 두 개의 경로에 위치한 포트를 찾아 원하는 값으로 수정해야 합니다.
중요: 레지스트리 의 수정 과 편집은 운영체제의 주요 정보를 변형 하는 것으로 만약 잘못 진행 할 경우 시스템이 손상될 가능 성이 있습니다. 작업 전에 레지스트리를 백업 하거나 윈도우 시스템을 백업 하길 권장 드립니다.
레지스트리 편집기 실행
- 실행 (단축키 : Win + R ) 도구를 활성화 합니다. 처음 사용 하는 경우 실행창 기본 사용 방법 에서 추가적인 내용을 확인 할 수 있습니다.
- 열기(O): 옆 텍스트 필드에
regedit
이라고 입력 후 확인 버튼을 클릭 하거나 Enter 키를 눌러 줍니다.
- 사용 하는 윈도우 설정에 따라 '이 앱이 디바이스를 변경할 수 있도록 허용하시겠어요?' 라는 제목의 사용자 계정 컨트롤 패널이 보여질 수 있습니다. 안내하는 내용을 확인 후 실행을 계속 진행 하고 싶다면 예 버튼을 클릭합니다. 만약 사용자 계정 컨트롤이 매번 생성 되는 것이 불편하다면 사용자 계정 컨트롤을 비활성화하는 방법을 확인하세요.
TCP 포트 수정
먼저 tcp 키의 포트를 원하는 값으로 수정합니다.
- 아래 올려둔 경로를 통해 tcp로 이동 합니다. '레지스트리 편집기' 상단 주소창 A 에 경로를 그대로 붙여넣기 ( Ctrl + V ) 하면 빠르게 이동 할 수 있습니다.
컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp
- tcp 아래 위치한 값들 중에서
PortNumber
를 찾아 수정을 위해 마우스로 두 번 클릭 하거나 컨텍스트 메뉴1의 수정(M)메뉴를 클릭합니다.
- DWORD(32비트)값 편집 창이 실행 되면 값 데이터 필드의 값이 d3d로 표기 되어 있습니다.
- 편집 창 오른쪽에 위치한 단위를 10진수(D) 로 전환 하면 값 데이터(V) 필드 의 값이
3389
로 변경 되는데 여기서 다시 원하는 값으로 지정 후 확인 버튼을 눌러 줍니다. 설명에서는 3030으로 진행합니다.
RDP-Tcp 포트 수정
다음으로 RDP-Tcp 키의 포트를 원하는 값으로 수정합니다.
- 아래 올려둔 경로를 통해 RDP-Tcp로 이동 합니다.
컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
- RDP-Tcp 아래 위치한 값들 중에서
PortNumber
를 찾아 수정을 위해 마우스로 두 번 클릭 하거나 컨텍스트 메뉴1의 수정(M)메뉴를 클릭합니다.
- DWORD(32비트)값 편집 창이 실행 되면 이전 단계와 동일하게 오른쪽에 위치한 단위를 10진수(D) 로 전환 한 뒤 값 데이터(V) 필드 의 값을
3389
에서 원하는 값으로 지정 후 확인 버튼을 눌러 줍니다. 설명에서는 3030으로 진행합니다.
참고: 수신 포트를 변경 후 외부에서 접속을 해야한다면 변경한 포트로 다시 포트 포워딩을 진행해야 합니다.
수신 포트 확인(선택)
위 과정으로 변경 된 원격 데스크톱 수신 포트를 확인 해 보도록 하겠습니다. 이 과정은 단순하게 이해를 돕기 위한 과정이니 불필요하다면 다음 단계로 이동합니다.
파워쉘 관리자 권한 실행
- 작업 표시줄에서 윈도우 로고 버튼을 마우스 오른쪽 버튼으로 클릭하면 퀵 링크 메뉴라고 하는 메뉴를 확장할 수 있습니다. 키보드 명령어인 Win + X 를 사용 해도 동일 퀵링크 메뉴를 실행 할 수 있습니다.
- 메뉴에서 Windows PowerShell(관리자)(A) 를 선택 합니다.
- 다시 사용자 계정 컨트롤 패널이 보여질 수 있습니다. 안내하는 내용을 확인 후 실행을 계속 진행 하고 싶다면 예 버튼을 클릭합니다.
포트 확인
Get-ItemProperty 명령으로 해당 레지스트리 경로의 값을 확인할 수 있습니다.
- 파워쉘 콘솔에서 아래 명령어를 직접 입력하면 tcp 의 앞서 지정한 포트 정보를 확인할 수 있습니다. 명령어를 붙여넣기 하고 싶은 경우 아래 명령을 복사 ( Ctrl + C ) 후 마우스 오른쪽 버튼으로 입력 줄을 클릭합니다.
Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp' -Name 'PortNumber'
- 이어서 아래 명령을 작성하면 RDP-Tcp의 포트 정보를 확인할 수 있습니다.
Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'PortNumber'
방화벽 설정
제어판을 통해 Windows Defender 방화벽의 설정을 수정합니다.
주의: 방화벽 설정으로 기존 규칙을 제외하면 서버에 대한 액세스 권한을 잃게 되어 더 이상 기본 포트로 원격 연결이 불가능 합니다. 그렇기 때문에 원격으로 접속 중인 상황이라면 모든 작업을 마무리 한 뒤 규칙을 해제합니다.
제어판 실행
- 윈도우에서 작업 표시줄 왼쪽 에 위치한 검색어 입력 필드에
제어판
이라고 입력합니다. - 검색 결과의 가장 정확 항목에 제어판이 검색되면 우측에 위치한 하위 실행 옵션에서 열기 를 클릭합니다. 검색 필드가 보이지 않는 경우 Win + S 또는 Win + Q 를 사용하면 동일하게 검색 창을 실행 할 수 있습니다.
- 시스템 및 보안 카테고리로 이동합니다. 메뉴 구성이 위와 다르다면 오른쪽 상단에 위치한 보기 기준: A 을 범주로 수정합니다.
기존 규칙 해제
제어판의 시스템 및 보안 카테고리 이동 후 기존에 허용 된 방화벽 규칙은 더이상 사용하지 않게 되었으니 해제 해 주어야 합니다.
- Windows Defender 방화벽의 Windows 방화벽에서 앱 허용 링크를 클릭합니다.
- 허용되는 앱 페이지로 이동 되면 현재 통신이 허용 된 앱들을 확인 할 수 있는데 이곳에서 원격 데스크톱의 체크 박스에 체크가 되어있는지 확인 후 체크 되어 있다면 체크를 해제 하기 위해 설정 변경(N) 버튼을 클릭합니다.
- 원격 데스크톱 의 체크 박스에서 체크를 해제 후 확인 버튼을 클릭합니다.
새 규칙 추가
기존 규칙을 해제 했다면 이제 새로운 규칙을 생성해야 합니다.
방화벽 고급 설정 이동
- 다시 제어판의 시스템 및 보안 페이지로 이동 후 Windows Defender 방화벽으로 이동합니다.
- 이동 후 좌측 사이드에 위치한 고급 설정 메뉴를 클릭합니다.
새 인바운드 규칙 생성
방화벽 고급 설정 이동 후 새 인바운드 규칙 마법사를 통해 새로운 방화벽 규칙을 추가합니다.
- 고급 보안이 포함된 Windows Defender 방화벽 이라는 제목의 패널이 추가로 활성화됩니다. 여기서 새로운 규칙을 만들기 위해 인바운드 규칙을 마우스 오른쪽 버튼으로 클릭 해 컨텍스트 메뉴를 열고 메뉴에서 새 규칙(N)을 선택합니다.
- 새 인바운드 규칙 마법사라는 패널이 추가로 실행됩니다. 첫번째 단계인 규칙 종류에서 포트(O)의 라디오에 체크 후 다음(N) 버튼을 클릭 해 단계를 진행합니다.
- 프로토콜 및 포트 단계에서 특정 로컬 포트(S): 라디오에 체크 해 입력 필드가 활성화되면 앞서 지정한 포트를 입력 한 뒤 다음(N) 버튼을 클릭 해 다음 단계로 진행합니다.
- 작업 단계에서 연결 허용(A) 옵션의 라디오에 체크 후 다음(N) 버튼을 클릭 해 단계를 진행합니다.
- 프로필 단계에서는 기본적으로 모두 체크 되어 있는데 그대로 두고 다음(N) 버튼을 클릭 해 다음 단계로 이동합니다.
- 이름 단계에서는 식별을 위한 새로운 규칙의 이름을 이름(N)과 설명(옵션)(D) 필드에 적절하게 채워준 다음 마침(F) 버튼을 눌러 마법사를 종료합니다.
원격 데스크톱 서비스 재시작
위 과정 진행 후 Windows 시스템을 재부팅 하거나 다음과 같이 원격 데스크톱 서비스를 다시 시작합니다.
- 실행 (단축키 : Win + R ) 도구를 활성화 한 뒤 열기(O): 옆 텍스트 필드에
services.msc
라고 입력 후 확인 버튼을 클릭 하거나 Enter 키를 눌러 줍니다.
- 서비스 패널이 실행되면 우측 이름 열에서 다시 시작해야하는 서비스 항목인 Remote Desktop Services를 찾아 마우스 오른쪽 버튼으로 클릭 해 메뉴를 열고 다시 시작(E)을 선택합니다.
- 위와 같은 로딩이 아주 짧게 진행 되면 원격 데스크톱 서비스가 정상적으로 재시작 된 것입니다.
원격 데스크톱 연결
모든 작업이 완료되었다면 이제 원격 데스크톱 연결 도구 등을 이용해 지정한 포트로 접속할 수 있습니다. 기본 포트에서는 별도의 포트를 추가하지 않아도 되었지만 포트를 변경했다면 위와 같이 포트를 추가해 주어야 합니다.
마무리
이렇게, 윈도우 10에서 원격 데스크톱 기본 수신 포트인 3389 포트를 다른 값으로 변경하는 방법에 대해 알아 보았습니다.
설명을 최대한 상세하게 진행하다 보니 내용이 길어진 감이 없지 않지만 실제 과정은 크게 복잡하지 않기 때문에 중요한 자료들이 많고 외부에서 접속이 잦은 경우라면 포트 변경을 고려 해 보시길 바랍니다.