wail2ban可实现windows下rdp暴力破解防护:监控事件id 4625,自动封禁异常ip并按5^次数分钟动态延长封锁时长。需下载解压、配置powershell执行策略、编辑wail2ban_config.ini启用4625监控及白名单,最后运行start_wail2ban.bat启动服务。

Windows系统本身不原生支持Fail2ban,但可通过Wail2Ban这一专为Windows设计的fail2ban功能等效工具,实时监控RDP登录失败事件(ID 4625),在检测到同一IP短时间多次失败后自动添加防火墙规则封锁该IP。
下载并准备Wail2Ban运行环境
访问项目主页 https://gitcode.com/gh_mirrors/wa/wail2ban ,点击“Download ZIP”下载最新版压缩包;解压到固定路径如 C:\wail2ban,确保路径不含中文或空格——PowerShell脚本在含空格路径下可能因未加引号而报错。
以管理员身份打开PowerShell,执行 Get-ExecutionPolicy 查看当前策略;若返回 Restricted 或 AllSigned,则必须先运行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 启用本地脚本执行权限。
配置RDP暴力破解监控规则
用记事本打开 C:\wail2ban\wail2ban_config.ini 文件,在 [Security] 区块下确认存在以下行:
4625=RDP Logins
这行表示启用对安全日志中事件ID 4625(远程桌面登录失败)的监控。若被注释(行首有分号),请删除分号;若整行缺失,请手动添加。此配置是触发RDP防护的前提,缺少它将完全不监控RDP攻击。
Windows 命令行编码与兼容规范。涵盖 GBK/UTF-8 编码、PowerShell/pwsh 互操作、Python/Node.js、Git 配置及代码生成规则。适用于 Windows 10/11 + MSYS2/Git Bash 环境下的所有命令行操作。
在 [Whitelist] 区块下添加你信任的管理IP,例如:192.168.1.50 = 运维笔记本。白名单IP永远不会被封锁,即使它们自己输错密码100次。
启动服务并验证自动封锁能力
双击运行 C:\wail2ban\start_wail2ban.bat;若窗口闪退,说明PowerShell执行策略未生效或路径错误,请回溯前两步检查。
打开事件查看器 → Windows日志 → 安全,手动触发一次错误RDP登录(如用错误密码连自己服务器),等待约2分钟;然后在PowerShell中执行:powershell -file C:\wail2ban\wail2ban.ps1 -jail。
如果看到类似 192.168.1.100 | 5 | 2026-10-22 18:05:33 的输出,说明Wail2Ban已识别攻击IP并计入“监狱”;此时检查Windows防火墙高级设置 → 入站规则,应存在一条名为 wail2ban-ban-192.168.1.100 的阻止规则。
该规则会按公式 5^次数 分钟 自动计算时长:首次封锁5分钟,第二次25分钟,第三次125分钟——无需人工干预,封锁时间随攻击频次指数增长。










