很多 Windows 服务器或个人电脑开启远程桌面后,最容易暴露的问题就是 3389 端口被公网扫描。但远程桌面本身并非必须关闭,真正需要解决的是:谁能连接、用什么方式连接、连接后能做什么、异常行为能否被发现。
只要把 RDP 从“直接暴露的登录入口”改造成“受控访问通道”,就能在保持远程桌面可用的同时,显著降低被入侵风险。
一、优先启用网络级身份验证 NLA
NLA 是 RDP 安全加固中性价比最高的一项配置。
启用 NLA 后,客户端在建立完整远程桌面会话之前,必须先完成身份验证。这样攻击者无法直接进入登录界面,也无法轻易利用部分 RDP 协议漏洞进行探测或攻击。
配置路径通常在:
系统属性 → 远程 → 仅允许运行使用网络级身份验证的远程桌面的计算机连接
如果客户端版本较旧,需要先确认其支持 NLA,否则可能无法连接。
二、不要直接对公网开放 RDP 端口
最危险的不是“开了远程桌面”,而是“把远程桌面端口直接暴露在公网”。
更安全的做法是:
- 通过防火墙或云平台安全组限制访问来源;
- 仅允许可信 IP 访问 RDP 端口;
- 禁止 0.0.0.0/0 全网开放;
- 优先通过 VPN、堡垒机或远程桌面网关访问。
例如,可以在 Windows 防火墙中为远程桌面入站规则配置“远程 IP 地址”白名单,只允许公司出口 IP、家庭固定公网 IP 或 VPN 网关 IP 连接。
如果使用的是云服务器,还需要同时检查云厂商安全组规则,避免只在系统防火墙做了限制,而安全组仍然对全网开放。
三、修改默认端口,降低被自动化扫描命中的概率
把 3389 改成其他端口,并不能阻止有目标的攻击者,但可以有效减少被自动化脚本批量扫描命中的概率。
建议修改为高位端口,例如 49152–65535 范围内的端口,避免使用 3390、33890 这类容易被猜到的变形端口。
修改端口时需要注意三件事:
- 修改注册表中的 RDP 监听端口;
- 在 Windows 防火墙中放行新端口;
- 连接时地址需要写成
IP:新端口的形式。
如果是在路由器上做了端口转发,也要同步修改转发规则,避免仍然暴露旧端口。
四、强制使用强密码,并启用多因素认证
RDP 一旦被攻破,通常意味着攻击者获得了完整的桌面会话和本地账户权限。因此,账户密码强度非常关键。
建议:
- 密码长度不少于 12 位;
- 包含大小写字母、数字和特殊符号;
- 不使用生日、电话、常见单词;
- 定期更换密码;
- 禁用空密码账户远程登录。
如果条件允许,最好为远程访问增加多因素认证。可以通过 VPN、远程桌面网关、零信任访问平台或第三方 MFA 方案实现。这样即使密码泄露,攻击者仍然无法直接登录。
五、配置账户锁定策略,抵御暴力破解
RDP 暴力破解之所以有效,是因为攻击者可以不断尝试密码。启用账户锁定策略后,连续失败达到阈值就会暂时锁定账户,从而打断自动化攻击。
可以配置类似策略:
- 登录失败 3–5 次后锁定账户;
- 锁定持续 15–30 分钟;
- 记录失败登录事件并触发告警。
需要注意,账户锁定策略也可能被用于制造拒绝服务,因此阈值不宜设置得过低,最好配合日志监控使用。
六、限制可远程登录的用户和权限
默认情况下,管理员组账户通常可以直接远程登录。但管理员账户往往是攻击者重点猜测的目标,直接使用 Administrator 远程登录风险较高。
更安全的做法是:
- 禁用 Administrator 账户远程登录;
- 创建专用远程管理账户;
- 仅将必要用户加入“远程桌面用户”组;
- 通过组策略限制“通过远程桌面服务允许登录”的用户;
- 限制远程会话访问本地磁盘、剪贴板、打印机等资源。
如果远程用户只需要查看屏幕,不应直接开放完整操作权限。权限越精确,被入侵后的横向移动空间就越小。
七、优先通过 VPN 或堡垒机访问
如果远程桌面必须从外网访问,最推荐的方案不是直接暴露 RDP,而是先建立安全通道。
常见方式包括:
- 通过 VPN 接入内网后再连接 RDP;
- 通过堡垒机统一中转和审计;
- 使用远程桌面网关 RD Gateway,通过 HTTPS 封装 RDP;
- 在企业环境中采用零信任网络访问 ZTNA。
这种方式的优势在于,RDP 端口不需要对公网开放,所有访问都可以被集中控制、记录和审计。即使攻击者获得了账号,也可能因为不在受信任网络或设备中而无法连接。
八、启用 TLS 加密,避免弱协议和弱加密
RDP 连接本身支持加密,但旧版本协议和弱加密算法可能存在风险。建议强制使用 TLS 1.2 及以上版本,禁用 TLS 1.0、TLS 1.1、SSL 和 RC4 等弱加密。
对于高安全环境,还可以为远程桌面服务配置正规 CA 签发的证书,避免使用自签名证书导致客户端频繁出现信任警告,也降低中间人攻击风险。
九、开启日志审计,监控异常登录
没有日志,就很难发现攻击是否已经发生。
建议重点监控:
- 事件 ID 4624:登录成功;
- 事件 ID 4625:登录失败;
- 远程桌面服务连接日志;
- 非工作时间登录;
- 来自陌生 IP 或陌生地理位置的登录;
- 短时间内大量失败登录。
可以配合脚本或安全工具,对短时间内多次失败的登录 IP 进行自动封禁。对于生产服务器,最好将日志集中发送到 SIEM 或堡垒机,避免攻击者入侵后删除本地日志。
十、及时安装系统补丁,修复 RDP 高危漏洞
RDP 历史上出现过多个高危漏洞,例如 BlueKeep 等远程代码执行漏洞。如果系统长期不更新,攻击者甚至可能无需密码就获得系统权限。
因此,远程桌面主机必须保持补丁更新:
- 及时安装 Windows 安全更新;
- 关注 RDP 相关漏洞通告;
- 对无法立即更新的旧系统制定隔离或迁移计划;
- 关闭不再需要的远程桌面服务。
可落地的加固清单
| 加固方向 | 推荐做法 | 安全收益 |
|---|---|---|
| 身份认证 | 启用 NLA、强密码、MFA | 阻止未授权连接和暴力破解 |
| 网络访问 | IP 白名单、VPN/堡垒机中转 | 避免 RDP 直接暴露公网 |
| 端口管理 | 修改默认 3389 端口 | 降低自动化扫描命中率 |
| 权限控制 | 最小权限、禁用管理员直连 | 降低入侵后危害范围 |
| 加密传输 | 使用 TLS 1.2+、正规证书 | 防止中间人攻击和窃听 |
| 审计运维 | 记录 4624/4625、定期巡检 | 及时发现异常登录 |
| 补丁管理 | 及时更新系统和 RDP 组件 | 修复已知远程漏洞 |
如果只能先做三件事,建议优先选择:启用 NLA、配置 IP 白名单或 VPN 访问、开启强密码和账户锁定策略。这三项配置成本不高,但能显著减少远程桌面被暴力破解和漏洞利用的风险。