数百次 ssh 登录失败

数百次 ssh 登录失败

每天晚上,我的 RedHat 4 服务器上都会有数百次(有时是数千次)失败的 ssh 登录。由于远程站点的防火墙原因,我需要在标准端口上运行。我应该做些什么来阻止这种情况。我注意到许多来自同一个 IP 地址。一段时间后难道不应该停止这些登录吗?

答案1

您可以使用 iptables 对 SSH 端口的新传入连接进行速率限制。我必须查看您的整个 iptables 配置才能为您提供交钥匙解决方案,但您基本上是在谈论添加以下规则:

iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 5 --name SSH --rsource -j DROP 
iptables -A INPUT -p tcp --dport 22 -m recent --set --name SSH --rsource -j ACCEPT 

这些规则假设您接受表中较早的已建立连接(因此只有新连接才会命中这些规则)。新的 SSH 连接将命中这些规则并被标记。在 60 秒内,来自单个 IP 地址的 5 次尝试将导致来自该 IP 的新传入连接被丢弃。

这对我来说很有效。

编辑:我更喜欢这种方法而不是“fail2ban”,因为不需要安装额外的软件,而且完全在内核模式下进行。它不像“fail2ban”那样处理日志文件解析,但如果你的问题只是与 SSH 有关,我不会使用需要安装软件且更复杂的用户模式。

答案2

失败2ban可以通过阻止登录尝试失败次数过多的 IP 地址来帮助解决此问题。

答案3

如果可以的话,我建议使用非标准端口 SSH(即端口 10222),但是既然您提到不能这样做,我建议使用诸如 DenyHosts 之类的工具。

http://denyhosts.sourceforge.net/

很棒的软件包,易于安装和配置。

答案4

帮自己一个忙,禁用密码登录。仅使用身份验证密钥(例如 google ssh-keygen - 例如:http://www.puddingonline.com/~dave/publications/SSH-with-Keys-HOWTO/document/html/SSH-with-Keys-HOWTO-4.html) 您的服务器将更加安全,您将更舒适地连接到它(检查 ssh-agent、ssh-add、keychain),并且您将不再是 ssh 暴力攻击的受害者。

相关内容