Start typing to search across invoices, services, domains, tickets, and more...
Удалённый рабочий стол Windows по умолчанию слушает порт 3389, который постоянно сканируют боты и инструменты подбора паролей. Смена порта RDP — один из самых простых способов уменьшить число сканирований и неудачных попыток входа в журналах. В статье показано, как изменить порт удалённого рабочего стола в Windows Server 2016 / 2019 / 2022 через параметр реестра PortNumber или PowerShell, открыть новый порт в брандмауэре Windows и перезапустить службу, чтобы изменения вступили в силу.
Выберите свободный порт в диапазоне 10000–65535, например 33890 или 52025. Проверьте на сервере, что он не занят:
netstat -ano | findstr :33890
Пустой вывод означает, что порт свободен. Не используйте порты популярных служб (80, 443, 1433, 3306) и порты ниже 1024. В примерах ниже используется 33890 — замените его своим значением.
Откройте PowerShell от имени администратора и добавьте входящие правила TCP и UDP для нового порта (RDP использует UDP для ускорения передачи):
New-NetFirewallRule -DisplayName "RDP-TCP-33890" -Direction Inbound -Protocol TCP -LocalPort 33890 -Action Allow
New-NetFirewallRule -DisplayName "RDP-UDP-33890" -Direction Inbound -Protocol UDP -LocalPort 33890 -Action Allow
Если используется стороннее защитное ПО или фильтрация на уровне сети, разрешите новый порт и там.
Порт удалённого рабочего стола хранится в значении PortNumber раздела HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp. Измените его через PowerShell:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name PortNumber -Value 33890
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name PortNumber
То же самое можно сделать командой reg в CMD:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 33890 /f
Предпочитаете графический интерфейс? Запустите regedit, перейдите по указанному пути, дважды щёлкните PortNumber, выберите «Десятичная» и введите новый порт.
Перезапустите службу TermService, чтобы применить новый порт. Текущий сеанс RDP разорвётся — это нормально:
Restart-Service TermService -Force
Если служба не перезапускается, перезагрузите сервер командой Restart-Computer. Затем убедитесь, что новый порт прослушивается:
netstat -ano | findstr :33890
На локальном ПК проверьте доступность порта и подключитесь в клиенте (mstsc) в формате IP:порт, например 203.0.113.10:33890:
Test-NetConnection 203.0.113.10 -Port 33890
mstsc /v:203.0.113.10:33890
Убедившись, что вход по новому порту работает, можно отключить стандартные правила брандмауэра для 3389 и сократить поверхность атаки:
Disable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"
Войдите в клиентскую панель → Мои продукты и услуги → выберите сервер → Управление и откройте консоль VNC. Проверьте наличие правил брандмауэра и значение PortNumber либо верните PortNumber в 3389 и перезапустите TermService. Если консоль не найти, создайте тикет.
Нет. Если вы используете шлюз удалённых рабочих столов, бастион-хост или сохранённые файлы .rdp, обновите порт и в них.
Да, тот же путь реестра и команды работают в Windows 10/11 Pro.
Если проблема осталась, создайте тикет в круглосуточную техническую поддержку IMIDC, указав IP сервера и новый порт.