Fail2ban не банит за мой пользовательский фильтр

Я создал новый фильтр в fail2ban для моей собственной установки облака. Когда я тестировал его с помощью 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 часовой пояс по умолчанию для Европы / Берлина по умолчанию (я нахожусь в Европе / Амстердаме, что на час раньше). Я нашел эту информацию в их документации для config.php. Добавление

'logtimezone' => 'Europe/Amsterdam',

Сделал свое дело, так что теперь каждый может снова получить бан =)

Другие вопросы по тегам