7 python performance ram cpu-usage fail2ban
我是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
Run Code Online (Sandbox Code Playgroud)
如果我们将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
Run Code Online (Sandbox Code Playgroud)
在这里,我们有相反的情况,其中findtime计数器每10秒重置一次.它还监控所有*访问日志(我猜,再次,我是新手).这可能意味着它正在监视access.log,other_vhosts_access.log,以及https部分网站的https_access.log.如果这是忙碌的一天怎么样,这些文件都是10-20mb?
希望这有助于解释我的想法.在此先感谢您的帮助.
只有一种方法可以找出这一点,即测试它,没有其他方法。
如果需要,添加有关内存使用情况的监控,但没有公式可以告诉您需要的 CPU、IO 或内存量。
作为一般规则,当您重新调整系统时,请在注释中添加新值以及需要重新调整的日期。这将使您了解是否有任何趋势。
我个人的看法是每次增加受影响的资源 30-50%。如果您使用的次数少于此次数,则您将面临过于频繁使用的风险。