Regex

Fail2Ban 阻止某些 POST 請求

  • May 2, 2017

對於這種類型的日誌,我需要使用 Fail2ban 限制 POST 請求:

"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

/需要在正則表達式中轉義。

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

將工作。這裡可能發生的是正則表達式剛剛結束於第一個/. 我總是對我要解析的字元串使用許多免費的線上正則表達式檢查器之一。

引用自:https://serverfault.com/questions/847747