LINUX.ORG.RU

Fail2ban регулярное выражение

 


0

1

Добрый день. Помогите составить регулярное выражение для строк содержащих обращение по (GET|POST) с обращением к .php. Пробовал разные конструкции failregex = ^<HOST> -.* "(GET|POST) /.php .*$ и такую failregex = ^<HOST> -.*"(GET|POST).*$ и такую failregex = ^<HOST>.*$. При тестирование говорит, что нет подходящих строк...fail2ban-regex /opt/zimbra/log/test.log /etc/fail2ban/filter.d/ban_php.conf

129.204.71.122 - - [16/апр/2019:14:00:57 +0000] «GET /wp-content/plugins/portable-phpmyadmin/wp-pma-mod/index.php HTTP/1.1» 404 - "-" «Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0» 5


Ответ на: комментарий от arto

вынес «тестовую» строку в отдельный файл test.log, попробовал применить ваш вариант

# fail2ban-regex /opt/zimbra/log/test.log '^<HOST> - .* "(GET|POST) /.*\.php .*$'

Running tests =============

Use failregex line : ^<HOST> - .* "(GET|POST) .*$ Use log file : /opt/zimbra/log/test.log

Results =======

Failregex: 0 total

Ignoreregex: 0 total

Date template hits: |- [# of hits] date format | [1] Day/MONTH/Year:Hour:Minute:Second `-

Lines: 1 lines, 0 ignored, 0 matched, 1 missed |- Missed line(s): | 65.19.167.130 - - [16/апр/2019:05:09:14 +0000] «GET //defect.php HTTP/1.1» 404 - "-" «Mozilla/5.0 (Windows NT 6.1;rv:60.0) Gecko/20100101 Firefox/60.0» 86

xan ()
Ответ на: комментарий от arto

Скопировал строки из лога nginx и вставил их в test.log...выражение видит строку из nginx, но не видит из zimbra. Только сопоставив строки увидел различие в написании месяца, если поменять на «Apr» то выражение срабатывает. Получается fail2ban не сможет парсить лог в таком виде?

(zimbra)65.19.167.130 - - [17/апр/2019:14:04:14 +0000] «GET /defect.php HTTP/1.1» 404 - "-" «Mozilla/5.0 (Windows NT 6.1;rv:60.0) Gecko/20100101 Firefox/60.0» (nginx)23.23.142.128 - - [06/Apr/2019:08:48:39 +0700] «GET /index.php HTTP/1.1» 200 3835 "-" «BitrixCloud Monitoring/1.0»

xan ()