ANa*_*imi 20 automation security windows-server-2008 ssh audit
我在 Windows Server 2008 机器上运行带有 SSH 守护进程的 Cygwin。我在查看事件查看器时注意到,在过去一周左右的时间里,来自不同 IP 的每秒多达 5 到 6 次失败的登录尝试(蛮力)。
如何自动阻止这些 IP,而不是手动一个一个地阻止它们?
谢谢,艾哈迈德
Eva*_*son 34
几年前,我编写了一个程序来阻止 IP 地址,就像您几年前所要求的那样,但它是为作为受雇工作的客户而做的。由于我今晚有一些“空闲”时间,所以我选择从头开始重新实现整个事情,编写一些有用的文档,并且通常使它成为一个可展示的程序。因为我从很多人那里听说这将是一件很方便的事情,所以它似乎值得花时间。希望您和社区的其他成员可以从中受益。
sshd_block 是一个 VBScript 程序,它充当 WMI 事件接收器以接收由 sshd 记录的 Windows 事件日志条目。它解析这些日志条目并按如下方式对其进行操作:
如果 IP 地址尝试使用标记为“立即禁止”的用户名登录,则该 IP 地址将立即被禁止。
如果 IP 地址尝试登录的频率高于给定时间段内允许的登录频率,则该 IP 地址将被禁止。
与重复登录尝试相关的“立即禁止”用户名和阈值可在脚本的“配置”部分进行配置。默认设置如下:
一秒钟内,所有在禁令期间被禁止的 IP 地址都会被取消禁止(通过从路由表中删除黑洞路由)。
编辑:
截至 2010 年 1 月 20 日,我已经更新了代码以支持在 Windows Vista / 2008 / 7 / 2008 R2 上使用“高级防火墙”,通过创建防火墙规则(这更符合“fail2ban”的行为)。我还添加了一些额外的匹配字符串来捕获“无效用户”而不是“非法用户”的 OpenSSH 版本。