我是fail2ban的新手,很难找到我正在考虑设置的不同配置的性能考虑因素。这是在覆盆子pi板上运行,因此性能是一个问题。
我能想到的明显优化是使用高效的正则表达式,只需要最少数量的jail。我想我的具体问题是:
作为一个例子,这个监狱会让某人每天尝试3,600个SSH登录密码,如果他们想出了fail2ban配置并调整了他们的脚本时间以适应。
[ssh]
enabled = true
action = iptables-allports[name=ssh]
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
findtime = 120
如果我们将findtime更改为86400(1天)的不同极限,它每天只允许5次尝试,但现在它正在监视日志文件的更大部分。这对资源使用有何影响?
另一个例子,POST洪水攻击的监狱:
[apache-post-flood]
enabled = true
action = iptables-allports[name=apache-post-flood]
filter = apache-post-flood
logpath = /var/log/apache2/*access.log
maxretry = 10
findtime = 10
在这里,我们有相反的情况,其中findtime计数器每10秒重置一次。它还监控所有*访问日志(我猜,再次,我是新手)。这可能意味着它正在监视access.log,other_vhosts_access.log,以及https部分网站的https_access.log。如果这是忙碌的一天怎么样,这些文件都是10-20mb?
希望这有助于解释我的想法。在此先感谢您的帮助。
答案 0 :(得分:0)
只有一种方法可以找到它,测试它,没有别的。
如果需要,添加有关内存使用情况的监控,但没有公式可以告诉您需要的CPU,IO或内存量。
作为一般规则,当您重新调整系统时,请将新值和需要重新调整的日期放入注释中。这将允许您查看是否有任何趋势。
我个人的看法是每次增加30-50%的受影响资源。如果你使用的比这个少,那么你经常冒这个风险。