Oamc

远程桌面改端口(含防火墙)

本页目录

场景

3389 被扫得太厉害,安全日志里全是爆破;或者公司规范要求非标端口。

前置条件

  • 有控制台或 IPMI 兜底,改完连不上还能救回来
  • 云主机记得同步改安全组
  • 新端口没被占用:netstat -ano | findstr :13389

配置

# 1. 改端口(十进制)
$key = "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
Set-ItemProperty -Path $key -Name PortNumber -Value 13389

# 2. 防火墙放行
New-NetFirewallRule -DisplayName "RDP-13389" -Direction Inbound `
  -Protocol TCP -LocalPort 13389 -Action Allow -Profile Domain,Private,Public

# 3. 可选:禁用原来的 3389 规则
#    中文系统叫「远程桌面 - 用户模式(TCP-In)」,英文叫「Remote Desktop - User Mode (TCP-In)」
Disable-NetFirewallRule -DisplayName "远程桌面 - 用户模式(TCP-In)"

# 4. 重启服务(会断开当前会话,能重启机器就重启)
Restart-Service TermService -Force

验证

netstat -ano | findstr :13389
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" PortNumber

客户端连接:mstsc /v:10.0.0.5:13389。

回滚

Set-ItemProperty -Path $key -Name PortNumber -Value 3389
Enable-NetFirewallRule -DisplayName "远程桌面 - 用户模式(TCP-In)"
Restart-Service TermService -Force

坑

  • 改完 TermService 会断开所有在线会话,生产上先发通知。
  • 端口是每台机器的,不是整个域。批量改用组策略首选项推注册表。
  • 云主机:Windows 防火墙改了、安全组没改,一样连不上。
  • 换端口不等于安全,扫描器照样扫全端口。真要防爆破,上 VPN / 堡垒机 / 限制源 IP。
  • 多台机器用了不同端口时,文档里写清楚,不然半年后没人记得哪台是哪个。