防止暴力攻擊 (Fail2Ban)

IP 地址禁止(Fail2Ban) 是自動保護您的伺服器防止暴力攻擊的方式。Fail2Ban 會使用常規的表達方式來監控日誌檔查找與驗證失敗和可疑錯誤的模式。此類日誌項在其數值達到某個預定義值時會被計算在內,Fail2Ban 會發送郵件通知或在預定期限內禁止攻擊者的 IP。當禁止時間結束,該 IP 位址會被自動解禁。

Fail2Ban 邏輯由一系列的 jails 決定。一個 jail 是一組覆蓋某個方案的規則。jail 的設定會決定再檢測到攻擊時應根據預定義的過濾方案(監控日誌的一個或多個常規表達)執行哪些操作 欲瞭解更多資訊請參閱Fail2Ban Jails 管理

注意: 若要使用 Fail2Ban,從 Plesk 11.5 升級的管理員必須從 Plesk 或其供應商獲取 Plesk Onyx 的許可證金鑰。

設定 Plesk 自動禁止對您的伺服器會生成惡意流量的 IP 位址和網路:

  1. 進入  工具與設定 > IP 地址禁止 (Fail2Ban) (在  安全性  組裡)。必須在您的伺服器上安裝 Fail2Ban 元件。
  2. 請選擇 啟用侵入檢測 核取方塊。這將會啟動 Fail2Ban 服務。
  3. 指定下列設定:
    • IP 地址禁止時段 – IP 地址被禁的時間間隔(秒)。當禁止時間結束,該 IP 位址會被自動解禁。
    • 檢測後續攻擊的時間間隔 - 系統計算未成功登入嘗試和來自某個 IP 位址不規範行為的次數的時間間隔(秒)。
    • IP 地址被禁前的失敗次數 – 某個 IP 地址嘗試登入失敗的次數。
  4. 點按 確定

現在所有活動的 Fail2Ban jails 都將用於監控日誌檔並禁止可疑的 IP 地址。

IP_Address_Banning

Plesk 中的 Fail2Ban 有以下限制和特殊性:

  • 不得以 Plesk 服務的形式手動重啟 Fail2Ban,因為所有累積的統計資料將會丟失,包括當前被禁的 IP 地址。
  • Fail2Ban 不會對使用 IPv6 位址的攻擊者提供防護。Plesk 中的 Fail2ban 只依賴於 IP(沒有主機名稱查詢),除非重新配置。
  • Fail2Ban 無法防禦分散式暴力破解攻擊,因為它會通過其 IP 地址識別入侵者。
  • 如果您的 Plesk 安裝於 VPS 上,該 VPS 的 iptables 記錄限制 (numiptent) 可能會影響 Fail2Ban 的運行。當超過了該限制時,Fail2Ban 將會停止正常運行,而在 Fail2Ban 日誌中您將會找到以下行:
    fail2ban.actions.action: ERROR iptables -I fail2ban-plesk-proftpd 1 -s 12.34.56.78 -j REJECT --reject-with icmp-port-unreachable returned 100
    如果是此情況,請聯繫您的 VPS 主機提供商來解決該問題。
  • 如果在升級到 Plesk Onyx 前於伺服器上安裝了 Fail2Ban,套裝程式將會由 Plesk 的 Fail2Ban 套裝程式替代。如果您已安裝的套裝程式比 Plesk 提供的更新,升級將會失敗。現有的 jails 將不會被覆寫,而您可以在 Plesk 與 Plesk Onyx jails 中對其進行管理。

如果不想阻止某些 IP 地址:

  1. 請進入  工具與設定  > IP 地址禁止 (Fail2Ban) > 信任的 IP 地址 > 添加信任的 IP 進行操作。
  2. IP 位址 欄位中提供一個 IP 位址、一個 IP 範圍、或一個 DNS 主機名稱,然後點按 確定

您可以進入  工具與設定 > IP 地址禁止 (Fail2Ban) > 日誌  中查看和下載 Fail2Ban 日誌檔。

您可進入  工具與設定 > IP 地址禁止 (Fail2Ban) > 被禁的 IP 地址  中查看被禁的 IP 地址清單,解禁,或移動都信任的地址清單中。

您可以進入 工具與設定 > IP 地址禁止 (Fail2Ban) > 信任的 IP 地址  中查看永遠不會被禁止的 IP 地址清單,以及添加 IP 地址或移除 IP 地址。

在本小節:

Fail2Ban Jails 管理