Regex
Fail2Ban 阻止某些 POST 請求
對於這種類型的日誌,我需要使用 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.+
將工作。這裡可能發生的是正則表達式剛剛結束於第一個
/
. 我總是對我要解析的字元串使用許多免費的線上正則表達式檢查器之一。