Skip to content

Fail2ban 多層次過濾

Fail2Ban 並不能阻止 Server 被立即性的攻擊,但可以大量減緩破解速度的可能性及大量掃描 或 DOS,在實務上很多IP是攻擊被鎖定後,過陣子又會再來嘗試。只要利用LOG文字特殊性建立多個層次封鎖規則,可以再次降低風險。

測試環境

  • CentOS 7
  • Nginx
  • WordPress

建立方式

首先在建立規則時把所有條件[sshd] >> [A-sshd]做出更名

#SSH 嘗試登入
[A-ssh]
enabled  = true
filter   = sshd
logpath  = /var/log/secure
maxretry = XXX
findtime = XXX
bantime  = XXXXX

[B-ALL-BAN]
enabled = true
port = http,https
filter = Banag
logpath = /var/log/fail2ban.log
maxretry = 2
findtime = 604800
bantime = 604800

利用”A-“做出層級方式再創立一個filter 專門監視 fail2ban 的 Log ,只要出現符合 [A-XXX] BAN 幾次以上就 BAN。

[Definition]
failregex =^.*fail2ban.actions.*\: NOTICE  \[A-.*\] Ban <HOST>
ignoreregex =

讓惡意攻擊的IP被封印更久,增加攻擊方的困難度。

注意事項

  • Log 還是要常常觀察,只要找得出規律就有辦法解決。
  • Fail2Ban只能夠降低不正確的身份驗證嘗試的速度,但是它無法消除弱身份驗證所帶來的風險。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。