본문 바로가기

Server Story....

[Windows Server 2022] RDP 원격 데스크톱 포트 변경 및 방화벽 설정 완벽 가이드 (보안 강화)

반응형

1. 서론: 왜 기본 포트 3389를 그대로 쓰면 위험할까?

Windows Server를 처음 설치하면 외부에서 접속하기 위해 **원격 데스크톱(Remote Desktop Protocol, RDP)**을 활성화하게 됩니다. 이때 기본적으로 할당되는 포트 번호가 바로 3389입니다.

문제는 전 세계의 해커들이 자동화된 봇(Bot)을 이용해 전 세계 IP의 3389번 포트를 24시간 내내 스캔하고 있다는 점입니다. 이를 **'무차별 대입 공격(Brute-force Attack)'**이라고 하며, 관리자 계정의 비밀번호가 뚫리는 순간 서버의 모든 권한을 넘겨주게 됩니다. 따라서 포트 번호를 자신만이 아는 번호로 변경하는 것은 '선택'이 아닌 **'필수 보안 수칙'**입니다.


2. RDP 포트 변경 전 준비사항

작업 도중 연결이 끊기면 서버에 다시 접속하지 못할 수 있습니다. 다음 사항을 먼저 확인하세요.

  • 관리자 권한: 레지스트리를 수정해야 하므로 Administrator 권한이 필요합니다.
  • 포트 번호 선정: 보통 1024~65535 사이의 번호를 권장하며, 다른 서비스(HTTP 80, MSSQL 1433 등)와 겹치지 않는 번호를 고르세요.
  • 백업: 레지스트리 수정 전 해당 항목을 내보내기(Export) 하여 백업해두는 것이 안전합니다.

3. 단계별 상세 가이드 (GUI 방식)

3-1. 레지스트리 편집기 설정

  1. 키보드의 **Win + R**을 누르고 regedit을 입력하여 실행합니다.
  2. 왼쪽 트리 메뉴에서 아래 경로로 정확히 이동합니다.
  3. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  4. 오른쪽 목록에서 PortNumber 항목을 찾아 더블 클릭합니다.
  5. 편집 창에서 단위를 **[10진수(Decimal)]**로 변경합니다. (매우 중요!)
  6. 값 데이터에 원하는 포트 번호(예: 58293)를 입력하고 확인을 누릅니다.

3-2. Windows 방화벽 규칙 추가

포트만 바꾼다고 끝이 아닙니다. 새로운 포트로 들어오는 신호를 방화벽이 막지 않도록 길을 열어줘야 합니다.

  1. **[제어판] - [시스템 및 보안] - [Windows 방화벽]**으로 이동합니다.
  2. **[고급 설정]**을 클릭하여 '고급 보안이 설정된 Windows 방화벽' 창을 엽니다.
  3. **[인바운드 규칙]**에서 **[새 규칙...]**을 선택합니다.
  4. 규칙 종류는 [포트], 프로토콜은 [TCP], 특정 로컬 포트에는 아까 설정한 번호(예: 58293)를 적습니다.
  5. **[연결 허용]**을 선택하고 규칙 이름을 RDP_New_Port로 지정하여 마칩니다.

4. 파워쉘(PowerShell)을 이용한 자동화 스크립트 (중급자용)

수동 설정이 복잡하다면, 아래 스크립트를 관리자 권한의 파워쉘에서 실행하세요. 레지스트리 변경부터 방화벽 등록까지 한 번에 처리됩니다.

PowerShell
 
# 1. 설정할 포트 번호 변수 지정
$newPort = 58293

# 2. 레지스트리 포트 값 수정
Write-Host "레지스트리 값을 수정 중입니다..." -ForegroundColor Cyan
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value $newPort

# 3. 신규 포트에 대한 인바운드 방화벽 규칙 생성
Write-Host "방화벽 규칙을 추가합니다..." -ForegroundColor Cyan
New-NetFirewallRule -DisplayName "RDP Port $newPort" -Direction Inbound -LocalPort $newPort -Protocol TCP -Action Allow

# 4. 설정 적용을 위한 원격 데스크톱 서비스 재시작
Write-Host "서비스를 재시작합니다. 연결이 잠시 끊길 수 있습니다." -ForegroundColor Yellow
Restart-Service -Name TermService -Force

Write-Host "모든 설정이 완료되었습니다!" -ForegroundColor Green

5. 설정 완료 후 접속 테스트 방법

설정을 마친 후에는 반드시 외부 PC에서 접속이 되는지 확인해야 합니다.

  • 접속 주소 입력 방식: IP주소:포트번호 (예: 123.123.123.123:58293)
  • 만약 접속이 안 된다면?
    1. 서버 내부 방화벽 설정 확인
    2. (클라우드 사용 시) AWS 보안 그룹이나 Azure 네트워크 보안 그룹(NSG) 설정 확인
    3. ISP(인터넷 회선 업체)에서 해당 포트를 막고 있는지 확인

6. 결론: 보안은 작은 실천에서 시작됩니다

RDP 포트 변경은 서버 보안의 '완성'이 아니라 '시작'입니다. 이 외에도 강력한 암호 정책, 2단계 인증(MFA) 도입, IP 접속 제한 등을 병행한다면 여러분의 Windows Server를 더욱 안전하게 지킬 수 있습니다.

반응형