0aa8fe6
这次没有正文改动。
这是 windows/远程桌面改端口(含防火墙).md 的改动记录。后台每次保存都会留一份快照,
这里显示的是快照之间的差异,不会混入其他文章的改动。
还没有后台修改记录。
下面是 Git 里的提交,可能包含其他文章的改动(因为一次提交会带上工作区所有变化)。
0aa8fe6
这次没有正文改动。
032d400
@@ -0,0 +1,60 @@ +--- +tags: [远程桌面, 端口, 防火墙] +order: 20 +--- + +# 远程桌面改端口(含防火墙) + +## 场景 + +3389 被扫得太厉害,安全日志里全是爆破;或者公司规范要求非标端口。 + +## 前置条件 + +- 有控制台或 IPMI 兜底,改完连不上还能救回来 +- 云主机记得同步改安全组 +- 新端口没被占用:`netstat -ano | findstr :13389` + +## 配置 + +```powershell +# 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 +``` + +## 验证 + +```powershell +netstat -ano | findstr :13389 +Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" PortNumber +``` + +客户端连接:`mstsc /v:10.0.0.5:13389`。 + +## 回滚 + +```powershell +Set-ItemProperty -Path $key -Name PortNumber -Value 3389 +Enable-NetFirewallRule -DisplayName "远程桌面 - 用户模式(TCP-In)" +Restart-Service TermService -Force +``` + +## 坑 + +- 改完 `TermService` 会断开所有在线会话,生产上先发通知。 +- 端口是**每台机器**的,不是整个域。批量改用组策略首选项推注册表。 +- 云主机:Windows 防火墙改了、安全组没改,一样连不上。 +- 换端口**不等于安全**,扫描器照样扫全端口。真要防爆破,上 VPN / 堡垒机 / 限制源 IP。 +- 多台机器用了不同端口时,文档里写清楚,不然半年后没人记得哪台是哪个。