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',
Сделал свое дело, так что теперь каждый может снова получить бан =)