iT邦幫忙

0

fail2ban action.d 中 iptables.conf 設定

  • 分享至 

  • xImage

大家好:

/jail.d/jail.local
[DEFAULT]
ignoreip = 140.117.0.0/16
bantime = 60
findtime = 600
maxretry = 3
[webmail-smtp]
enabled=true
filter=webmail-smtp
port=25

iptables的name是要寫smtp 還是要寫webmail-smtp

action=iptables[name=smtp, port=smtp, protocol=tcp]
logpath=/webmail/smtpd.log
bantime = -1
findtime = 600
maxretry = 5

/filter.d/webmail-smtp.conf
[Definition]

failregex =^\s\W+<HOST>\W.*\W\d\W\s+Negative\s+reply\s\W+504\s+Authentication\s+failed.*
webmail-smtp.conf關鍵字比對也沒問題,可以match到
[2020/04/29 16:59:14] [45.142.195.5:11622-0] Negative reply <504 Authentication failed.>
fail2ban-regex /webmail/smtpd.log /etc/fail2ban/filter.d/webmail-smtp.conf

[Init]
datepattern = ^\W%%Y/%%m/%%d\s+%%H:%%M:%%S\W

因為想要永久封鎖,查了網頁我在action.d/iptables.conf加入兩行
https://ithelp.ithome.com.tw/upload/images/20200429/20097057AB78rraQ4d.png
指令 /sbin/service fail2ban restart 但會出錯,可是/filter.d/webmail-smtp.conf 有比對應該沒錯

錯誤的內容
正在啟動 fail2ban:ERROR Error in action definition iptableswemail[name=smtp, port=smtp, protocol=tcp]
ERROR Errors in jail 'webmail-smtp'. Skipping...

ayu iT邦好手 2 級 ‧ 2020-04-30 21:14:45 檢舉
iptables的name, 是拿來定義chain的名稱(f2b-name), 愛怎麼取都行; 但為了便於辯識, 通常與filter同名

> Error in action definition...
應該你有哪個地方(jail/filter)貼錯了

> failregex....
怎麼沒看到<HOST> ?
mayyola iT邦研究生 1 級 ‧ 2020-05-01 09:13:34 檢舉
您好:
謝謝 ayu的解說~~
有放入host ,用純文字寫host跑不出來,我有用以下比對是可以比對到的,但是action.d的conf加上上面寫的語法 就會出錯@@
fail2ban-regex /webmail/smtpd.log /etc/fail2ban/filter.d/webmail-smtp.conf

現在還卡在action.d要怎麼改QQ
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
ayu
iT邦好手 2 級 ‧ 2020-05-03 22:17:34
最佳解答

不知道你用的 fail2ban 是哪個版本?
0.9.x以後的版本, 有導入sqlite db(須加裝pysqlite3), 重新啟動時, 會去讀取 /var/lib/fail2ban/fail2ban.sqlite3 , 把之前還沒到期的banip再重新 rebanned 回去.(見圖, 我用的是1.0.1.1)https://ithelp.ithome.com.tw/upload/images/20200503/20027379qSlO9awCX3.jpg
再搭配 bantime=-1 , 已足夠滿足你的需要, 不必再多費心.
0.11.x起, 還可以設定 bantime 的倍增係數.

bantime.multipliers = 4 16 64 256 1024
bantime.increment = true

如果一定要硬拼的話, 可以參考看看.https://ithelp.ithome.com.tw/upload/images/20200503/20027379MC9qBknOUN.jpg

[ 參考 ]
GitHub - fail2ban/fail2ban
Configure Fail2Ban for permanent and persistent bans

mayyola iT邦研究生 1 級 ‧ 2020-05-03 22:39:32 檢舉

ayu大好:
我用的是0.9.6,也試著過把fail2ban停掉再重啟,他會先uban再banip
應該就像你講的那樣..這樣好像就不用再寫永久ban的指令

我有試著在iptables.conf中banstart跟actionban加參考連結的兩行指令,不過重啟的時候會錯誤,我再試著用您第二張圖的語法試試看,謝謝

我要發表回答

立即登入回答