Назад | Перейти на главную страницу

фильтр 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 предсказуемо не сообщает об арестах. Я не могу дальше расширять регулярные выражения без ошибки No 'host' group in '<host>'. Я получил эти регулярные выражения из собственного файла fail2ban. /etc/fail2ban/filter.d/*.confс.

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

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

Ubuntu 14.04, fail2ban v0.8.11.

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

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

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

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