Cygwin SSHd 自动阻止登录失败

Cygwin SSHd 自动阻止登录失败

我在 Windows Server 2008 机器上运行带有 SSH 守护进程的 Cygwin。我查看了事件查看器,发现在过去一周左右的时间里,来自不同 IP 的登录尝试失败次数高达每秒 5 到 6 次(暴力破解)。

我怎样才能自动阻止这些 IP,而不是手动逐个阻止它们?

谢谢,艾哈迈德

答案1

几年前,我编写了一个程序来阻止 IP 地址,就像您要求的那样,但是为了客户而编写的。由于我今晚有一些“空闲”时间,我选择从头开始重新实现整个程序,编写一些有用的文档,并使其成为一个可展示的程序。由于我从很多人那里听说这会是一件很方便的事情,所以似乎值得花时间。希望您和社区的其他成员能够从中受益。


Windows sshd_block

sshd_block 是一个 VBScript 程序,充当 WMI 事件接收器,用于接收 sshd 记录的 Windows 事件日志条目。它解析这些日志条目并对其采取以下操作:

  • 如果 IP 地址尝试使用标记为“立即禁止”的用户名登录,则该 IP 地址将被立即禁止。

  • 如果 IP 地址尝试登录的次数超过规定时间段内允许的次数,则该 IP 地址会被禁止。

脚本的“配置”部分可以配置“立即禁止”用户名和重复登录尝试的阈值。默认设置如下:

  • 立即禁止用户名 - 管理员、root、访客
  • 允许登录尝试 - 120 秒(2 分钟)内 5 次
  • 禁令持续时间 - 300 秒(5 分钟)

任何在禁令期限内被禁止的 IP 地址都会每秒被解除禁令一次(通过从路由表中删除黑洞路由)。


您可以下载软件这里并可以浏览档案这里

编辑:

截至 2010-01-20,我已更新代码以支持使用 Windows Vista / 2008 / 7 / 2008 R2 上的“高级防火墙”通过创建防火墙规则来执行流量黑屏(这更符合“fail2ban”的行为)。我还添加了一些额外的匹配字符串来捕获“无效用户”而不是“非法用户”的 OpenSSH 版本。

答案2

在 Linux 上,denyhosts 可以解决问题,但无法告诉您它是否适用于 Windows / Cygwin。试一试。

答案3

这个非常有趣,我们目前正在评估这个解决方案:

Syspeace 与 Windows 紧密配合,以最佳性能检测潜在威胁。事件日志中的事件会持续受到监控,以发现任何可疑行为。如果某个事件被视为对系统的威胁,Syspeace 将进入下一个级别,通过检查内部规则库,只需阻止 IP 地址并将规则添加到 Windows 防火墙即可。

本地白名单

用户始终可以将 IP 地址添加到本地白名单,例如,防止任何内部网络被阻止或临时添加单台 PC。应谨慎使用此功能,因为 Syspeace 认为此列表中的任何 IP 都是值得信赖的,并且始终会被忽略。

本地黑名单

Syspeace 会自动将任何威胁添加到本地黑名单中。您可以随时查看黑名单并根据需要添加或删除它们。但我们建议您不要对此列表进行任何更改,因为您可能会意外地为未知黑客铺平道路。

全局黑名单

Syspeace 的一个主要功能是能够预先阻止已知的全局黑名单 IP 地址。通过选择此选项,Syspeace 会将全局黑名单导入您的客户端并采取相应措施,只需按一下按钮即可将所有全局黑名单 IP 地址添加到防火墙规则集。

消息传递

每当发生重要事件、启动或停止服务、在防火墙中放置或删除规则、或与中央许可证和全局黑名单服务器的通信状态发生变化时,Syspeace 都能向您组织中的适当人员发送邮件。

报告

在重要事件发生时收到电子邮件可能很好,但有时您也希望获得摘要。 Syspeace 会编制一份每日报告,其中包含针对您系统的所有攻击尝试,并向您发送包含该信息的消息。 Syspeace 还以同样的方式编制每周报告。

www.syspeace.com

答案4

您可能需要处理 Windows 防火墙;Cygwin 没有这种功能。

相关内容