Fail2Ban 在重启时继续禁止

Fail2Ban 在重启时继续禁止

我在使用 Fail2Ban 时遇到了一个令人困惑的问题。

我运行的是旧版本,重新启动 Fail2Ban Daemon 后即可取消禁止所有 IP 地址。

我现在在 Centos 7 上安装了 Fail2Ban 0.9.3 版。当我重新启动 Fail2Ban 时,它会重新禁止之前被禁止的 IP 地址。我不希望发生这种情况,而是希望在重新启动时清除所有禁令,这是它以前的工作方式。

我已经进行了设置dbfile = None以防止持续禁止,并且也进行了设置dbpurgeage = 0以确保安全。

但重新启动后,任何被禁止的 IP 都会再次被禁止。

/var/log/fail2ban.log以下是用户通过 vsftpd 被禁止时的摘录:

2016-09-19 20:45:58,671 fail2ban.filter         [23752]: INFO    [vsftpd] Found xx.xx.xx.xx
2016-09-19 21:01:55,665 fail2ban.filter         [23752]: INFO    [vsftpd] Found xx.xx.xx.xx
2016-09-19 21:02:06,679 fail2ban.filter         [23752]: INFO    [vsftpd] Found xx.xx.xx.xx
2016-09-19 21:02:06,936 fail2ban.actions        [23752]: NOTICE  [vsftpd] Ban xx.xx.xx.xx

然后重新启动 Fail2Ban,以下是日志文件的最后几行:

2016-09-19 21:02:42,719 fail2ban.jail           [24213]: INFO    Jail 'vsftpd' started
2016-09-19 21:02:42,761 fail2ban.filter         [24213]: INFO    [vsftpd] Found xx.xx.xx.xx
2016-09-19 21:02:42,761 fail2ban.filter         [24213]: INFO    [vsftpd] Found xx.xx.xx.xx
2016-09-19 21:02:42,921 fail2ban.actions        [24213]: NOTICE  [vsftpd] Ban xx.xx.xx.xx

它似乎正在重新扫描日志文件并重新禁止之前被禁止的用户。

正如我提到的,这不是旧版本 Fail2Ban 的工作方式 - 我该如何恢复到以前的功能?

答案1

禁用 dbfile 意味着fail2ban在重新启动时会失去对每个文件中的读取位置的跟踪,因此读取整个文件导致您观察到的行为。

tail在语句中的文件名后面添加logpath将指示fail2ban从文件末尾开始读取,而不是从开头开始。这应该(我认为)能给出你想要的行为(或足够接近)。请参阅文档了解更多详情。相关章节是...

可选的空格分隔选项“tail”可以添加到路径末尾,以便从末尾读取日志文件,否则默认的“head”选项将从开头读取文件

不过,我同意迈克尔·汉普顿评论的含义——处理这个问题的正确方法是恢复使用dbfile和使用解禁功能。

相关内容