我的服务器(VPS)提供以下服务:
- 电子邮件服务器(postfix/dovecot)
- 域名服务器(bind 9)
- HTTP服务器(nginx)
Fail 2ban在 iptables 中创建了很多条目,这导致服务器变得非常慢,甚至有时无法访问,我必须通过控制台登录并刷新 iptables 才能连接到服务器。使用的jail如下所示:
- 监狱名单:
dovecot, named-refused, nginx-botsearch, nginx-http-auth, nginx-limit-req, php-url-fopen, postfix, postfix-auth, recidive
95%的禁令是由 * 后缀 * 监狱触发的。我通过设置 * 累犯 * 监狱来减少 iptables 的大小:bantime = 7200
findtime = 3600
maxretry = 5
,系统慢度略有改善,但仍然不够。- 这种缓慢是fail 2ban的责任吗?还是iptables本身?在以前的一个项目中,我没有安装fail 2ban,我使用了带有许多条目的 iptables(比我实际创建的fail 2ban条目还多),系统速度很快。
我很感激任何关于我如何处理这个fail 2ban问题的建议。
2条答案
按热度按时间gmol16391#
两者都有责任。Fail 2Ban监控你的日志--所以如果有很多日志记录,Fail 2Ban将不得不解析更多的文本。IPtables对规则列表执行线性搜索--不可能使用二分搜索,因为这会破坏逻辑。所以规则越多,IPtables就越慢。
你应检查
/etc/fail2ban/jail.conf
中的usedns
和banaction
设置。DNS查询可能较慢,你可能需要尝试iptables-ipset-proto4
而不是iptables-multiport
作为操作。vmpqdwk32#
你可以在
logpath
之后添加tail
,这样fail2ban只会从文件末尾读取,否则,如果你重新启动,fail2ban读取大量日志文件时会有很长的暂停时间。