По умолчанию во всех операционных системах Windows для подключения по протоколу RDP (Remote Desktop Protocol / Удаленный рабочий стол) использует порт TCP 3389. После того, как вы включили RDP доступ в Windows, служба TermService (Remote Desktop Services) начинает слушать на порту 3389. В этой статье мы покажем, как изменить стандартный номер RDP порта в дестопных редакциях Windows (7/8/10/11) и Windows Server.
Обратите внимание, что в современных версиях Windows для удаленного рабочего стола используется также протокол UDP с тем же номером порта 3389.
Вы можете изменить номер стандартного порта RDP в Windows с 3389 на любой другой. Чаще всего это используется, когда нужно спрятать ваш RDP/RDS хост от автоматических сканеров портов, которые ищут в сети хосты Windows с открытым стандартным RDP портом 3389. Смена RDP порта позволит уменьшить вероятность эксплуатации RDP уязвимостей (последняя критическая уязвимость в RDP BlueKeep описана в CVE-2019-0708), уменьшить количество попыток удалённого подбора паролей по RDP (не забывает периодически анализировать логи RDP подключений), SYN и других типов атак (особенно при отключенном NLA). Чаще всего RDP порт меняют на компьютерах с прямым подключением к интернету (VPS/VDS), или в сетях, где пограничный маршрутизатор перенаправляет порт 3389/RDP в локальную сеть на компьютер/сервер с Windows.
Несмотря на смену порта, нежелательно выставлять открытый RDP порт в интернет. Сканеры портов позволяют по сигнатуре понять, что на новом порту находится RDP Listener. Если вы хотите открыть RDP доступ к компьютеру в своей сети, лучше использовать такие технологии подключения, как VPN, RD Web Access, RD Gateway и другие
Если вы решили использовать нестандартный номер порта для RDP, обратите внимание, что нежелательно использовать номера портов в диапазоне от 1 до 1023 (известные порты). Используйте динамический порт из RPC диапазона (от 49152 до 65535), или любой портов в диапазоне от 1024 до 49151, который не используется другим сервисом или приложением.
Изменить номер RDP порта по-умолчанию в Windows
В нашем примере мы изменим номер порта, на котором ожидает подключения служба Remote Desktop на 1350. Для этого:
- Откройте редактор реестра (regedit.exe) и перейдите в ветку HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp;
- Найдите DWORD параметр реестра с именем PortNumber.. В этом параметре указан порт, на котором ожидает подключения служба Remote Desktop. Значение по умолчанию – 3389 (decimal);
- Измените значение этого порта. Я изменил RDP порт на 1350 в десятичном значении (Deciamal);
- Если на вашем компьютере включен Windows Firewall, вы должны создать новое правило, разрешающее входящие подключения на новый RDP порт (если вы перенастраиваете удаленный сервер через RDP, создайте разрешающее правило в файерволе до перезапуска службы TermService, иначе вы потеряете доступ к серверу). Вы можете создать разрешающее входящее правило для нового TCP/UDP порта RDP вручную из консоли ‘Брандмауэр Защитника Windows’ (firewall.cpl) или с помощью PowerShell команд:
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 нужно указывать порт RDP подключения через двоеточие следующим образом:
Your_Computer_Name:1350
или по IP адресу
192.168.1.100:1350
или из командной строки:
mstsc.exe /v 192.168.1.100:1350
Если для управления множеством RDP подключений вы используете менеджер RDP подключений RDCMan, новый номер RDP порта подключения можно указать на вкладке “Connection Settings”.
- В результате вы успешно подключитесь к рабочему столу удаленного компьютера через новый номер RDP порта (с помощью команды
nenstat –na | Find “LIST”
убедитесь, что служба RDP теперь слушает на другом порту).
Обратите внимание, что номер UDP порта RDP также изменился на 1350 (проще всего проверить это с помощью утилиты TCPView).
С помощью команды Test-NetConnection, проверьте что старый RDP порт теперь закрыт (
TcpTestSucceeded : False
):
Test-NetConnection 192.168.13.202 -port 3389 |select TcpTestSucceeded
И для RDP подключения теперь нужно использовать новый порт 1350.
Если вы хотите изменить номер RDP порта на компьютерах в домене, можно воспользоваться групповыми политиками. Создайте новую GPO, которая распространит параметр реестра PortNumber с новым значением RDP порта на компьютеры домена.
PowerShell скрипт для смены номера RDP порта в Windows
Полный код 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 "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 "Номер RDP порта изменен на $RDPPort " -ForegroundColor Magenta
Вы можете удаленно изменить номер порта на компьютере. Для этого на удаленном компьютере должен быть настроен WinRM, тогда для подключения к компьютеру можно использовать командлет Invoke-Command:
Invoke-Command -ComputerName PC1name -ScriptBlock {Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value 1350}
Если нужно изменить номер RDP на нескольких компьютерах в домене AD (определенной OU), используйте такой скрипт (список компьютеров в OU можно получить с помощью 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 11 (Windows Server 2022).
Протокол RDP (Remote Desktop Protocol) используется для удаленного доступа к рабочему столу компьютера или сервера с Windows. По умолчанию для удаленного подключения используется порт TCP 3389. Если ваш компьютер/сервер подключен напрямую в Интернет (VDS/VPS) и имеет публичный IP адрес, то с точки зрения безопасности желательно изменить стандартный номер RDP порта.
Дело в том, что в сети работает большое количество автоматических ботов, которые сканируют все доступные IP адреса в интернете на наличие открытого порта RDP. Такие боты и целые сети могут пытаться подобрать пароль к вашему компьютеру через открытый наружу стандартный RDP порт. Также существует высокий риск эксплуатации против RDP 0-day уязвимости (за последний год Microsoft исправила целых 2 критически уязвимости в RDP (BlueKeep and BlueKeep-2), которые могли эксплуатироваться через Remote Code Execution.
Рассмотрим, как изменить стандартный RDP порт в Windows 10. Настройки RDP порта задаются в параметре PortNumber в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp. Чтобы вручную изменить номер порта:
- Запустите редактор реестра
regedit.exe
с правами администратора; - Перейдите в ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp;
- Измените значение DWORD параметра PortNumber в десятичном формате. Например, укажите новый номер порта 41212;
- Откройте консоль управления службами (
services.msc
) и перезапустите службу Remote Desktop Services.
Также вы можете изменить номер RDP порта из командной строки:
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 41212 /f
Или с помощью PowerShell:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value 41212
Если у вас на компьютере включен встроенный Windows Defender Firewall with Advanced Security, нужно разрешить входящий TCP трафик на новый RDP порт. Вы можете создать новое правило для входящего трафика на порт 41212 через графическую консоль wf.msc или из командной строки:
netsh advfirewall firewall add rule name="RDP new port" dir=in action=allow protocol=TCP localport=41212
После этого вы можете подключаться к вашему компьютеру Windows через нестандартный RDP порт. Если вы используете для RDP подключений встроенный Windows-клиент mstsc.exe (Remote Desktop Connection), нужно указать новый номер RDP порт через двоеточие после имени (IP) адреса компьютера или использовать такую команду:
mstsc /v:192.168.10.10:41212
Перейти к содержимому
По-умолчанию для терминального сервера Microsoft используется порт 3389. Майкрософт использует стандартный номер порта для всех систем — Windows XP, Windows 7/8, Windows Server 2003/2008/2012.
Используется TCP протокол, поэтому для проброса RDP порта нужно использовать именно tcp без udp.
Смена порта RDP
Из соображений безопасности вы можете поменять порт RDP. Смена порта RDP на другое значение снизит риск взлома системы при автоматизированном подборе паролей.
Важно! Перед изменением RDP порта настройте Firewall!
Перед тем, как изменить RDP-порт по-умолчанию на удалённом сервере, сначала добавьте доступ к новому порту в вашей конфигурации брендмауэра, перед тем, как выполнять изложенные ниже рекомендации.
Иначе вы сможете остаться без доступа к удалённому серверу.
Как изменить RDP-порт по-умолчанию на Windows
Для изменения RDP порта WIndows нужно запустить редактор реестра.
Нажимаем Windows+R и вводим в окне regedit
В появившемся окне откройте раздел HKEY_LOCAL_MACHINE>SYSTEM>CurrentControlSet>Control>Terminal Server>WinStations>RDP-Tcp
Найдите ключ «PortNumber«.
По-умолчению используется шестнадцатиричное значение 00000D3D — это соответствует десятичному 3389.
Измените номер порта на необходимое для вас значение и сохраните. Для удобства изменения можно выбрать «Десятичное» и ввести нужный номер порта.
Сохраните введенное значение и перезагрузите компьютер. Теперь для подключения к серверу RDP нужно указать выбранный номер порта.
По-умолчанию для терминального сервера Microsoft используется протокол RDP(Remote Desktop Protocol) и по-умолчанию порт 3389. Майкрософт использует стандартный номер порта для всех систем: начиная с совсем уж древних типа Windows XP, включая Windows Server 2003/2008/2012 и заканчивая Windows 10. С одной стороны хорошо — как никак один стандарт. Но с другой стандартный порт всегда является объектом атак со стороны злоумышленников с целью взлома сервиса и доступа к конфиденциальным данным. Поэтому стоит его сменить и я покажу как это сделать.
Для совсем «зеленых» пользователей заранее объясню, что протокол удалённого рабочего стола в операционных системах Windows использует транспортный протокол TCP, а потому для проброса RDP порта нужно использовать именно TCP. Протокол UDP при этом не используется. Используемые по умолчанию порт — 3389. При подключении к удалённому рабочему столу клиентское соединение стучится именно на этот порт.
Смена порта RDP
Итак, по соображениям безопасности Вы собрались поменять порт RDP, чтобы значительно снизить риск взлома системы при брутфорсе — автоматизированном подборе паролей. Смена порта RDP на другое значение подразумевает несколько обязательных действий, без которых это не будет работать!
Обратите вниммание! Необходимо в используемом Вашей операционной системой брандмауэре открыть новый порт. В противном случае, после смены Вы потеряете управление рабочей станцией или сервером. Как это сделать Вы узнаете здесь — инструкция как открыть порт в брандмауэре Windows. Перепечатывать её сюда я не вижу смысла.
Как изменить RDP-порт по-умолчанию Windows 10
Последовательность действий достаточно простая даже для неопытного пользователя — надо лишь выполнять всё в точности как я напишу.
Нажимаем правой кнопкой мыши на кнопку «Пуск», чтобы появилось контекстное меню:
В появившемся окне «Выполнить» введите команду regedit. Вот так:
Нажимаем на кнопку «ОК». Должно появится окно подтверждения действий встроенного Контроля Учётных Записей. Нажимаем там на кнопку «Да». После этого должно появится окно редактора реестра Windows 10:
Далее Вы можете либо самостоятельно открыть ветку реестра:
HKEY_LOCAL_MACHINE>SYSTEM >CurrentControlSet >Control >Terminal Server >WinStations >RDP-Tcp
Либо нажмите кнопку F3 и введите в строку «найти» критерий поиска — RDP-Tcp. Я поступил именно так. Через несколько секунд искомый раздел нашёлся. Чтобы изменить порт РДП, нужно в разделе найти ключ PortNumber.
Кликаем на нёго дважды, чтобы открыть окно параметров ключа:
По умолчанию он в шестнадцатеричной системе исчисления и равен 00000D3D, что соответствует 3389 в десятичной. Далее нужно ставим флажок на десятичную систему и в поле значение поменять порт RDP Windows на любой другой, который Вы хотите (и он при этом не занят).
Нажимаем кнопку «ОК» и перезагружаемся.
Теперь, чтобы подцепиться к серверу RDP, Вы должны будете указать уже новый номер порта через двоеточие после адреса.
RDP – это протокол удаленного рабочего стола. С английского эта аббревиатура расшифровывается, как Remote Desktop protocol. Он нужен для подключения одного компьютера к другому через сеть интернет. К примеру, если пользователь находится дома, а ему нужно срочно заполнить документы в офисе он может это сделать с помощью данного протокола.
Доступ к другому компьютеру производится через порт TCP 3389 по умолчанию. На каждом персональном устройстве он предустановлен автоматически. При этом существует два вида соединения:
- для администрирования;
- для работы с программами на сервере.
Серверы, где установлена ОС Windows Server поддерживают два удаленных подключения РДП сразу (это в том случае, если не активирована роль RDP). Компьютеры, не являющиеся серверами имеют только по одному входу.
Соединение между компьютерами производится в несколько этапов:
- протокол, основой которого является TCP, запрашивает доступ;
- определяется сессия протокола удаленного рабочего стола. Во время этой сессии утверждаются инструкции передачи данных;
- когда завершится этап определения сервер передаст другому устройству графический вывод. В этот же момент он получает данные от мышки и клавиатуры. Графический вывод – это точно скопированное изображение или команды на отрисовку различных фигур, типа линий, кругов. Такие команды являются ключевыми задачами для данного вида протокола. Они сильно экономят расход трафика;
- клиентский компьютер превращает эти команды в графику и выводит их на экран.
Также этот протокол имеет виртуальные каналы, которые позволяют соединиться с принтером, работать с буфером обмена, использовать аудиосистему и др.
Безопасность соединения
Существует два вида защищенного соединения через RDP:
- встроенная система (Standard RDP Security);
- внешняя система (Enchanced RDP Security).
Они отличаются тем, что в первом типе используется шифрование, обеспечение целостности создается с помощью стандартных средств, которые есть в протоколе. А во втором виде используется модуль TLS для установки защищенного соединения. Разберем подробней процесс работы.
Встроенная защита осуществляется так — в начале проходит аутентификация, затем:
- при включении будут сгенерированы RSA ключи;
- изготавливается открытый ключ;
- подписывается RSA, который вшит в систему. Он есть в любом устройстве с установленным протоколом удаленного стола;
- клиентское устройство при подключении получает сертификат;
- проверяется и происходит получение этого ключа.
Затем происходит шифрование:
- стандартно используется алгоритм RC4;
- для серверов Виндоус 2003 используется 128 битная защита, где 128 бит — длина ключа;
- для серверов Wndows 2008 – 168 бит.
Целостность контролируется с помощью генерации mac-кодов основанных на алгоритме MD5 и SHA1.
Внешняя система безопасности работает с модулями TLS 1.0, CredSSP. Последний совмещает в себе функциональности TLS, Kerberos, NTLM.
Окончание подключения:
- компьютер проверяет разрешение на вход;
- шифр подписывается по протоколу TLS. Это лучший вариант защиты;
- разрешается вход единожды. Каждая сессия шифруется отдельно.
Замена старого значения порта новым
Для того, чтобы прописать другое значение необходимо сделать следующее (актуально для любой версии Виндовс, в том числе Windows Server 2008):
- открываете «Пуск». В поисковой строке внизу прописываете «regedit.exe»;
- откроется окошко, где нужно найти корневую директорию: HKEY_LOCAL_MACHINE. Открываете ее и ищете папку System, затем переходите по следующему пути: CurrentControlSet, открываете Control, затем — Terrminal Server и последней будет папка WinStations. Теперь кликаете по папке RDP-Tcp;
- найдите пункт «Port Number». В правой колонке увидите шестнадцатиричное значение 00000D3D, которое соответствует стандартному RDP порту 3389;
- замените его на тот порт, который следует установить. Не забудьте пометить, что необходимо использовать десятичные числа, выделив необходимый пункт;
- сохраняете проделанные шаги и перезагружаете устройство;
- открываете Пуск, заходите в панель управления;
- находите пункт «Брандмауэр Windows» и в нем «Дополнительные параметры»;
Теперь при подключении к удаленному столу необходимо после IP-адреса через двоеточие указывать новое значение, например 192.161.11.2:3381.
Замена с помощью утилиты PowerShell
PowerShell также позволяет внести необходимые изменения:
- запустите PowerShell от администратора;
- введите директиву: Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Terminal*Server\WinStations\RDP-TCP\ -Name PortNumber –Value 12345. Последние цифры являются портом на который меняете старый;
- рекомендуется сделать перезагрузку;
- после того, как устройство включится, введите команду «regedit» в меню «Пуск». Пройдите в директорию: HKEY_LOCAL_MACHINE, найдите папку CurrentControlSet, затем папку Control, перейдите в Terminal Server и откройте WinStations. Кликните по файлу RDP-Tcp. Тут должно быть установлено новое значение.
- Теперь нужно открыть порт RDP на сетевом экране. Входите в Powershell, вбиваете команду: netsh advfirewall firewall add rule name=»NewRDP» dir=in action=allow protocol=TCP localport=49089. Цифры должны означать тот порт, на который перебили старый.
Не удалось открыть файл подключений default.rdp
Чаще всего эта ошибка возникает, когда появляются проблемы с DNS сервером. Клиентский компьютер не может найти имя указанного сервера.
Для того, чтобы избавиться от ошибки, необходимо в первую очередь проверить правильно ли веден адрес хоста.
В другом случае при возникновении бага необходимо произвести такие шаги:
- зайти в «Мои документы»;
- найти файл default.rdp. Если не найдете, поставьте галочку пункте «Параметры папок» для показа скрытых файлов и папок;
- теперь удалите этот файл и попробуйте подключиться повторно.