fail2ban与静态IP

如果从静态IP连接,是否有任何需要运行fail2ban来保护您的SSH连接?

据我所见,有fail2ban运行意味着你有效地打开端口22给黑客,因为它在你的iptables中放入一个条目,允许来自任何IP的端口22连接。 然后它可能根据你的监狱设置禁止他们,但有没有下面的iptables条目更安全?

Chain INPUT (policy ACCEPT) 1 ACCEPT tcp -- {**mystaticIP**} 0.0.0.0/0 tcp dpt:22 2 REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited **OR** maybe this option, with fail2ban, is safer? Chain INPUT (policy ACCEPT) 1 fail2ban-SSH tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ... Chain fail2ban-SSH (1 references) 1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited 

jail.local设置ignoreip = 127.0.0.1/8 { mystaticIP }

将应用程序的访问权限限制在可信IP的特定子集中,总是比向全世界开放的风险小。 考虑你提出的SSH例子。 Fail2ban可能会减慢企图蛮力攻击你的SSH服务器的速度。 它的用例通常是必须从互联网上可以获得的系统。 这很有用,但是如果SSH中存在漏洞则什么也不做。

防止数据包通过iptables进入SSH守护进程将阻止恶意stream量到达它。 这也将阻止来自世界的蛮横企图。 除非您的可信任IP之一首先被入侵或用作reflection点,否则此控制比fail2ban更有效。

这是基于某种意见的,但是我认为,如果您可以限制某个服务对一组特定IP的访问并阻止其他任何内容,那么比fail2ban这样的服务更可取,因为您也阻止了该服务的理论攻击。

完全有可能有人在OpenSSH中发现一个错误,如果某些情况得到满足,就会授予访问权限。 Fail2ban不会阻止,但是如果攻击者甚至不能连接他的IP,你仍然受到保护。