Fail2ban 不会禁止我的自定义过滤器

Fail2ban 不会禁止我的自定义过滤器

我在 fail2ban 中为我的 owncloud 安装创建了一个新过滤器。当我使用 fail2ban-regex 测试它时,它返回了匹配项,因此我认为它正在工作。然而,当我在监狱中打开它时,它并没有被禁止,我很难弄清楚为什么。

我创建了这个过滤器(owncloud.conf):

[Definition]
failregex = \"message\":"Login failed: '.*' \(Remote IP: '<HOST>\)\"
ignoreregex =

使用 fail2ban-regex 进行测试:

fail2ban-regex /home/villermen/hdd/owncloud/owncloud.log
config/fail2ban/filter.d/owncloud.conf

Running tests
=============

Use   failregex file : config/fail2ban/filter.d/owncloud.conf
Use         log file : /home/villermen/hdd/owncloud/owncloud.log


Results
=======

Failregex: 80 total
|-  #) [# of hits] regular expression
|   1) [80] \"message\":"Login failed: '.*' \(Remote IP: '<HOST>\)\"
`-

Ignoreregex: 0 total

Date template hits:
|- [# of hits] date format
|  [440447] ISO 8601
`-

Lines: 440447 lines, 0 ignored, 80 matched, 440367 missed
Missed line(s):: too many to print.  Use --print-all-missed to print all 440367 lines

实际监狱:

[owncloud]
enabled = true
filter = owncloud
logpath = /home/villermen/hdd/owncloud/owncloud.log
port = http,https

我正在使用 Ubuntu 14.04 和 Fail2ban 0.8.11-1。

答案1

我自己使用 fail2ban-regex 命令 (-v) 的详细选项解决了这个问题。这会显示它收集了哪些 IP 和时间。这些时间都相差了一个小时。这可能是 ownCloud 中的一个问题,当我找到真正的解决方案时,我会在这里发布。

使固定

ownCloud 默认使用非系统、非 php 的默认时区 Europe/Berlin(我使用的是 Europe/Amsterdam,比它早一个小时)。我在他们的 config.php 文档. 添加

'logtimezone' => 'Europe/Amsterdam',

成功了,所以现在每个人都可以再次被禁止=)

相关内容