Выполните следующий сценарий тестирования, чтобы проверить, работает ли Fail2ban:
fail2ban-regex /var/log/apache*/*access.log /etc/fail2ban/filter.d/apache-auth.conf
Я получаю такой ответ:
Running tests
=============
Use ignoreregex line : /etc/fail2ban/filter.d/apache-badbots
No section headers in /var/log/apache2/other_vhosts_access.log
Он не выполняет тестовую очистку моих журналов. Я протестировал свою настройку SSH fail2ban с аналогичным синтаксисом и отлично прошел тестирование. Не уверен, что делаю не так.
Я думаю, что проблема в том, что оболочка расширяется.
/var/log/apache*/*access.log
И я предполагаю, что вы действительно имели в виду /etc/fail2ban/filter.d/apache-auth.conf
слишком.
Попробуйте заключить этот параметр в одинарные кавычки
fail2ban-regex '/var/log/apache*/*access.log' /etc/fail2ban/filter.d/apache-auth.conf
который передаст его нерасширенным fail2ban-regex
.
Дальнейшие исследования - не похоже fail2ban-regex
принимает подстановочные знаки:
fail2ban-regex '/var/log/apache*/*access.log' /etc/fail2ban/filter.d/apache-auth.conf
...
Use regex file : /etc/fail2ban/filter.d/apache-auth.conf
Use single line: /var/log/apache*/*access.log
Обратите внимание: он думает, что мы пропускаем одну строку, а затем попробуйте
fail2ban-regex /var/log/apache2/access.log /etc/fail2ban/filter.d/apache-auth.conf
...
Use regex file : /etc/fail2ban/filter.d/apache-auth.conf
Use log file : /var/log/apache2/access.log
Обратите внимание, что он видит, что мы передали файл журнала.