Ubah nomor port RDP 3389 untuk Remote Desktop pada Windows 10 / Windows Server 2016 pada Windows

Secara default pada semua sistem operasi Windows untuk koneksi protokol RDP (Protokol Desktop Jarak Jauh) menggunakan port TCP 3389.

Jika komputer Anda terhubung langsung ke Internet (misalnya, server VDS), atau Anda mengkonfigurasi port 3389 / RDP untuk dialihkan ke komputer lokal atau server Windows pada router perbatasan Anda, Anda dapat mengubah port RDP standar 3389 ke yang lain. Dengan mengubah nomor port RDP untuk koneksi, Anda dapat menyembunyikan server RDP dari pemindai port, mengurangi kemungkinan mengeksploitasi kerentanan RDP (kerentanan kritis terakhir dalam RDP BlueKeep dijelaskan dalam CVE-2019-0708), mengurangi jumlah upaya untuk menebak kata sandi dengan RDP dari jarak jauh (jangan lupa secara berkala menganalisis log koneksi RDP), SYN dan jenis serangan lainnya (terutama ketika NLA dinonaktifkan).

Anda dapat menggunakan penggantian port RDP standar ketika di belakang router dengan satu alamat IP putih ada beberapa komputer Windows yang Anda butuhkan untuk menyediakan akses RDP eksternal. Di setiap komputer, Anda dapat mengonfigurasikan port RDP unik dan mengkonfigurasi port forwarding pada router ke komputer lokal (tergantung pada nomor port RDP, sesi diarahkan ke salah satu PC internal).

Saat memilih nomor port non-standar untuk RDP, perhatikan bahwa disarankan untuk tidak menggunakan nomor port dalam rentang 1 hingga 1023 (port yang diketahui) dan port dinamis dari rentang RPC (dari 49152 hingga 65535).

Mari kita coba ubah port tempat layanan Remote Desktop menunggu koneksi 1350. Untuk melakukan ini:

  1. Buka editor registri dan pergi ke cabang HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp;
  2. Temukan DWORD pengaturan registri bernama Portnumber. Parameter ini menentukan port tempat layanan Remote Desktop menunggu koneksi;
  3. Ubah nilai port ini. Saya mengubah port RDP menjadi 1350 dalam nilai desimal (Desiamal); Anda dapat mengubah pengaturan registri menggunakan PowerShell: Set-ItemProperty -Path "HKLM: \ System \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp \" -Name PortNumber -Value 1350
  4. Jika Windows Firewall diaktifkan di komputer Anda, Anda harus membuat aturan baru yang memungkinkan koneksi masuk ke port RDP baru (jika Anda mengkonfigurasi ulang server jauh melalui RDP tanpa membuat aturan di firewall, Anda akan kehilangan akses ke server). Anda dapat membuat aturan masuk yang diizinkan untuk port RDP TCP / UDP baru secara manual dari konsol 'Windows Defender Firewall' (firewall.cpl) atau menggunakan perintah PowerShell: New-NetFirewallRule -DisplayName "New RDP Port 1350" -Input Inbound -LocalPort 1350 -Protocol TCP -Action memungkinkan Dan: New-NetFirewallRule -DisplayName "New RDP Port 1350" -Input Inbound -LocalPort 1350 -Protocol UDP -Aksi memungkinkan
  5. Nyalakan kembali komputer atau mulai kembali Layanan Desktop Jarak Jauh dengan perintah: layanan berhenti bersih & layanan mulai bersih
  6. Sekarang, untuk terhubung ke komputer Windows ini melalui RDP, di klien mstsc.exe, Anda perlu menentukan port RDP usus besar koneksi melalui titik dua sebagai berikut: Your_Computer_Name: 1350 atau dengan alamat IP 192.168.1.100:1350 atau dari baris perintah: mstsc.exe / v 192.168.1.100:1350 Jika Anda menggunakan RDPMan RDP Connection Manager untuk mengelola beberapa koneksi RDP, Anda dapat menentukan nomor port RDP untuk koneksi yang Anda tentukan pada tab "Pengaturan Koneksi".
  7. Akibatnya, Anda akan berhasil terhubung ke desktop komputer jarak jauh menggunakan nomor port RDP baru (menggunakan perintah nenstat -na | Temukan "DAFTAR" pastikan layanan RDP sekarang mendengarkan pada port yang berbeda).
Perhatian: Jika Anda mengubah nomor port RDP, mungkin ada masalah dengan pengoperasian Remote Assistance dan membayangi koneksi RDP di Windows 10, serta membayangi di Windows Server.

Skrip kode PowerShell lengkap untuk mengubah port RDP, membuat aturan di firewall dan memulai kembali layanan RDP di port baru mungkin terlihat seperti ini:

Write-host "Masukkan nomor port RDP baru:" -ForegroundColor Yellow -NoNewline; $ RDPPort = Read-Host
Set-ItemProperty -Path "HKLM: \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-TCP \" -Nama PortNumber -Nilai $ RDPPort
New-NetFirewallRule -DisplayName "Port RDP Baru $ RDPPort" -Input Inbound -LocalPort $ RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "Port RDP Baru $ RDPPort" -Input Inbound -LocalPort $ RDPPort -Protocol UDP -Action Allow
Restart-Layanan termservice -force
Host-host "Nomor port RDP diubah menjadi $ RDPPort" -ForegroundColor Magenta

Anda dapat mengubah nomor RDP dari jarak jauh pada banyak komputer dalam domain AD (ditentukan oleh OU) menggunakan Invoke-Command dan Get-ADComputer:

Write-host "Masukkan nomor port RDP baru:" -ForegroundColor Yellow -NoNewline; $ RDPPort = Read-Host
$ PCs = Dapatkan-ADComputer -Filter * -SearchBase "CN = DMZ, CN = Komputer, DC = winitpro, DC = en"
Foreach ($ PC dalam $ PCs)
Invoke-Command -ComputerName $ PC.Name -ScriptBlock
param ($ RDPPort)
Set-ItemProperty -Path "HKLM: \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-TCP \" -Nama PortNumber -Nilai $ RDPPort
New-NetFirewallRule -DisplayName "Port RDP Baru $ RDPPort" -Input Inbound -LocalPort $ RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "Port RDP Baru $ RDPPort" -Input Inbound -LocalPort $ RDPPort -Protocol TCP -Action Allow
Restart-Layanan termservice -force

Instruksi ini untuk mengubah port RDP standar cocok untuk semua versi Windows, dimulai dengan Windows XP (Windows Server 2003) dan berakhir dengan Windows 10 (Windows Server 2019).