MailVSR MailVSR 三分鐘搞定你的企業網站

阻斷記錄

阻斷記錄是自動防禦機制(fail2ban)的封鎖事件簿。當同一個來源在短時間內反覆失敗——例如密碼一直輸入錯誤、反覆嘗試寄信認證失敗——系統會依「自動防禦設定」的規則把該來源暫時封鎖,每次封鎖與解除都會寫進這一頁。

它是「誰被我擋掉了、什麼時候擋的、為什麼擋」的直接證據。當有人反映「我明明沒做錯事卻連不上」、或您想確認自動防禦是否真的在運作時,就來這一頁。

什麼時候會用到這一頁:

  • 要確認自動防禦有沒有實際擋下來源
  • 使用者反映「突然無法收發信、過一會又好了」,懷疑被誤鎖
  • 想查出是哪個來源 IP 在大量嘗試
  • 調整「自動防禦設定」後,要驗證規則是否真的生效
  • 需要解除封鎖前的判斷依據(先看紀錄再決定)

頁面組成

頁面分成三個頁籤:

  • 記錄:選日誌檔案 → 瀏覽內容(主要使用區)
  • 設定:這個日誌檔的輪替設定
  • 空間使用:日誌檔(含輪替檔與壓縮檔)的空間占用

日誌檔案

這一頁只有一個日誌來源:/var/log/fail2ban.log。畫面上的下拉選單標示為「選擇日誌檔案」(其他日誌頁標示為「日誌檔案」),用來切換到較舊的輪替檔(fail2ban.log.1、fail2ban.log.2.gz…)。

檔案清單依最後修改時間新到舊排列,每個選項後面標示修改時間。日常排查看最新那一支即可。

記錄頁籤:怎麼讀阻斷記錄

日誌中會出現的訊息型態與意義:

訊息 意義
Jail 'xxx' started/stopped 某個防禦規則(jail)開始/停止運作。服務重啟或設定套用時會看到
Found <IP> 偵測到某個來源失敗(還沒封鎖,只是記錄)
Ban <IP> 已封鎖該來源(接下來該 IP 的連線會被拒)
Unban <IP> 封鎖期滿自動解除(或手動解除)
already banned 該來源已在封鎖中又再度失敗(代表它持續在嘗試)

判讀重點:

  • 看到 Found 但沒有 Ban,代表失敗次數還沒達到門檻——這是正常的,門檻與觀察時間在(防火牆設定 / 自動防禦設定)調整
  • 看到同一 IP 反覆 Ban/Unban,代表該來源是持續性的攻擊;這種情況適合啟用「累犯」規則(同一來源反覆被鎖時給予更長的封鎖時間)
  • Jail ... stopped 頻繁出現,代表防禦服務反覆重啟,請一併看(系統日誌 / 主機日誌)

搜尋:輸入即時生效,語法為 字A,字B=任一命中(OR)、字A+字B=兩個都要命中(AND),其他寫法當成單一字串;+ 與 , 混用不會被拆解。比對不分大小寫,.gz 輪替檔會自動解壓後搜尋。常用關鍵字:Ban、Unban、某個來源 IP、jail 名稱(例如 postfix、popimap、recidive)。

欄位與排序:只有「內容」一欄,可點標題切換排序方向;預設由大到小(最新在上面);每頁 50 筆。沒有資料時顯示「暫無阻斷記錄資料」。

這一頁記錄哪些防禦規則

本頁的紀錄來自「自動防禦設定」中啟用的規則。MailVSR-GW 出廠提供三組:

規則 監看的行為 出廠狀態
郵件服務(postfix) 郵件認證/連線失敗 啟用
POP/IMAP 代理(popimap) 郵件軟體登入失敗 啟用
累犯(recidive) 已被上述規則封鎖卻仍持續嘗試 停用

出廠參數為:觀察時間 600 秒、失敗 5 次即封鎖、封鎖 600 秒;累犯規則的觀察時間為 86400 秒、封鎖 604800 秒(7 天)。

⚠️ 兩件事不會出現在這一頁,這是刻意的設計,不是故障:

  1. 管理介面(後台)的登入失敗不會被 fail2ban 封鎖。後台的登入保護由系統自己的機制處理(請看(系統設定 / 偏好設定)的「登入保護」),因此後台被嘗試登入不會留下阻斷記錄,要看那一段請到(系統日誌 / 操作日誌)
  2. 系統 SSH 不在防禦範圍內(本產品未將 SSH 納入)

也就是說,這一頁涵蓋的是郵件相關服務的失敗嘗試。

匯出與刪除

  • 匯出:下載該檔完整內容(不受畫面搜尋與分頁影響),檔名自動加時間戳;系統以 root 讀取
  • 刪除:活檔(fail2ban.log)→ 只清空內容、保留檔案,確認視窗顯示「此為目前正在寫入的日誌,刪除將僅清空其內容(檔案保留)。確定要清空「fail2ban.log」嗎?」;輪替檔 → 真正刪除,確認視窗顯示「確定要刪除日誌檔案「:file」嗎?」
  • 成功訊息為「日誌檔案「:file」內容已清空」或「日誌檔案「:file」已刪除」
  • 失敗訊息為「刪除日誌檔案失敗」、「刪除日誌檔案失敗:檔案無法刪除(權限或檔案屬性限制)」、「清空日誌檔案失敗:檔案無法寫入(權限或檔案屬性限制)」

⚠️ 清空阻斷記錄不會解除已封鎖的來源。紀錄檔只是「事件簿」,封鎖狀態由防禦服務自己維護;要解除封鎖請到(防火牆設定 / 自動防禦設定)操作(或等待封鎖期滿)。

設定頁籤:輪替設定

  • 記錄週期:每週(預設)或每天
  • 保留天數/保留週數:可填 1–400,出廠預設保留 8 週
  • 單檔大小上限:可填 1–200 MB,出廠預設 50 MB
  • 壓縮 rotate 檔:預設開啟

按「儲存設定」,成功顯示「logrotate 設定已儲存」,失敗顯示「logrotate 設定儲存失敗」。設定於下次輪替時生效。

容量提醒:若遭受持續攻擊,這一支日誌可能快速成長(每次失敗都有一行 Found)。建議保留份數不要設太小,因為攻擊的歷史紀錄對事後追查很有價值。

空間使用頁籤

列出 fail2ban.log 及其輪替檔與壓縮檔的「檔案名稱/最後修改/空間占用」,最後顯示「總計(N 個檔案)」,依時間新到舊。沒有檔案顯示「目前沒有日誌檔。」;讀取失敗顯示「讀取失敗」。

常見情境與判讀

  • 「使用者突然不能收發信」:用他的來源 IP 搜尋。若該 IP 出現在 Ban,就是被自動防禦擋掉;請確認是真的攻擊還是誤鎖(例如使用者改了密碼卻沒更新郵件軟體,會反覆失敗直到被鎖)
  • 「每天都有人被鎖」:看被鎖的 IP 是否固定。固定 IP 且屬於公司辦公室,通常是某台裝置的密碼設定錯誤,請修正裝置而非放寬規則
  • 「攻擊有沒有被擋下來」:搜尋 Ban 的數量與來源分布;若同一來源反覆 Ban/Unban,建議啟用累犯規則拉長封鎖時間
  • 「調整規則後沒有效果」:先看有沒有 Jail ... started(設定有沒有真的套用),再看後續失敗有沒有轉成 Ban
  • 「想確認是否誤鎖」:以來源 IP 搜尋完整經過,看它失敗的服務與次數;次數與時間分布是判斷誤鎖與否的關鍵(正常使用者不會在數十秒內失敗數十次)

注意事項

  • 日誌內容是歷史紀錄,這一頁只讀不寫(唯一的例外是「設定」頁籤的輪替參數)
  • 這裡只顯示郵件相關服務的封鎖;管理介面登入失敗與 SSH 都不在此範圍
  • 封鎖是暫時的:期滿會自動解除並留下 Unban;「累犯」規則被停用時,長期攻擊者只會被反覆短期封鎖
  • 封鎖的是來源 IP,不是帳號;同一辦公室共用對外 IP 時,一個人被鎖可能影響同 IP 的其他人——這是使用這類機制時必須知道的取捨
  • 這一頁的紀錄與(系統日誌 / SMTP日誌)、(系統日誌 / POP/IMAP日誌)是同一批失敗事件的兩個視角:那裡看「失敗的內容」,這裡看「有沒有被擋」
  • 相關頁面:(防火牆設定 / 自動防禦設定)調整門檻與封鎖時間、(系統設定 / 偏好設定)的管理介面登入保護