更新至最新版本后 Fail2ban 仍未禁止

更新至最新版本后 Fail2ban 仍未禁止

我运行的是 fail2ban 0.8.11,这是使用 apt-get 安装在 Ubuntu 14.04 上的版本。我下载并安装了最新的源代码 0.93。

当我启动它时,我收到两条错误消息。

WARNING Wrong value for 'loglevel' in 'Definition'. Using default one: '1'
WARNING 'logpath' not defined in 'INCLUDES'. Using default one: '/var/log/messages'

我看过一些关于日志级别消息的讨论。在最近的一次更新中,它已从 更改为intstring据我所知,这不是一个真正的问题。

我不知道这个logpath错误是否严重。我已将其设置为fail2ban.conf

logpath  = /var/log/fail2ban.log

Fail2ban 不会禁止任何 IP 地址,也不会将任何内容写入日志 - 无论是/var/log/fail2ban.log还是/var/log/messages。这包括在启动或停止时不写入任何消息。但是,该服务正在运行,并且我在启动或停止时会收到警告电子邮件。

我还注意到,当我使用交互式客户端时,出现了管道损坏错误:

fail2ban> status
Status
|- Number of jail:      2
`- Jail list:   recidive, ssh
ERROR  [Errno 32] Broken pipe
fail2ban>

我感觉这可能是一件简单的事情,但我不确定是什么。安装几乎是默认的。在安装新版本之前,我没有做过任何重大更改。

答案1

看起来它与 有某种关联loglevel。我以loglevel交互方式更改了 ,如下所示。然后我停止并启动了该服务(我之前已经做过几次了)。当它重新启动时,它不再向我发送管道损坏的消息。它还会写入日志并禁止 IP。

fail2ban> get loglevel
Current logging level is ERROR
ERROR  [Errno 32] Broken pipe
fail2ban> set loglevel 3
Current logging level is INFO
ERROR  [Errno 32] Broken pipe
fail2ban> reload
ERROR  [Errno 32] Broken pipe
fail2ban> exit

fail2ban-client -i

fail2ban> get loglevel
Current logging level is INFO
ERROR  [Errno 32] Broken pipe
fail2ban> stop
Shutdown successful
fail2ban> start
2015-12-08 22:48:37,343 fail2ban.server         [8583]: INFO    Starting Fail2ban v0.9.3
2015-12-08 22:48:37,344 fail2ban.server         [8583]: INFO    Starting in daemon mode
fail2ban> get loglevel
Current logging level is 'INFO'
fail2ban> exit

答案2

这是 Ubuntu 14.04 中 fail2ban 从 0.8.11 更新到 0.9 时的一个已知问题。请参见此处:

‘Definition’ 中 ‘loglevel’ 的值错误。#967

临时解决方案是运行fail2ban-client stop然后 fail2ban-client start。它运行良好......

最终的解决方案是在Ubuntu 14.04上直接安装0.9.1。

相关内容