В Windows для подключения к рабочему столу удаленного компьютера по протоколу RDP (Remote Desktop) по-умолчанию используется порт TCP 3389. В этой статье мы рассмотрим, как изменить номер стандартного порта для службы RDP на другой (применимо как к дестопным версиям Windows, так и к Windows Server).
Содержание:
- Изменить номер RDP порта в Windows
- PowerShell скрипт для смены номера RDP порта в Windows
После того, как вы включили RDP доступ в Windows, служба TermService (Remote Desktop Services) начинает слушать на порту 3389.
В современных версиях Windows для подключений удаленного рабочего стола также используется протокол UDP с тем же номером порта 3389. При использовании VPN, транспортный UDP протокол может вызывать проблемы с зависанием RDP сессий.
Для чего может понадобиться замена стандартного RDP порта 3389 на другой?
- Чаще всего это используется, чтобы спрятать RDP/RDS хост от автоматических сканеров портов, которые ищут в Интернете хосты Windows с открытым дефолтным RDP портом 3389.
- Смена RDP порта позволит уменьшить вероятность эксплуатации RDP уязвимостей, уменьшить количество попыток удалённого подбора паролей по RDP (не забывайте периодически анализировать логи RDP подключений), SYN и других типов атак.
- Обычно смена RDP порт используется на компьютерах с прямым подключением к интернету (VPS/VDS), или в сетях, где пограничный маршрутизатор перенаправляет порт 3389/RDP в локальную сеть на компьютер/сервер с Windows.
Несмотря на смену порта, не рекомендуется выставлять открытый RDP порт в Интернет. Сканеры портов по сигнатуре ответа могут понять, что на новом порту находится RDP Listener. Если вы хотите открыть внешний RDP доступ к компьютеру в локальной сети, лучше использовать такие технологии подключения, как VPN, RD Web Access, шлюз RD Gateway и другие.
При смене номера RDP порта на нестандартный, нежелательно использовать номера портов в диапазоне от 1 до 1023 (известные порты). Выберите неиспользуемый порт в пользовательском диапазоне (1024 до 49151) или из RPC (49152 — 65535). Проверьте, что выбранный порт не слушается другими процессами (например, порт 1350).
netstat -aon | findstr ":1350" | findstr "LISTENING"
Изменить номер RDP порта в Windows
В нашем примере мы изменим номер порта, на котором ожидает подключения служба TermService на 1350.
Для быстрой замены номера RDP порта на указанный, достаточно выполнить следующие команды с правами администратора:
set p=1350
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d %p% /f
netsh advfirewall firewall add rule name="Custom-RDP-Port-TCP" protocol=TCP localport=%p% action=allow dir=IN
netsh advfirewall firewall add rule name="Custom-UDP-Port-UDP" protocol=UDP localport=%p% action=allow dir=IN
net stop TermService /y
net start TermService
Этот набор команд изменит номер RDP порта, создаст разрешающие правила для нового порта в файерволе и перезапустит службу TermService.
Рассмотрим, что делают эти команды и как изменить дефолтный номер RDP порта вручную.
- Откройте редактор реестра (
regedit.exe
) и перейдите в ветку HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp - Найдите DWORD параметр реестра с именем PortNumber. В этом параметре указан порт, на котором ожидает подключения служба Remote Desktop. Значение по умолчанию 3389 (decimal)
- Измените значение этого порта. Я изменил RDP порт на 1350 в десятичном значении (Decimal);
хalert] Можно изменить значение параметра реестра с помощью PowerShell:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" -Name PortNumber -Value 1350
[/alert] - Создайте новые правила в Windows Firewall, разрешающие входящие подключения на новый номер RDP порта (если вы перенастраиваете удаленный сервер через RDP, создайте разрешающее правило в файерволе до перезапуска службы TermService, иначе вы потеряете доступ к хосту). Вы можете создать разрешающее входящее правило для нового TCP/UDP порта RDP вручную из консоли Windows Firewall with Advanced Security (
wf.msc
) или с помощью 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 - Перезагрузите Windows или перезапустите службу удаленных рабочих столов командой:
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 подключений вы используете менеджер RDCMan, новый номер RDP порта подключения указывается на вкладке “Connection Settings”.
- В результате вы должны успешно подключитесь к рабочему столу удаленного компьютера по новому номеру RDP порта (с помощью команды
netstat –na | Find "LIST"
убедитесь, что служба RDP теперь слушает на другом порту).
Обратите внимание, что номер UDP порта RDP также изменился на 1350 (проще всего проверить это с помощью утилиты TCPView).
С помощью команды Test-NetConnection, проверьте что старый RDP порт теперь закрыт (
TcpTestSucceeded : False
):
Test-NetConnection 192.168.13.202 -port 3389 |select TcpTestSucceeded
Если вы хотите изменить номер 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, вы можно изменить номер порта RDP удаленно с помощью командлета Invoke-Command:
Invoke-Command -ComputerName PC1name -ScriptBlock {Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value 1350}
RDP (Remote Desktop Protocol) — это протокол, разработанный корпорацией Microsoft для предоставления удалённого доступа к рабочему столу и приложениям на удалённой рабочей станции. Данный протокол позволяет пользователям подключаться к другому компьютеру через сеть и управлять им так, как если бы они находились непосредственно перед ним.
В RDP используется шифрование для защиты данных, передаваемых между клиентом и сервером, что обеспечивает конфиденциальность и целостность информации. Также протокол передаёт графические данные от удалённого компьютера к клиентскому устройству и передаёт данные ввода от клиента к серверу.
По умолчанию для подключения по RDP используется порт 3389, что довольно часто является целью автоматических сканеров и ботнетов, которые ищут уязвимые системы. Помочь снизить вероятность успешности таких атак в значительной степени позволяет изменение порта.
В данной статье разберём, как можно изменить номер порта, используемый RDP, средствами операционной системы на виртуальном сервере, работающем на Windows Server 2016.
Изменение номера порта
Для изменения порта откройте редактор системного реестра, для чего нажмите комбинацию клавиш Win
R
и там наберите regedit
. Затем нажмите ОК
.
В редакторе реестра откройте ветку HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
, где найдите параметр PortNumber
. Данный параметр в качестве своего значения содержит номер порта, используемого системой для входящих подключений по RDP. Откройте параметр для редактирования, укажите формат числа как десятичный, переключив параметр Base
на Decimal
, и в строке Value data
укажите новый номер порта. После чего нажмите ОК
.
Также процедуру изменения номера порта можно проделать при помощи PowerShell
. Запуск данной командной оболочки производится с использованием комбинации клавиш Win
R
, где необходимо набрать powershell
и нажать ОК
.
Команда, вносящая соответствующее изменение в системный реестр, выглядит следующим образом:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" -Name PortNumber -Value 12345
В данном случае 12345
— устанавливаемый номер порта. В своей команде замените его на значение, которое вы планируете использовать на своём VPS.
Настройка Windows Firewall
В случае, если на удалённом сервере работает брандмауэр Windows, вам дополнительно потребуется создать разрешающее правило для входящих подключений с применением нового номера порта. Для запуска брандмауэра используйте комбинацию Win
R
, где введите firewall.cpl
и нажмите ОК
.
В открывшемся окне кликните в строку Advanced settings
в правой его части.
Далее перейдите в раздел Inbound Rules
, нажмите правую кнопку мыши и в открывшемся меню выберите New Rule
.
В стартовом окне мастера создания нового правила выберите тип правила Port
и нажмите Next
для продолжения.
На следующем шаге укажите тип порта TCP
, после чего установите переключатель на Specific local ports
и в его строке наберите номер порта, который вы планируете установить для подключения по RDP
. После чего нажмите Next
.
Затем выберите действие, которое создаваемое правило будет выполнять. Поскольку мы создаём разрешающее правило, то следует установить переключатель на Allow the connection
.
Так как используемое на данном виртуальном сервере сетевое подключение относится к публичным сетям, то на этом этапе достаточно оставить активным лишь тип сетей Public
.
На заключительном шаге необходимо в строку Name
ввести название создаваемого правила, например, Remote Desktop - User Mode (TCP-In)
. Правило будет создано после того, как вы нажмёте Finish
.
Применение новых настроек
Для применения новых настроек запустите командную строку от имени администратора. Для этого в строке поиска наберите cmd
и на строке Command Prompt
нажмите правую кнопку мыши, где выберите Run as administrator
.
В командной строке выполните команду, которая перезапустит службу удалённых рабочих столов:
net stop termservice & net start termservice
Следует учесть, что если для внесения данных изменений вы используете RDP-подключение к серверу, то при выполнении этой команды вы потеряете контроль над виртуальной машиной.
Для того, чтобы снова подключиться к удалённому рабочему столу, необходимо использовать уже изменённый номер порта. Его следует указать через двоеточие после IP-адреса вашей виртуальной машины.
В последнее время довольно много пользователей систем Windows и Windows Server, которые подключены к сети Интернет и выходят в сеть через статический (белый) IP-адрес сталкиваются с тем, что их компьютер, сервер и удаленный рабочий стол начинает работать некорректно. Это ярко выражено в частых ошибках при подключении к серверу, замедленной работы системы и запущенных программ на компьютере. Если же это касается удаленного рабочего стола, то возможны частые выбивания сессии подключения и последующей ошибки о том, что удаленный компьютер недоступен или просто отдается ошибка общего плана при подключении. Все это связанно с тем, что к сервису удаленного рабочего стола (Remote Desktop Service) производится большое количество попыток подключения. Зачастую около десятка за одну секунду. Злоумышленники пытаются подобрать пароль и получить доступ к учетной записи сервер. Это вызывает переполнение сессий доступных подключений к сервису и тем самым выводя его из работы. Отдельным побочным эффектом в этой ситуации является и повышенная нагрузка при обработке данных подключений самим сервером или компьютером, на который производят атаку, от сюда и замедленная работа программ, и нестабильная работа самого компьютера.
Как же можно восстановить работу компьютера и обезопасить себя от атак на свой компьютер?
Если вы уже столкнулись с тем, что ваш удаленный компьютер или сервер стал недоступен при подключении через удаленный рабочий стол, то для начала вам нужно просто его перезагрузить. Это позволит получить доступ к системе для последующий операций и настроек.
В первую очередь, нужно проверить журнал работы Event Viewer на наличие информации в нем о попытках взлома сервера. Во вкладке Windows Logs – Security. В случае активной атаки на ваше устройство, вы увидите довольно большое количество неудавшихся попыток подключения к системе (Audit Failure). В детальной информации события можно посмотреть имя пользователя (Account Name), к которому пытались подключиться и IP-адрес (Source Network Address), с которого была попытка подключения.
Теперь мы точно уверены в том, что кто-то пытается подобрать пароль к нашему устройству.
Для того, чтобы обезопасить работу своего сервиса, нам необходимо поменять порт подключения к службе удаленного рабочего стола. Давайте же посмотрим, как это делается на примере Windows Server 2022.
1. Откройте редактор рееста через стандартное окно быстрого поиска Windows
либо через окно Выполнить (комбинация клавиш Win+R)
2. Перейдите в ветку
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
3. Нажмите два раза на параметр PortNumber. В новом окне выберите десятичную систему счисления и впишите новый порт подключения, который будет использоваться.
Готово. Мы поменяли порт подключения к сервису удаленного рабочего стола.
Но это ещё не всё. Стандартно в системе Windows включена служба защиты системы Firewall, которая имеет набор правил подключения к нашему устройству. Штатно она настроена на доступ к порту 3389, который является стандартным портом для службы удаленного рабочего стола, но сейчас мы изменили этот порт и нам необходимо добавить новое правило в наш фаервол.
4. Для этого откройте Windows Defender Firewall.
5. Нажмите на ссылку Advanced Settings
6. В новом окне выберите категорию правил входящих подключений Inbound Rules, нажмите левой кнопкой по ней и выберите New Rule.
7. Выберите тип правила, а именно, что мы будет разрешать.
8. Укажите номер порта, который вы указали ранее в редакторе реестра, в параметре PortNumber.
9. Далее разрешите работу правила для указанных зон.
10. Разрешите подключения к новому правилу.
11. Укажите имя правила, под которым оно будет отображаться в списке всех правил.
Готово!
Теперь вам осталось только перезагрузить компьютер и изменения вступят в силу.
Как подключиться к сервису с новым портом?
Для подключения к компьютеру с измененным портом необходимо указывать новый порт в конце адреса сервера через двоеточие.
Пример: 192.168.0.2:33899
А мы напоминаем, что вы можете заказать удаленный рабочий стол в нашей компании и в случае возникновения каких-либо проблем данного характера – мы будем рады помочь вам в быстром решении и предоставлении качественного сервиса.
Выбрать локацию и заказать удаленный рабочий стол можно по ссылке
https://finerdp.com/ru/rdp-server
Почему рекомендуется заменить порт в Windows Server
Очень часто бывает, что злоумышленники сканируют порты и подбирают пароли для входа на ваш сервер. По умолачнию RDP использует порт 3389. Если вы поставили очень простой пароль, злоумышленник получит доступ к вашему серверу и будет его использовать для своих целей, либо зашифрует все данные и попросит от вас деньги. Проблема из-за сканирования портов может быть также в том, что из-за множества чужих попыток у Вас не будет возможности войти на сервер. Это может перегрузать процессорные ресурсы сервера. Если у Вас возникли такие подозрение, то настоятельно рекомендуется защитить порт RDP от роботов его сменой на любой удобный и свободных из диапазона от 1000 до 65535.
Как заменить порт в Windows Server?
Для начала мы должны подключиться к нашему серверу и открыть “PowerShell”.
Нажимаем на “Пуск”, затем на “PowerShell”. Необходимо выбрать параметр запуска команды “От имени Администратора”. Предположим мы хотим сменить порт на 1312. После того как “PowerShell” открылся, выполняем данную команду.
Вы можете указать любой нужный вам другой порт, например 7777, 8888, 20000 и т.д.
После открытия PowerShell вставьте эту команду и нажмите Enter, чтобы выполнить ее.
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" -Name PortNumber -Value 1312
После выполнения команды мы видим, что ответа нет и это означает, что изменения мы сделали правильно.
Как открыть RDP порт
Теперь мы не можем просто так подключиться на наш сервер, так как у нас “включен Брандмауэр” и порт не работает сразу после изменения на другой.
Мы должны добавить новый порт. Нажимаем на “Пуск” заново, затем на “Панель управления”.
Когда панель управления открылась, мы нажимаем на “Система и безопасность”
Затем нажимаем на “Брандмауэр Защитника Windows” и на “Дополнительные параметры“
Здесь мы должны открыть порт. Нажимаем на “Правила для входящих подключений“, затем на “Создать правило“.
Выбираем “Для порта“, нажимаем “Далее“.
Указываем наш порт, который мы указали в команде в “PowerShell” и нажимаем на “Далее“
Оставляем все как есть в разделах “Действие” и “Профиль” и нажимаем Далее.
В “Имя” указываем название порта, по которому мы будем подключаться, и нажимаем на “Готово”.
Как перезапустить службу RDP
Мы еще не закончили. Чтобы сервер работал по новому порту мы должны перезагрузить службу удаленного доступа. Мы конечно можем также перезагрузить сервер, но есть вариант перезагрузить данную службу, чтобы все наше ПО продолжало работать, без даунтайма.
Нажимаем на “Пуск” и ищем “Службы”. Нажимаем и открываем.
Ищем “Службы удаленных рабочих столов” и перезагружаем её.
Служба увидит новый порт и закроет нам сразу подключение по старому порту.
Открываем заново “Подключение к удаленному рабочему столу” на нашем устройстве и уже вводим IP и порт, который мы открыли и вводим данные от пользователя Administrator.
Теперь сервер можно использовать без страха, что злоумышленники будут подбирать пароли пользователей на вашем сервере, так как они обычно сканируют стандартный порт, а вы его изменили.
Услуги
Remote Desktop Protocol (RDP) is a vital tool for managing servers remotely, especially for Windows Server 2022. By default, RDP operates on port 3389. While this works perfectly for most scenarios, changing the default RDP port can enhance security by mitigating common brute-force attacks and port scanning attempts. This guide will walk you through the steps to change the RDP port on Windows Server 2022 setup.
Why Change the Default RDP Port?
Using the default RDP port exposes your server to unnecessary risks. Here are some reasons to consider changing it:
- Prevent Brute-Force Attacks: Cybercriminals frequently target port 3389 with automated tools to guess login credentials.
- Avoid Port Scanning: Port 3389 is often included in port scans by malicious actors.
- Enhanced Security: Changing the port creates an additional layer of obscurity, reducing exposure to attacks.
- Compliance with IT Policies: Some organizations mandate non-standard ports for remote access.
Prerequisites for Changing the RDP Port
Before proceeding, ensure the following:
- Administrative Access: You need administrator privileges on the Windows Server 2022.
- Firewall Access: Ensure you can modify the firewall rules to allow the new port.
- Remote Desktop Enabled: Verify that RDP is already enabled and functioning on your server.
Step-by-Step Guide to How to Change the RDP Port on Windows Server 2022?
Step-1: Backup the Registry
The process involves modifying the Windows Registry, which is sensitive and can cause issues if done incorrectly.
- Clicks Win + R to open the Run dialogs.
- Writes regedit & press Submit to open the Registry Editors.
- Navigate to File > Export to create a backup of your current registry settings. Save it in a secure location.
Step-2: Locate the RDP Port Registry Key
- In the Registry Editors, navigate to the seeing path:
arduino Copy code HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
- Look for the PortNumber entry in the right pane.
Step-3: Modify the Port Number
- Double-click on the PortNumber entry.
- Select Decimal as the base.
- Enter your desired port number (e.g., 50000). Choose a port number that is not commonly used by other applications or protocols.
- Click OK to save changes.
Step-4: Update the Windows Firewall Rules
-
- Open the Windows Defender Firewall:
- Press Win + S, type Windows Defender Firewall, & select it.
- Click Advanced Settings on the left panel.
- In the Inbound Rules, locate the rule for Remote Desktop Protocol:
- Look for rules named Remote Desktop – User Mode (TCP-In) or similars.
- Right-click the rule and select Properties.
- Go to the Protocols and Ports tab.
- Update the Local Port field to the new port number you chose in Step 3.
- Click OK to save changes.
- Open the Windows Defender Firewall:
Step-5: Allows the New Port in Your Firewall (Optional)
If no existing rule matches the new port, create a new rule:
- In Advanced Settings, click Inbound Rules & select New Rule.
- Select Port as the rules types & click Next.
- Select TCP and specify the new port number.
- Choose Allow the Connection and click Next.
- Apply the rule to all profiles (Domain, Private, Public) or as per your requirements.
- Name the rule (e.g., “Custom Remote Desktop (RDP) Port”) & click Finish.
Step-6: Restart the Remote Desktop Service
To apply the changes:
-
- Open the Services console:
- Press Win + R, & types services.msc, & press Enter.
- Locate the Remote Desktop Services in the list.
- Right-click the service and select Restart.
- Open the Services console:
Step-7: Test the New RDP Port
- Use a Remote Desktop (RDP) client to connect to your server.
- Submit the server’s IP address followed by a colon & the new port numbers:
markdown Copy code [Server-IP]:[New-Port]
For example, 192.168.1.100:50000.
- Verify that you can successfully connect to the servers.
Common Issues and Troubleshooting
Issue-1: Unable to Connect After Changing the Port
- Cause: The firewall rule for the new port might not be configured correctly.
- Solution: Double-check the inbound rule in Windows Defender Firewall and ensure the correct port is allowed.
Issue-2: Conflict with Another Application
- Cause: The chosen port might already be in use by another service.
- Solution: Use the netstat -a -n command to identify active ports and select an unused one.
Issue-3: Remote Desktop Service Not Restarting
- Cause: Changes in the registry may not be applied correctly.
- Solution: Verify the registry key and confirm the Remote Desktop Services are restarted.
Additional Security Tips for RDP
Selecting the port is just one more step to secure your RDP. Here are additional tips:
- Enable Network Level Authentication (NLA): This ensures only authenticated users can access Remote Desktop Protocol sessions.
- Use Strong Passwords: Enforce a strong password policy for all accounts.
- Implement Two-Factor Authentication (2FA): Add an extra layer of security by requiring a secondary authentication method.
- Limit Access by IP Address: Restrict RDP access to specific IP ranges in the firewall.
- Monitor and Log RDP Connections: Use logging tools to track who is accessing your server.
Conclusion
Change the RDP port on Windows Server 2022 is a straightforward yet effective step to improve your server’s security. By following the steps outlined in this guide, you can reduce the risk of unauthorized access and ensure a more robust remote desktop environment.
Always test changes in a controlled environment and maintain a detailed documentation log for your server configurations. With the default port changed and additional security measures in place, your server will be better equipped to handle modern cybersecurity threats.