Из этот вопрос, за которым я следил этот ответил.
Я делаю фильтр и включаю его в конфигурационном файле fail2ban. Это фильтр:
# Fail2Ban filter to web requests for home directories on Apache servers
[INCLUDES]
before = apache-common.conf
[Definition]
failregex = ^<HOST> -.*"(GET|POST).*/wp-login.php/.*$
ignoreregex =
Fail2ban не запускается из-за ошибки (я не вижу ошибку конкретно в журнале), что не так в моем синтаксисе?
Такие разделители, как косая черта и точки, используемые в таких вещах, как "test.php", необходимо экранировать для регулярных выражений. Тестирую свой на сайт тестирования дает следующую ошибку:
/ Неэкранированный разделитель должен быть экранирован обратной косой чертой ()
Добавление обратной косой черты исправит синтаксическую ошибку, но вам все равно нужно будет проверить ее, чтобы убедиться, что она соответствует запросу. Надеюсь это поможет!
^<HOST> -.*"(GET|POST).*\/wp-login.php\/.*$
** Изменить - я видел ссылку на регулярные выражения, которые Fail2ban использует, то есть регулярное выражение Python, найденное Вот. Это хорошее чтение для fail2ban.