我正在阅读一些关于保护SSH的CentOS文档,我注意到有一个规则可以在IPTables中实现,以DROP IP在一定的时间范围内尝试访问你的SSH端口。 它看起来像这样:
iptables -A INPUT -p tcp --dport 22 -m recent --set --name ssh --rsource iptables -A INPUT -p tcp --dport 22 -m recent ! --rcheck --seconds 60 --hitcount 4 --name ssh --rsource -j ACCEPT
我已经移动了我的SSH端口,但是我已经在SSH迁移到的端口上实现了这个规则。
我的问题是,因为这是SSH的理想select,这不能写入其他端口? 应该是? 蛮力攻击是通过其他方式来实现的吗? 说你可以实现一个IPTables的规则来完成整个盒子的工作,这会是疯狂的吗?
我猜想一个高stream量的服务器几乎可以“跳闸”这个规则,但是我也猜测,暴力攻击在很短的时间内会达到这么大的数量,可能会有一些限制来防止这个。
非常感谢SF
看看sshguard,它确实如此。 最初只是为ssh写的,现在它也涵盖了其他的服务。 http://www.sshguard.net/
您可以为SSH和其他服务执行此操作,但是您需要知道预期的连接数。 否则,您可能会拒绝合法的stream量。
要注意的一个重要的事情是在recent规则之前有这样的规则。
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
否则,你将限制所有的数据包,而不仅仅是新的连接。
我个人使用DenyHost来完成这个任务。 http://denyhosts.sourceforge.net/