Fail2Ban блокирует определенные запросы POST

Мне нужно ограничить запросы POST с помощью Fail2ban для этого типа журнала:

"POST /subscribers"

Но не блокировать запросы, которые:

"POST /subscribers/*" i.e. "POST /subscribers/18"

Есть это можно сделать с fail2ban? До сих пор я пробовал следующую тюрьму "subscribers.conf":

[Definition]
failregex = ^<HOST> -.*POST /subscribers
ignoreregex = ^<HOST> -.*POST /subscribers/*

Но из-за ignoreregex другие запросы также игнорируются. Любая помощь приветствуется!

Файл Jail.local:

[DEFAULT]
ignoreip = 127.0.0.1/8
mta = mail
destemail = root
sendername = Fail2BanAlerts
findtime = 3600
bantime = 6000
#Send mail on all jails: action = %(action_mwl)s

[subscribers]
enabled  = true
port     = http,https
filter   = subscribers
logpath  = /var/log/nginx/access.log
maxretry = 3
0
задан 2 May 2017 в 16:18
1 ответ

/ необходимо экранировать в регулярном выражении.

ignoreregex = ^<HOST> -.*POST \/subscribers\/.+ 
failregex = ^<HOST> -.*POST \/subscribers\s.+

Будет работать. Что могло случиться, так это то, что регулярное выражение только что закончилось на первом / . Я всегда использую одну из многих бесплатных онлайн-проверок регулярных выражений для проверки строки, которую пытаюсь разобрать.

0
ответ дан 5 December 2019 в 08:17

Теги

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