IPTablesconfiguration根据尝试丢弃/拒绝IP

我正在阅读一些关于保护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/