Начало
В данном руководстве будет рассмотрена процедура изменения порта RDP в операционной системе Windows Server 2012.
Обратите внимание что — все дальнейшие процедуры меняют порт RDP что приведет к отключению текущего соединения с сервером,в связи с этим рекомендуем использовать другие варианты подключения к серверу (например через Веб консоль из личного кабинета).
Для того чтобы выполнить эту задачу, необходимо осуществить редактирование реестра операционной системы.
Редактирование реестра производится с помощью программы-редактора.
Нажмите Пуск и в панели Поиск напечатайте cmd.
В появившемся окне консоли наберите и выполните команду regedit.
В редакторе реестра нужно отыскать раздел RDP-Tcp, сделать это можно, пройдя такой путь:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
В нем необходимо отыскать элемент PortNumber (как на картинке выше), и открыть этот параметр.
Далее следует переключиться в Десятичный (Decimal) формат ввода и задать новый порт для подключения по протоколу RDP:
При выборе нового порта для подключения необходимо помнить о том, что существует несколько категорий портов в разбивке по их номерам:
- Номера от 0 до 10213 — известные порты, которые назначаются и контролируются организацией IANA (Internet Assigned Numbers Authority).
Как правило, их используют различные системные приложения ОС. - Порты от 1024 до 49151 — зарегистрированные порты, назначаемые IANA. Их позволяется использовать для решения частных задач.
- Номера портов от 49152 до 65535 — динамические (приватные) порты, которые могут использоваться любыми приложениями или процессами для решения рабочих задач.
Правило для порта
После изменения порта для удаленного подключения, необходимо открыть его в настройках межсетевого экрана, иначе попытки внешнего соединения будут блокироваться.
Для этого, нужно воспользоваться оснасткой управления Брандмаэур Windows в режиме повышенной безопасности
Открыть ее можно, зайдя в меню: Диспетчер Серверов —> Средства
Далее нужно выбрать пункт «Брандмаэур Windows в режиме повышенной безопасности»
В новом окне выбрать пункт «Правила для входящих подключений», кликнуть по этому пункту правой кнопкой мыши и выбрать «Создать правило»:
Мы будем создавать правило для порта:
Нужно выбрать тип протокола (TCP или UDP) и указать порт, который мы задавали в ходе редактирования реестра
(в нашем примере — протокол TCP, номер порта 60000):
На следующем этапе нужно выбрать тип действия, которое описывает правило.
В нашем случае нужно разрешить подключение.
На следующем шаге необходимо указать область действия правила — оно зависит от того, где работает сервер (в рабочей группе, домене, или частном доступе):
Затем нужно выбрать имя для правила
(рекомендуется выбирать его таким образом, чтобы затем правило было легко узнать среди других):
После этого нужно перезагрузить сервер.
Теперь для подключения к нему по протоколу RDP нужно использовать новый порт.
В 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}
Почему рекомендуется заменить порт в 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.
Теперь сервер можно использовать без страха, что злоумышленники будут подбирать пароли пользователей на вашем сервере, так как они обычно сканируют стандартный порт, а вы его изменили.
Услуги
Почему рекомендуется заменить порт в Windows Server
Часто бывает так, что хакеры сканируют порты и пытаются взломать ваш сервер, угадывая пароли. По умолчанию, для удаленного доступа к серверу Windows используется порт 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 адрес и новый порт, который мы открыли, а также учетные данные пользователя Администратор.
Теперь вы можете использовать сервер без беспокойства о том, что злоумышленники будут пытаться взломать пароли пользователей, потому что они обычно сканируют стандартный порт, который вы изменили.
Наши услуги
Юридическим лицам
Договор и полный комплект бухгалтерских документов по почте.
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-адреса вашей виртуальной машины.