Изменить номер RDP порта 3389 для удаленного рабочего стола в Windows 10 / Windows Server 2016 в Windows

По умолчанию во всех операционных системах Windows для подключения по протоколу RDP (Remote Desktop Protocol / Удаленный рабочий стол) использует порт TCP 3389.

Если ваш компьютер подключен напрямую к интернету (например, VDS сервер), или вы настроили на своем пограничном маршрутизаторе перенаправление порта 3389/RDP в локальную сеть на компьютер или сервер с Windows, вы можете изменить стандартный RDP порт 3389 на любой другой. Изменив номер RDP порта для подключения, вы можете спрятать ваш RDP сервер от сканеров портов, уменьшите вероятность эксплуатации RDP уязвимостей (последняя критическая уязвимость в RDP BlueKeep описана в CVE-2019-0708), уменьшите количество попыток удалённого подбора паролей по RDP (не забывает периодически анализировать логи RDP подключений), SYN и других типов атак (особенно при отключенном NLA).

Замену стандартного RDP порта можно использовать, когда за маршрутизатором с одним белым IP адресом находится несколько Windows компьютеров, к которым нужно предоставить внешний RDP доступ. На каждом компьютере вы можете настроить уникальный RDP порт и настроить перенаправление портов на маршрутизаторе на локальные компьютеры (в зависимости от номера RDP порта сессия перенаправляется на один из внутренних ПК).

При выборе нестандартного номера порта для RDP обратите внимание, что желательно не использовать номера портов в диапазоне от 1 до 1023 (известные порты) и динамические порты из RPC диапазона (от 49152 до 65535).

Попробуем изменить порт, на котором ожидает подключения служба Remote Desktop на 1350. Для этого:

  1. Откройте редактор реестра и перейдите в ветку HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp;
  2. Найдите DWORD параметр реестра с именем PortNumber. В этом параметре указан порт, на котором ожидает подключения служба Remote Desktop;
  3. Измените значение этого порта. Я изменил RDP порт на 1350 в десятичном значении (Deciamal); PortNumber - изменить номер RDP порт в реестре
    Можно изменить параметр реестра с помощью PowerShell: Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" -Name PortNumber -Value 1350
  4. Если на вашем компьютере включен Windows Firewall, вы должны создать новое правило, разрешающее входящее подключение на новый RDP порт (если вы перенастраиваете удаленный сервер через RDP, не создав правило в брандмауэре, вы потеряете доступ к серверу). Вы можете создать разрешающее входящее правило для нового TCP/UDP порта RDP вручную из консоли ‘Брандмауэр Защитника Windows’ (firewall.cpl) или с помощью PowerShell команд: New-NetFirewallRule -DisplayName "New RDP Port 1350" -Direction Inbound -LocalPort 1350 -Protocol TCP -Action allow И: New-NetFirewallRule -DisplayName "New RDP Port 1350" -Direction Inbound -LocalPort 1350 -Protocol UDP -Action allow New-NetFirewallRule правило для RDP подключения на новый порт
  5. Перезагрузите компьютер или перезапустите службу удаленных рабочих столов командой: net stop termservice & net start termservice перезапустить службу RDP termservice
  6. Теперь для подключения к данному Windows компьютеру по RDP, в клиенте mstsc.exe нужно указывать порт RDP подключения через двоеточие следующим образом: Your_Computer_Name:1350 или по IP адресу 192.168.1.100:1350 или из командной строки: mstsc.exe /v 192.168.1.100:1350 mstsc подключение к нестандартному номеру rdp порта
    Если для управления множеством RDP подключений вы используете менеджер RDP подключений RDCMan, заданный вами номер RDP порта для подключения можно указать на вкладке “Connection Settings”.
  7. В результате вы успешно подключитесь к рабочему столу удаленного компьютера по новому номеру RDP порта (с помощью команды nenstat –na | Find “LIST” убедитесь, что служба RDP теперь слушает на другом порту). netstat - rdp на другом порту
Внимание: Если вы измените номер RDP порта, могут возникнуть проблемы с работой Remote Assistance и теневых RDP подключений в Windows 10, так и shadowing в Windows Server.

Полный код PowerShell скрипт для смены RDP порта, создания правила в брандмауэре и перезапуска службы RDP на новом порту может выглядеть так:

Write-host "Укажите номер нового RDP порта: " -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 "New RDP Port $RDPPort" -Direction Inbound –LocalPort $RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "New RDP Port $RDPPort" -Direction Inbound –LocalPort $RDPPort -Protocol UDP -Action Allow
Restart-Service termservice -force
Write-host "Номер RDP порта изменен на $RDPPort " -ForegroundColor Magenta

Можно изменить номер RDP удаленно на нескольких компьютерах в домене AD (определенной OU) с помощью Invoke-Command и Get-ADComputer:

Write-host "Укажите номер нового RDP порта: " -ForegroundColor Yellow -NoNewline;$RDPPort = Read-Host
$PCs = Get-ADComputer -Filter * -SearchBase "CN=DMZ,CN=Computers,DC=winitpro,DC=ru"
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 "New RDP Port $RDPPort" -Direction Inbound –LocalPort $RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "New RDP Port $RDPPort" -Direction Inbound –LocalPort $RDPPort -Protocol TCP -Action Allow
Restart-Service termservice -force
}

Это инструкция по смене стандартного RDP порта подойдёт для любой версии Windows, начиная с Windows XP (Windows Server 2003) и заканчивая Windows 10 (Windows Server 2019).


Предыдущая статья Следующая статья


Комментариев: 1 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)