Поэтому у меня возникают проблемы с тем, чтобы Fail2Ban работал с настраиваемым фильтром для входа в веб-приложение. Во-первых, работают другие фильтры, такие как NGINX Auth. Однако мои электронные письма перестали работать, я пока не знаю почему.
Это неудачные попытки входа в /var/log/auth.log
Apr 1 11:28:15 user pancake[17973]: Attempt to login as random failed. 127.0.0.1 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/601.5.17 (KHTML, like Gecko) Version/9.1 Safari/601.5.17)
Apr 1 11:28:39 user pancake[17974]: Attempt to login as admin failed. 127.0.0.1 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/601.5.17 (KHTML, like Gecko) Version/9.1 Safari/601.5.17)
Моя тюрьма (/etc/fail2ban/jail.local):
[pancake]
enabled = true
port = http,https
filter = pancake
logpath = /var/log/auth.log
maxretry = 4
Мой фильтр (/etc/fail2ban/filter.d/pancak.conf)
[INCLUDES]
# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf
[Definition]
_daemon = pancake
failregex = Attempt to login as .* failed. <HOST>$
ignoreregex =
Теперь, когда я тестирую, запустив:
sudo fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/pancake.conf
Я получил:
Running tests
=============
Use failregex file : /etc/fail2ban/filter.d/pancake.conf
Use log file : /var/log/auth.log
Results
=======
Failregex: 0 total
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [2708] MONTH Day Hour:Minute:Second
`-
Lines: 2708 lines, 0 ignored, 0 matched, 2708 missed
Я также пробовал использовать:
failregex = ^%(__prefix_line)sAttempt to login as .* failed. <HOST>$
Любая помощь была бы замечательной.
Спасибо Трент
Удалить $
из регулярного выражения, так как в журнале в этой точке нет конца строки.