фильтр fail2ban не соответствует ни одной строке для атаки xmlrpc

Я пытаюсь заблокировать хосты, которые атакуют веб-сервер методом грубой силы, тем самым создавая (сотни) строк в /var/log/apache2/error.log формы

[Fri Feb 01 11:17:56.158739 2019] [:error] [pid 15870] [client 40.118.7.71:19920] script '/var/www/html/hello.php' not found or unable to stat

/etc/fail2ban/filter.d/foo.conf:

[INCLUDES]
before = apache-common.conf
[Definition]
failregex = ^%(_apache_error_client)s .* not found or unable to stat
            %(_apache_error_client)s
            [[]client (?P<host>\S*)[]]

Но fail2ban-regex /var/log/apache2/error.log foo.conf сообщает о нулевых совпадениях для всех трех из этих более широких и более широких регулярных выражений (но без ошибок или предупреждений). Итак, fail2ban-client status foo предсказуемо не сообщает об арестах. Я не могу дальше расширять регулярные выражения без ошибки Нет группы «хост» в «» . Я получил эти регулярные выражения из собственного /etc/fail2ban/filter.d / *. Conf файла fail2ban.

Что такое регулярное выражение, которое может по крайней мере соответствовать каждой строке в error.log, поскольку Я ожидал, что второе и третье регулярное выражение? Затем я могу расширить это, чтобы более точно соответствовать моим конкретным строкам.

(И не должен ли фильтр apache-noscript в любом случае задерживать эти хосты? Его failregex ^% (_ apache_error_client) s сценарий '/\S*(\.php|\.asp|\.exe|\.pl)\S*' не найден или не может stat \ s * $ ) может соответствовать моим строкам.

Ubuntu 14.04, fail2ban v0.8.11.

Правка: По теме, Я пытаюсь отловить грубую силу против /xmlrpc.php с помощью fail2ban . Похоже, это называется «атакой xmlrpc».

0
задан 6 February 2019 в 17:58
1 ответ

По прихоти, из другого дистрибутива я вывел регекс

failregex = \[client <HOST>:\d+\] script '/\S*(\.php|\.asp|\.exe|\.pl)\S*' not found or unable to stat$

И действительно, через несколько часов он начал сажать в тюрьму злоумышленников. Но меня до сих пор удивляет, что существенного фрагмента для сопоставления строк в файле error.log Apache, \[client :\d+\], нет в /etc/fail2ban/filter.d/*. Несоответствие версий?

.
0
ответ дан 24 November 2019 в 01:04

Теги

Похожие вопросы