Измените порт удаленного рабочего стола (RDP) по умолчанию 3389 в Windows
Во всех операционных системах Windows портом по умолчанию, назначенным для RDP (протокол удаленного рабочего стола), является TCP 3389. После включения RDP в Windows
TermService(Службы удаленных рабочих столов) начинают прослушивать порт 3389. В этой статье мы покажем вам, как изменить номер порта RDP по умолчанию в настольных выпусках Windows (7/8/10/11) и на Windows Server с помощью реестра. Редактор и PowerShell.
Обратите внимание, что современные версии Windows также используют UDP с тем же номером порта (3389) для подключений к удаленному рабочему столу в дополнение к TCP.
Вы можете изменить номер порта RDP по умолчанию в Windows с 3389 на любой другой. Чаще всего это используется, когда вам нужно скрыть свой хост RDP/RDS от сканеров портов, которые ищут в сети хосты Windows с открытым портом RDP TCP/3389.
Смена порта RDP снизит вероятность использования RDP-уязвимостей (последняя критическая уязвимость в RDP BlueKeep описана в CVE-2019-0708), уменьшит количество брутфорсов RDP (не забывайте регулярно анализировать логи RDP-соединений) , SYN и другие типы атак при отключенном NLA. Чаще всего порт RDP меняют на компьютерах с прямым подключением к Интернету (VPS/VDS) или в сетях, где пограничный маршрутизатор перенаправляет порт 3389/RDP на хост Windows в вашей локальной сети.
Несмотря на изменение номера порта, открывать порт RDP на вашем хосте для доступа в Интернет небезопасно. Сканеры портов позволяют злоумышленнику обнаружить прослушиватель RDP на новом порту (по сигнатуре). Если вы хотите открыть RDP-доступ к компьютеру в вашей сети, лучше использовать VPN, RD Web Access, RDS Gateway и другие инструменты безопасного подключения.
При выборе нестандартного RDP-порта обратите внимание, что не рекомендуется использовать порты в диапазоне
1-1023(известные порты). Используйте динамический порт в диапазоне портов RPC (
49152 to 65535) или любой порт в диапазоне
1024 to 49151который не используется другой службой или приложением.
Как изменить порт удаленного рабочего стола в Windows?
В нашем примере мы изменим номер порта, который прослушивает служба удаленного рабочего стола, на 1350. Для этого:
Откройте редактор реестра (
regedit.exe) и перейдите к ключу реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStation\RDP-Tcp;
Найдите параметр DWORD с именем PortNumber. Этот параметр показывает порт, который прослушивает служба удаленного рабочего стола. Значение по умолчанию — 3389 (десятичное число);
-
Измените значение этого параметра. Я изменил порт RDP на 1350 (десятичный);
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" -Name PortNumber -Value 1350 Если на вашем компьютере включен брандмауэр Windows, вам придется создать новое правило, которое разрешает входящие подключения к новому порту RDP. Если вы перенастраиваете удаленный хост Windows через RDP, убедитесь, что вы создали разрешающие правила в брандмауэре перед перезапуском TermService, в противном случае вы потеряете доступ к серверу;
Вы можете создать разрешающее входящие правила для нового порта TCP/UDP RDP вручную в консоли брандмауэра Защитника Windows (
firewall.cpl) или с помощью командлетов PowerShell из модуля NetSecurity:
New-NetFirewallRule -DisplayName "NewRDPPort-TCP-In" -Direction Inbound -LocalPort 1350 -Protocol TCP -Action allow New-NetFirewallRule -DisplayName "NewRDPPort-UDP-In" -Direction Inbound -LocalPort 1350 -Protocol UDP -Action allowПерезагрузите компьютер или перезапустите службу удаленного рабочего стола с помощью этой команды:
net stop termservice & net start termserviceЧтобы подключиться к этому хосту Windows через удаленный рабочий стол, вам необходимо указать новый порт подключения RDP в вашем клиенте mstsc.exe, используя двоеточие следующим образом:
RDPComputerName:1350или по IP-адресу:
192.168.1.10:1350или из командной строки:
mstsc.exe /v 192.168.1.10:1350После этого вы успешно подключитесь к удаленному рабочему столу компьютера, используя новый порт RDP. Вы можете использовать
netstat -na | Find “LIST”команду, чтобы убедиться, что ваша служба удаленных рабочих столов прослушивает новый порт.
Обратите внимание, что номер порта UDP RDP также автоматически изменился на 1350 (вы можете проверить это с помощью инструмента TCPView).
Используйте команду Test-NetConnection, чтобы убедиться, что порт RDP по умолчанию 3389 теперь закрыт (
TcpTestSucceeded: False):
Test-NetConnection 192.168.3.102 -port 3389 |select TcpTestSucceededТеперь вам нужно использовать новый порт 1350 для RDP-соединения.
Примечание. Если вы измените номер порта прослушивания RDP по умолчанию, у вас могут возникнуть проблемы с использованием удаленного помощника, теневыми соединениями RDP в Windows 10, а также теневым копированием RDS на Windows Server.
Если вы хотите изменить номер порта RDP на компьютерах домена, вы можете использовать функции групповой политики. Создайте новый объект групповой политики, который будет развертывать параметр реестра PortNumber с новым номером порта RDP на компьютерах домена.
Измените номер порта прослушивания RDP с помощью PowerShell
Полный сценарий PowerShell для изменения номера порта RDP, создания правила брандмауэра и перезапуска службы удаленного рабочего стола может выглядеть следующим образом:
Write-host "Specify the number of your new RDP port: " -ForegroundColor Yellow -NoNewline;$RDPPort = Read-Host
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value $RDPPort
New-NetFirewallRule -DisplayName "NewRDPPort-TCP-In-$RDPPort" -Direction Inbound -LocalPort $RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "NewRDPPort-UDP-In-$RDPPort" -Direction Inbound -LocalPort $RDPPort -Protocol UDP -Action Allow
Restart-Service termservice -force
Write-host "The number of the RDP port has been changed to $RDPPort " -ForegroundColor MagentaВы можете изменить номер порта RDP на удаленном компьютере. Для этого вам необходимо включить WinRM на удаленном компьютере, а затем использовать командлет Invoke-Command для подключения к компьютеру:
Invoke-Command -ComputerName wksname112 -ScriptBlock {Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value 1350}Если вам нужно удаленно изменить номер RDP на нескольких компьютерах вашего домена AD (в конкретном подразделении), используйте следующий скрипт (получить список компьютеров в подразделении можно с помощью командлета Get-ADComputer):
Write-host "Specify the number of your new RDP port: " -ForegroundColor Yellow -NoNewline;$RDPPort = Read-Host
$PCs = Get-ADComputer -Filter * -SearchBase "CN=IT,CN=Computers,CN=NY,DC=active-directory,DC=com"
Foreach ($PC in $PCs) {
Invoke-Command -ComputerName $PC.Name -ScriptBlock {
param ($RDPPort)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value $RDPPort
New-NetFirewallRule -DisplayName "NewRDPPort-TCP-In-$RDPPort" -Direction Inbound -LocalPort $RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "NewRDPPort-UDP-In-$RDPPort" -Direction Inbound -LocalPort $RDPPort -Protocol TCP -Action Allow
Restart-Service termservice -force
}Это руководство по изменению порта RDP по умолчанию подходит для любой версии Windows, начиная с Windows XP (Windows Server 2003) и до современных сборок Windows 10, Windows 11 и Windows Server 2022.








