跳至內容

封鎖政策

Fail2ban 會根據日誌是否符合篩選條件來封鎖 IP,但不同 Jail 的判斷方式並不相同。

SSH、郵件等服務通常統計一段期間內的符合次數;某些 HTTP 掃描特徵只要符合一次就會永久封鎖。解讀 API 資料時,必須分清楚這兩種情況。

目前設定

以下是 2026 年 11 月 1 日確認的收集來源設定,並非所有伺服器都適合直接套用的建議值。收集來源標籤為 freebsd 與 oci。兩者各使用 15 個 Jail:6 個用於傳統服務,9 個用於掃描器防護。

兩種評估方式

方式範圍封鎖條件
重複偵測SSH、郵件認證、HTTP、累犯在設定的偵測期間內符合的次數
單次偵測設定的 HTTP 掃描器特徵單次符合即永久封鎖

此處的「符合」是指日誌行符合某個 Jail 的篩選條件。彙總與排除設定可能使其與單純的請求次數不同。

掃描器共用設定

maxretry = 1
findtime = 10m
bantime = -1
bantime.increment = false

這 9 個設定的 Jail 在單次符合時即永久封鎖。bantime = -1 表示不會自動到期。10 分鐘的偵測期間並不代表封鎖持續的時間。

封鎖範圍涵蓋 TCP 與 UDP 的 80、443 埠上的 HTTP/HTTPS。freebsd 以 PF 套用,oci 以 nftables 套用。偵測與防火牆執行在各來源的 Fail2ban 中;本公開 API 不發布封鎖指令。

為什麼不該直接照搬這些規則

在會正常使用管理介面、WebDAV、WordPress、PHP 或延伸 HTTP 方法的服務上,相同的請求可能是正常行為。此處列出的條件是收集來源的運作標準,並非可直接套用至任何網站的建議設定。

管理用的排除網路、端點、憑證與內部日誌內容不會公開。公開說明與各伺服器上管理的完整設定會分開保存。