当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 更改 Windows 中的默认远程桌面 (RDP) 端口 3389

作者:精品下载站 日期:2024-12-14 23:15:18 浏览:12 分类:玩电脑

更改 Windows 中的默认远程桌面 (RDP) 端口 3389


在所有 Windows 操作系统中,分配给 RDP(远程桌面协议)的默认端口是 TCP 3389。在 Windows 中启用 RDP 后,

TermService

(远程桌面服务)开始侦听端口 3389。在本文中,我们将向您展示如何使用注册表编辑器和 PowerShell 更改 Windows 桌面版本 (7/8/10/11) 和 Windows Server 上的默认 RDP 端口号。

请注意,除了 TCP 之外,现代版本的 Windows 还使用具有相同端口号 (3389) 的 UDP 来进行远程桌面连接。

[玩转系统] 更改 Windows 中的默认远程桌面 (RDP) 端口 3389

您可以将 Windows 中的默认 RDP 端口号从 3389 更改为任何其他端口号。当您需要隐藏 RDP/RDS 主机以防止端口扫描器在网络上使用开放的 RDP 端口 TCP/3389 查找 Windows 主机时,最常使用此方法。

更改 RDP 端口将减少利用 RDP 漏洞的机会(CVE-2019-0708 中描述了 RDP BlueKeep 中的最后一个严重漏洞),减少 RDP 暴力攻击(不要忘记定期分析 RDP 连接日志)、SYN 以及禁用 NLA 时的其他类型攻击的数量。大多数情况下,RDP 端口在直接连接到 Internet (VPS/VDS) 的计算机上或在边缘路由器将端口 3389/RDP 转发到 LAN 中的 Windows 主机的网络中发生更改。

尽管更改了端口号,但将主机上的 RDP 端口开放到 Internet 是不安全的。端口扫描器允许攻击者发现新端口上的 RDP 侦听器(通过签名)。如果要对网络上的计算机开放 RDP 访问,最好使用 VPN、RD Web 访问、RDS 网关和其他安全连接工具。

选择非标准RDP端口时,请注意,不建议使用该范围内的端口

1-1023

(已知端口)。使用 RPC 端口范围内的动态端口 (

49152 to 65535

),或范围内的任何端口

1024 to 49151

未被其他服务或应用程序使用。

如何在Windows上更改远程桌面端口?

在我们的示例中,我们将更改远程桌面服务侦听 1350 的端口号。去做这个:

  1. 打开注册表编辑器(

    regedit.exe

    )并转到注册表项HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

  2. 找到名称为 PortNumberDWORD 参数。此参数显示远程桌面服务正在侦听的端口。默认为 3389(十进制);

  3. 更改该参数的值。我已将 RDP 端口更改为 1350(十进制);

    [玩转系统] 更改 Windows 中的默认远程桌面 (RDP) 端口 3389

    Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" -Name PortNumber -Value 1350
  4. 如果您的计算机上启用了 Windows 防火墙,您将必须创建一条新规则,以允许到新 RDP 端口的入站连接。 如果您通过 RDP 重新配置远程 Windows 主机,请确保在重新启动 TermService 之前在防火墙中创建允许规则,否则,您将无法访问服务器

  5. 您可以在 Windows Defender 防火墙控制台中手动为新的 TCP/UDP RDP 端口创建允许入站规则 (

    firewall.cpl

    ) 或使用 NetSecurity 模块中的 PowerShell cmdlet:

    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 中的默认远程桌面 (RDP) 端口 3389

  6. 使用以下命令重新启动计算机或重新启动远程桌面服务:

    net stop termservice & net start termservice

    [玩转系统] 更改 Windows 中的默认远程桌面 (RDP) 端口 3389

  7. 要通过远程桌面连接到此 Windows 主机,您必须使用冒号在 mstsc.exe 客户端中指定新的 RDP 连接端口,如下所示:

    RDPComputerName:1350

    或通过 IP 地址:

    192.168.1.10:1350

    或从命令提示符:

    mstsc.exe /v 192.168.1.10:1350

    [玩转系统] 更改 Windows 中的默认远程桌面 (RDP) 端口 3389


    如果您使用 RDCMan 管理多个 RDP 连接,您可以指定在连接设置选项卡中配置的 RDP 端口。

    [玩转系统] 更改 Windows 中的默认远程桌面 (RDP) 端口 3389

  8. 然后您将使用新的 RDP 端口成功连接到计算机的远程桌面。您可以使用

    netstat -na | Find “LIST” 

    命令以确保您的远程桌面服务正在侦听新端口。

    [玩转系统] 更改 Windows 中的默认远程桌面 (RDP) 端口 3389

请注意,UDP RDP 端口号也自动更改为 1350(您可以使用 TCPView 工具检查这一点)。

[玩转系统] 更改 Windows 中的默认远程桌面 (RDP) 端口 3389

使用 Test-NetConnection 命令检查默认 RDP 端口 3389 现已关闭(

TcpTestSucceeded: False

):

Test-NetConnection 192.168.3.102 -port 3389 |select TcpTestSucceeded

现在您需要使用新的端口 1350 进行 RDP 连接。

[玩转系统] 更改 Windows 中的默认远程桌面 (RDP) 端口 3389

注意。如果更改默认 RDP 侦听端口号,则在使用远程协助、Windows 10 中的影子 RDP 连接以及 Windows Server 上的 RDS 影子时可能会遇到一些问题。

如果要更改域计算机上的 RDP 端口号,可以使用组策略功能。创建一个新的 GPO,它将使用新的 RDP 端口号将 PortNumber 注册表参数部署到域计算机。

使用 PowerShell 更改 RDP 侦听端口号

用于更改 RDP 端口号、创建防火墙规则和重新启动远程桌面服务的完整 PowerShell 脚本可能如下所示:

Write-host "Specify the number of your new RDP port: " -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 "The number of the RDP port has been changed to $RDPPort " -ForegroundColor Magenta

您可以更改远程计算机上的 RDP 端口号。为此,您需要在远程计算机上启用 WinRM,然后可以使用 Invoke-Command cmdlet 连接到计算机:

Invoke-Command -ComputerName wksname112 -ScriptBlock {Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value 1350}

如果您需要在 AD 域(特定 OU 中)中的多台计算机上远程更改 RDP 编号,请使用以下脚本(您可以使用 Get-ADComputer cmdlet 获取 OU 中的计算机列表):

Write-host "Specify the number of your new RDP port: " -ForegroundColor Yellow -NoNewline;$RDPPort = Read-Host
$PCs = Get-ADComputer -Filter * -SearchBase "CN=IT,CN=Computers,CN=NY,DC=a-d,DC=com"
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 "NewRDPPort-TCP-In-$RDPPort" -Direction Inbound -LocalPort $RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "NewRDPPort-UDP-In-$RDPPort" -Direction Inbound -LocalPort $RDPPort -Protocol TCP -Action Allow
Restart-Service termservice -force
}

本更改默认 RDP 端口的指南适用于从 Windows XP (Windows Server 2003) 开始到现代 Windows 10、Windows 11 和 Windows Server 2022 版本的任何 Windows 版本。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯