Cygwin SSHd自动阻止失败的登录


20

我在Windows Server 2008计算机上使用SSH守护进程运行Cygwin。我在查看事件查看器时,发现上个星期左右,来自不同IP的每秒多达5到6次失败的登录尝试(强力)。

如何自动阻止这些IP,而不是手动逐个阻止它们?

谢谢,艾哈迈德

Answers:


34

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


Windows sshd_block

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

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

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

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

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

一秒钟之后,所有在禁止时间内被禁止的IP地址都将被禁止(通过从路由表中删除黑洞路由)。


您可以在此处下载软件,也可以在此处浏览档案。

编辑:

自2010年1月20日起,我已更新代码以支持使用Windows Vista / 2008/7/2008 R2上的“高级防火墙”来通过创建防火墙规则来对流量进行黑屏处理(这更符合“ fail2ban”的行为)。我还添加了一些其他匹配字符串,以捕获“无效用户”而非“非法用户”的OpenSSH版本。


2
我感谢您所做的工作,并认为这是一个很棒的主意,但是是否有可能对其进行修改以与RDP尝试一起使用?我的Windows服务器一直在不断受到在线攻击和帐户锁定,尽管确实需要解锁半情感用户才能再次使用该用户,打开用户帐户以进行另一次锁定。


即使没有进行暴力攻击,此脚本也占用了我10%的CPU ...
jjxtra 2012年

@PsychoDad:如果您有兴趣,请直接与我联系,我们将进行故障排除。我还没有看到您所看到的行为。
埃文·安德森

1
我也希望看到RDP连接。谢谢
boomhauer 2012年


2

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

Syspeace与Windows紧密合作,以最佳性能检测可能的威胁。持续监视事件日志中的事件是否有任何可疑行为。如果事件被认为是对系统的威胁,则Syspeace会通过检查内部规则库进入下一个级别,该内部规则库仅阻止IP地址并将规则添加到Windows防火墙。

本地白名单

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

本地黑名单

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

全球黑名单

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

讯息传递

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

报告书

在发生重要事件时获取电子邮件可能会很好,但是有时您也想获取摘要。Syspeace会汇总有关系统上所有攻击尝试的每日报告,并向您发送包含该信息的消息。Syspeace还以相同的方式编辑每周报告。

www.syspeace.com


2

从字面上看,从我的服务器上的中国/美国/印度进行的所有登录尝试都尝试使用管理员登录,但我已将其禁用。

禁用管理员登录,然后编写一个脚本来阻止所有尝试使用“管理员”作为用户名登录的IP地址,会不会更容易?



1

您可以考虑使用SSHBlock-一种用于控制暴力破解尝试的Perl脚本。

SSHBlock是一个守护程序,用于监视系统日志以使用SSH进行入侵尝试,并通过在/etc/hosts.allow(TCP Wrappers)中添加行来自动阻止不良主机。预定义了几个阈值,以便能够阻止那些在较长或更短时间内尝试多次的人。使用-h查看命令行选项。

我还没有在Cygwin上使用过它。
但是,这里是指向另一篇以其他方式描述sshblock的文章的链接:
防御暴力ssh攻击

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.