自動防禦以 Fail2ban 實作:它持續監看郵件與 DNS 服務的日誌,當同一個來源 IP 在指定時間內失敗次數超過門檻,就自動封鎖該 IP 一段時間。這種防禦不必事先知道攻擊來源,適合抵擋帳號密碼被不斷嘗試的暴力破解;若您已經知道要拒絕哪些來源,則改用(防火牆設定 / 手動防禦設定)建立明確規則。
什麼情況會用到這一頁:
- 使用者抱怨信箱一直被人嘗試登入、或系統日誌出現大量認證失敗
- 想確認某個 IP 是不是被系統自動封鎖了
- 要提前解除某個被封鎖的 IP(例如業務從國外飯店上網被誤鎖)
- 要把公司自己的網段加入白名單,避免自己人被鎖
服務狀態
頁面上方顯示 Fail2Ban 服務的執行狀態與「重新啟動」按鈕。重新啟動會重新載入設定,成功後提示「Fail2Ban 服務已重新啟動」。
若您剛改完設定卻覺得沒生效,可按一次重新啟動強制重載。
防禦設定頁籤
- 啟用服務:開啟後,開機時會自動啟動 fail2ban 防禦。出廠預設為關閉,請依需求自行開啟
- ⚠️ 這一點很重要:沒開啟的話,重新開機後自動防禦不會運作,即使下方各項目都勾選了也一樣
- 防禦項目(Jail):每個項目可個別開關,開啟後才會顯示該項目的三項參數
- 項目右側若出現紅色數字徽章,表示該項目目前封鎖中的 IP 數量
三項參數的範圍
| 參數 | 可填範圍 | 說明 |
|---|---|---|
| 時間窗(秒) | 系統實際接受 60~86400(1 分鐘~1 天) | 統計失敗次數的時間範圍 |
| 重試次數 | 2~100 次 | 時間窗內失敗達此次數即封鎖 |
| 封鎖時長(秒) | 系統實際接受 60~604800(1 分鐘~7 天) | 封鎖持續時間,時間到自動解除 |
⚠️ 下拉選單顯示的選項比系統實際接受的範圍更寬:時間窗的下拉可選到 7 天、封鎖時長可選到 30 天,但送出時系統會擋下超出上限的值。若您選了 2 天以上的時間窗或 10 天以上的封鎖時長而儲存失敗,請改回上述範圍內的值。
防禦項目一覽(含出廠預設)
| 項目 | 監視內容 | 出廠預設 | 預設時間窗 | 預設重試 | 預設封鎖 |
|---|---|---|---|---|---|
| SMTP | SMTP 登入失敗(SASL authentication failed — 帳號密碼暴力破解) |
啟用 | 600 秒(10 分鐘) | 5 次 | 600 秒(10 分鐘) |
| POP/IMAP | IMAP/POP3 登入失敗(authentication failure) |
啟用 | 600 秒 | 5 次 | 600 秒 |
| DNS | DNS 查詢被拒(named refused — 異常查詢行為) |
停用 | 600 秒 | 5 次 | 600 秒 |
| 累犯 | 同一 IP 在時間窗內被任一防禦項目封鎖達次數,就延長封鎖時間(例如 1 天內 5 次 → 封鎖 7 天) | 停用 | 86400 秒(1 天) | 5 次 | 604800 秒(7 天) |
怎麼選:一般環境建議至少開啟「SMTP」與「POP/IMAP」(出廠已開)。DNS 項目只在您確定有異常查詢時才開,否則容易誤鎖上游 DNS。累犯項目適合已經被持續攻擊的環境。
兩件事不在自動防禦的範圍內:
- Web 管理介面的登入失敗由登入保護機制處理(系統設定 / 偏好設定 : 登入保護),不會出現在這裡
- SSH 出廠關閉、需經維修模式開啟,也不納入 fail2ban
白名單 / 黑名單頁籤
- 白名單 IP / 網段:每行一筆 IP 或網段(例如
192.168.8.0/24)。白名單內的 IP 不會被封鎖,系統固定忽略127.0.0.1- 若這個欄位從未設定過,系統會預設帶入私有網段
192.168.0.0/16與10.0.0.0/8 - 一旦儲存過就以您儲存的內容為準(包含清空)——也就是說,如果您把白名單清空後儲存,之後連公司內網的 IP 都有可能被鎖
- 若這個欄位從未設定過,系統會預設帶入私有網段
- 黑名單 IP:每行一筆。黑名單內的 IP 會被永久封鎖,以 nftables 直接丟棄封包,不受封鎖時長限制
- 兩個欄位都最長 1000 個字元
實例:公司網段是 192.168.1.0/24,並有一位同事固定從 203.0.113.8 遠端收信,白名單可填:
192.168.1.0/24
203.0.113.8
⚠️ 黑名單是永久且立即生效的,加入前請務必確認該 IP 不屬於自己人或上游服務(例如上游 DNS、監控系統)。
已封鎖清單頁籤
表格顯示目前被封鎖的 IP,欄位為防禦項目、封鎖 IP、阻擋時機與解鎖時間。可搜尋封鎖 IP;需要提前解封時,可按單筆「解除封鎖」,或勾選多筆後執行大量解除,兩者都會先出現確認視窗(例如「確定要解除封鎖 IP「:ip」嗎?」)。解除成功顯示「✓ 已解除封鎖」,失敗顯示「解除封鎖失敗」。清單為空時顯示「目前沒有被封鎖的 IP」。
實務情境:業務主管從飯店上網,密碼打錯幾次被鎖,對方來電說「信箱進不去」。這時到這一頁用他的 IP 搜尋,確認是被自動防禦鎖住後,按「解除封鎖」即可讓他立刻恢復;同時可考慮把該 IP 加入白名單(若對方是固定 IP)。
常見誤解與陷阱
- 以為「啟用服務」只是隨開機啟動:它同時是整個自動防禦的總開關,關閉時所有項目都不作用
- 改了參數卻沒有重新啟動服務:儲存後系統會自動重新載入,但若覺得行為沒變,可按「重新啟動」再確認
- 以為被封鎖的 IP 會自己立刻消失:解鎖時間到才會自動解除,需要提前解鎖請手動處理
- 白名單清空後忘了補回來:這是常見的自傷操作(見上方說明)
- 把上游服務加進黑名單:例如把上游 DNS 或監控主機加入黑名單,會導致自己收不到信或監控中斷
注意事項
- 儲存後設定會立即寫入 fail2ban 並重新載入,同時同步黑名單的 nftables 規則;成功顯示「✓ 防禦設定已套用」,失敗顯示「防禦設定套用失敗」
- 封鎖狀態需要重新整理頁面才會更新(本頁不做自動輪詢),執行解除封鎖後會自動更新
- 修改設定會重新載入服務,短時間內既有的封鎖狀態可能被重設
- 服務是否隨開機啟動由「啟用服務」決定;未開啟時,重新開機後自動防禦不會運作
- 被自動防禦封鎖的紀錄,可在(系統日誌 / 阻斷記錄)查看;若想確認是哪個服務被嘗試登入,可搭配(系統日誌 / SMTP日誌)與(系統日誌 / IMAP日誌)
- 自動防禦是「事後依行為判斷」,源頭已知時請改用(防火牆設定 / 手動防禦設定)直接拒絕