真正有效的rdp暴力破解防御是隐藏服务而非加固登录,零信任方式实现先认证再连接;windows自带脚本能自动封禁爆破ip;强制mfa可使破解成功率趋近于零;关闭非必要内网rdp实例阻断横向移动。

RDP 暴力破解不是靠“躲”能防住的,改端口、换用户名、设强密码这些老办法,现在基本挡不住自动化扫描+字典爆破组合拳。真正有效的防御,是让攻击者根本连不到 RDP 服务本身。
用零信任方式隐藏 RDP,比加固门锁更管用
传统思路总想着“怎么让登录更难”,但攻击者根本不需要登录——他们只要连上 3389(或你改的任何端口),就能发起爆破。零信任防火墙的核心逻辑是:不暴露服务,就不给攻击入口。它不依赖端口是否隐藏、IP是否固定,而是把 RDP 访问变成“先认证、再授权、后连接”的动态流程。用户访问前必须通过身份核验(如手机号+验证码、企业微信扫码、硬件令牌等),验证通过后,系统才临时开通一条加密通道直连目标主机,整个过程对公网完全隐身。
Windows 自带方案也能实时阻断攻击 IP
如果你暂时没法上专业方案,Windows 自身就有能力自动封禁爆破源。关键看事件 ID 4625(登录失败)日志里的源 IP。用一段 PowerShell 脚本定时扫描该日志,提取 5 分钟内失败超 5 次的 IP,自动加入 Windows 防火墙入站规则黑名单——全程无需第三方工具,也不用重启服务。脚本可设置为每 3 分钟运行一次,基本能做到攻击发生后 5 分钟内拦截。
- 确保“安全”日志未被覆盖(右键日志 → 属性 → 设置日志大小和存档策略)
- 脚本需以管理员权限运行,并启用执行策略:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - 封禁规则建议加描述,例如
Block-RDP-Brute-20260729,方便后续排查
强制多因素认证(MFA)是成本最低的硬门槛
哪怕密码被撞库泄露,没有第二因子也无法登录。Windows Server 2016 及以上版本原生支持通过“网络策略服务器(NPS)+ Azure MFA”或“本地 RADIUS + 短信/OTP 服务”实现。中小企业可用免费开源方案如 privacyIDEA,对接 Windows 的 NPS 扩展即可。启用后,所有 RDP 登录必须输入动态验证码,暴力破解成功率趋近于零。
别忽略内网横向风险:关掉不用的 RDP 实例
很多爆破成功不是因为外网 RDP 失守,而是攻击者先拿下一台边缘服务器(如 Web 服务器),再从内网扫描其他机器的 3389。定期用命令检查哪些主机开了 RDP:
Get-ChildItem HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server -ErrorAction SilentlyContinue | ForEach-Object { if ((Get-ItemProperty $_.PSPath).fDenyTSConnections -eq 0) { Write-Host "RDP enabled on this machine" } }
没必要的就设 fDenyTSConnections = 1,比加固更彻底。











