По подразбиране за всички операционни системи Windows за свързване с протокол ПРСР (Протокол за отдалечен работен плот) използва порт 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. За да направите това:
- Отворете редактора на системния регистър и отидете в клона HKEY_LOCAL_MACHINE \ Система \ CurrentControlSet \ Управление \ Терминален сървър \ WinStation \ RDP-Tcp;
- намирам DWORD настройка на регистъра с име -порт. Този параметър указва порта, на който услугата за отдалечен работен плот чака връзка;
- Променете стойността на този порт. Промених RDP порта на 1350 в десетична стойност (децимал); Можете да промените настройката на системния регистър с помощта на PowerShell:
Set-ItemProperty -Path "HKLM: \ Система \ CurrentControlSet \ Управление \ Терминален сървър \ WinStation \ RDP-Tcp \" -Име PortNumber -Value 1350
- Ако защитната стена на Windows е активирана на вашия компютър, трябва да създадете ново правило, което позволява входящи връзки към новия RDP порт (ако преконфигурирате отдалечения сървър чрез RDP, без да създавате правило в защитната стена, ще загубите достъп до сървъра). Можете да създадете разрешено входящо правило за новия TCP / UDP RDP порт ръчно от конзолата „Windows Defender Firewall“ (firewall.cpl) или с помощта на PowerShell команди:
New-NetFirewallRule -DisplayName "Нов RDP порт 1350" - Входящо насочване -LocalPort 1350 -Protocol TCP -Достъп позволява
И:New-NetFirewallRule -DisplayName "Нов порт RDP 1350" -входящ вход за насочване -LocalPort 1350 -Protocol UDP -Достъп позволява
- Рестартирайте компютъра или рестартирайте Услугата за отдалечен работен плот с командата:
net stop termservice & net start termservice
- Сега, за да се свържете с този компютър с Windows чрез RDP, в клиента mstsc.exe, трябва да посочите RDP порта на двоеточие на връзката чрез двоеточие, както следва:
Вашето_компютърно име: 1350
или по IP адрес192.168.1.100:1350
или от командния ред:mstsc.exe / v 192.168.1.100:1350
Ако използвате RDPMan RDP Connection Manager за управление на няколко RDP връзки, можете да посочите номера на RDP порта, който сте посочили за връзка, в раздела „Настройки на връзката“. - В резултат на това успешно ще се свържете с работния плот на отдалечения компютър, като използвате новия номер на RDP порт (използвайки командата
nenstat -na | Намерете „СПИСЪК“
уверете се, че услугата RDP сега слуша на различен порт).
Пълният скрипт на PowerShell за промяна на RDP порта, създаване на правило в защитната стена и рестартиране на RDP услугата на новия порт може да изглежда така:
Хост за запис "Въведете номера на новия RDP порт:" -ForegroundColor Yellow -NoNewline; $ RDPPort = Read-Host
Set-ItemProperty -Path "HKLM: \ SYSTEM \ CurrentControlSet \ Control \ Терминален сървър \ WinStation \ RDP-TCP \" -Име PortNumber -Value $ RDPPort
New-NetFirewallRule -DisplayName "Нов RDP порт $ RDPPort" - Входящ вход за насочване -LocalPort $ RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "Нов RDP порт $ RDPPort" - Входящо насочване -LocalPort $ RDPPort -Protocol UDP -Action Allow
Restart-Service termservice -force
Хост за запис "Номер на RDP порта е променен на $ RDPPort" -ForegroundColor Magenta
Можете да промените RDP номера дистанционно на няколко компютъра в AD домейн (дефиниран от OU) с помощта на Invoke-Command и Get-ADComputer:
Хост за запис "Въведете номера на новия RDP порт:" -ForegroundColor Yellow -NoNewline; $ RDPPort = Read-Host
$ PCs = Get-ADComputer -Filter * -SearchBase "CN = DMZ, CN = Компютри, DC = winitpro, DC = bg"
Foreach ($ PC в $ PC)
Invoke-Command -ComputerName $ PC.Name -ScriptBlock
парам ($ RDPPort)
Set-ItemProperty -Path "HKLM: \ SYSTEM \ CurrentControlSet \ Control \ Терминален сървър \ WinStation \ RDP-TCP \" -Име PortNumber -Value $ RDPPort
New-NetFirewallRule -DisplayName "Нов RDP порт $ RDPPort" - Входящ вход за насочване -LocalPort $ RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "Нов RDP порт $ RDPPort" - Входящ вход за насочване -LocalPort $ RDPPort -Protocol TCP -Action Allow
Restart-Service termservice -force
Тази инструкция за промяна на стандартния RDP порт е подходяща за всяка версия на Windows, като се започне от Windows XP (Windows Server 2003) и завърши с Windows 10 (Windows Server 2019).