Answers:
您可以做的一件小事就是使用诸如DenyHosts之类的东西:
http://denyhosts.sourceforge.net/
它使用内置的hosts.allow / hosts.deny阻止SSH滥用者。
避免这些攻击的最简单方法之一就是更改sshd侦听的端口
除了其他好的建议,一个真正容易的事情是限制传入连接的速率。每个IP限制为每分钟3个连接:
iptables -A INPUT -p tcp --dport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 3/min --limit-burst 3 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
对PF使用类似的东西:
表<ssh-brute>
在标签ssh_brute的快速日志中持久存储块,
将$ ext_if原始tcp传递到($ ext_if)端口ssh调制状态\
(max-src-conn-rate 3/10,过载刷新全局)
端口敲门是将此类问题排除在外的非常可靠的方法。有点轻率,有时很烦人,但这绝对使问题消失了。
上下文很重要,但是我建议像这样:
除了 sherbang的限速建议之外,延迟的时间很重要。通过将3次登录尝试的组之间的延迟从2分钟增加到20分钟,进行超过3次登录尝试的不同IP地址的数量减少了,比较一台我的机器上两个星期的时间,从44次尝试到3次。这三个地址都没有尝试超过11小时。
非常有趣,但是auth.log对我来说更具可读性...