Windows如何防范RDP暴力破解攻击

在之前的文章中有介绍如何使用fail2ban防范SSH暴力破解攻击,但fail2ban只支持Linux平台下的SSH防护,那针对Windows平台下的远程桌面RDP是否也有类似的软件支持呢。经过一番搜索和测试验证,推荐两款Windows下防范RDP暴力破解攻击的软件:RdpGuardEvlWatcher

其实有大佬自己制作了Windows版本的fail2ban,有兴趣的可以研究下
项目地址:https://gitee.com/iamverygood/fail2ban-win

RdpGuard


RdpGuard介绍

RdpGuard是一种基于主机的入侵防御系统(HIPS),可保护您的Windows Server免受对各种协议和服务(RDP、FTP、IMAP、POP3、SMTP、MySQL、MS-SQL、IIS Web登录、ASP.NET Web表单、MS Exchange、RD Web访问、VoIP/SIP、SSH等)的暴力攻击。

它监视服务器上的日志并检测失败的登录尝试。如果单个IP地址的登录尝试失败次数达到设定的限制,攻击者的IP地址将被阻止指定的时间段。

安装RdpGuard

说明
RdpGuard非免费软件,需要购买许可证,一个许可证允许您在一台计算机上安装,许可证价格详见官网
如果需要破解版测试使用可使用以下链接下载~破解版安装步骤稍有不同,详细请阅读Readme.txt文件
RdpGuard破解版下载链接:https://pan.baidu.com/s/1810HPKsEAe76DVHwpsKLrA 提取码:6k64

  1. 右键单击“rdpguard-9-0-3.exe”,选择“以管理员身份运行

  2. 单击“Next

  1. 勾选“I accept the agreement”,单击“Next

  1. 单击“Browse...”设置安装目录,最后单击“Next

  1. 单击“Next

  1. 开始安装,等待安装完成…

  1. 安装完成后,单击“Finish”退出安装程序,自动启动RdpGuard

配置RdpGuard

  1. 单击“Tools”>“Options...

  1. 在“General”选项卡可以设置是否自动检查软件更新、在几次连接不成功之后就禁止对方连接、指定RdpGuard记住失败登录尝试的时间、指定攻击者的IP地址应该被阻塞多久等等

  1. 切换到“Interface选项卡,勾选“Close to system tray”,最后单击“Save”,实现关闭窗口时RdpGuard不会退出,而是照常运行,对服务器进行24小时防护。

说明
若需重新打开RdpGuard窗口可以在系统托盘中双击图标打开

验证

通过Windows自带的mstsc或其他远程桌面工具连接服务器,然后故意输错三次以上密码,最后查看RdpGuard窗口下方的“Blocked IP Addressss”中是否出现了你的公网出口IP,包括IP地址信息、被封禁时间、解除封禁时间和协议信息

解封IP

如果发现有IP被误封,或者确认登录IP是安全的,可以在RdpGuard窗口下方的“Blocked IP Addressss”中找到对应的IP,对IP右键单击,选择解封或者解封并加白操作。

EvlWatcher


EvlWatcher介绍

EvlWatcher基本上就是Windows的fail2ban。在实际环境中,经常会有许多黑客使用蛮力尝试攻击你的服务(例如RDP等等)。你可以在Windows事件日志中清楚地看到对应的日志及其IP。虽然网络上有很多工具、脚本等等,可以读取事件日志并自动禁止攻击者的IP。但是你很懒惰,你需要像fail2ban这样的东西,有一组预配置的规则可以自动运行,并且仍然有足够的灵活性来实现自定义配置。EvlWatcher就是这样做的,它定期扫描Windows-Event-Log,并自动做出反应。

EvlWatcher的工作原理是安装一个服务,该服务会定期扫描事件日志以查找不成功的登录尝试。当违反其中一条规则时(例如:尝试在没有正确凭据的情况下登录,在2分钟内登录超过5次),它会将这个可怜的混蛋置于通用防火墙规则中,从而禁止攻击者2小时。

此外,当有人反复尝试时,会有一个永久的禁止名单。

当然,你可以根据自己的喜好调整规则。它们基本上由事件源和用于提取IP的正则表达式组成,非常简单。

说明
EvlWatcher为开源软件,截止本文发表时最新版本为v2.1.5

安装EvlWatcher

  1. 右键单击“EvlWatcher-v2.1.5-setup.exe”,选择“以管理员身份运行

  2. 单击“I Agree

  1. 单击“Next

  1. 单击“Browse...”设置安装目录,最后单击“Install

  1. 开始安装,等待安装完成…

  1. 安装完成后,单击“Close”退出安装程序

配置EvlWatcher

  1. 在开始菜单中搜索evlWatcherConsole并打开

  2. 在“Currently Banned”选项卡可以看到有三个IP列表,从左往右分别是“临时封禁IP清单”、“永久封禁IP清单”和“白名单IP清单

  1. 在“Live”选项卡可以查看日志信息,并可设置查看的日志级别

  1. 在“Global Settings”选项卡,单击右下角的“Edit”可以修改全局配置,包括哪个级别的日志需要记录到Windows-Event-Log、在“Live”选项卡最多可以查询多少条历史日志、还有多久扫描一次Windows-Event-Log(默认30秒)

  1. 在“Rule Tester”选项卡可以进行规则调试工作

说明
EvlWatcher只支持在前台运行,因此不要关闭EvlWatcher的主窗口,否则将无法起到防护作用

验证

通过Windows自带的mstsc或其他远程桌面工具连接服务器,然后故意输错三次以上密码,最后等待30秒后查看EvlWatcher窗口的“temporarily banned IPs”中是否出现了你的公网出口IP,并且客户端无法连接服务器。

说明
如果出现“temporarily banned IPs”中显示IP已封禁,但客户端仍然可以连接服务器的情况,请检查下Windows防火墙是否开启。因为EvlWatcher是通过自动配置Windows防火墙规则实现IP封禁,如果Windows防火墙未开启的话将导致防火墙规则无法生效。

EvlWatcher对应的防火墙规则配置如下图,当封禁IP为空时会自动禁用此规则


解封IP

如果发现有IP被误封,或者确认登录IP是安全的,可以在EvlWatcher窗口的“temporarily banned IPs”中选中对应的IP,单击下方的解封或者加白按钮。