我是 fail2ban 的新手,很难弄清楚我正在考虑设置的不同配置的性能注意事项。这是在树莓派板上运行的,所以性能是一个问题。
我能想到的明显优化是使用高效的正则表达式并且只需要最少数量的监狱。我想我的具体问题是:
- 相对于 findtime 值,资源使用量如何增加?我猜非常小和非常大的值都可能以不同的方式影响服务器,涉及 RAM 与 CPU。
- 同样,日志文件的大小和由 fail2ban 监控的不同日志文件的数量如何影响整体资源使用?
举个例子,如果有人发现了 fail2ban 配置并调整了脚本时间以适应这种情况,这个监狱将允许某人每天尝试 3,600 个 SSH 登录密码。
[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 日志(我再次猜测,我是新手)。这可能意味着它正在监视 access.log、other_vhosts_access.log,也许还有一个 https_access.log 用于站点的 https 部分。如果这是忙碌的一天,而这些文件每个都是 10-20mb 怎么办?
希望这有助于解释我的想法。在此先感谢您的帮助。