# LogGraphic 1.20.0 — 輸入寄件地址，查找來源 IP 並透過 Fail2ban 封鎖。

2026-11-04 · Kali amd64 · 1.20.0-20261104002227

LogGraphic 1.20.0 新增輸入表單：輸入寄件信箱地址，從保留日誌中查找來源 IP，再將選定的 IP 登錄至 Fail2ban。

## 依信箱地址查找來源

開啟「操作 → 依信箱地址封禁…」，輸入一個寄件地址並按下「搜尋來源 IP」。也可使用 ADDRESS FLOW 中的同名按鈕；已選取寄件者節點時會自動填入該地址。

## 查看依據後逐一封鎖 IP

候選項依來源 IP 與日誌伺服器分組，顯示主機名稱、佇列及拒收記錄數、事件數、首次與末次記錄時間（UTC），以及最新的依據日誌。選取一個 IP 後開啟既有的 Fail2ban 確認視窗。

## 比對方式與搜尋範圍

以一般 ASCII 格式的 envelope-from（`from=<...>`）完整比對一個地址。只有 ASCII 網域部分不區分大小寫，本地部分嚴格區分。支援前後空格與 `<user@example.com>` 格式，國際化網域請使用 punycode。

搜尋全部保留的分析日誌，不受主視窗搜尋、事件篩選與播放位置影響。日誌保留上限為 0 時無法使用。修改輸入會清除舊結果，操作前也會再次檢查目前日誌中的來源依據。

## 記錄的計數方式

佇列及拒收記錄數依 Queue ID 的世代去除重複。NOQUEUE 或沒有識別碼的記錄，以每筆日誌一個單位計算。多個收件者與重試的事件數另外顯示，這些單位不保證等於實際郵件數。

## 設定與封鎖範圍

在「設定 → SSH 設定…」指定操作目標，並在「設定 → Fail2ban 設定…」指定既有 Jail。僅使用日誌記錄的有效來源 IPv4/IPv6，不會從收件地址、轉寄地址、投遞中繼或 DNS 查詢推測來源 IP。沒有來源 IP 的記錄無法封鎖。

封鎖對象是日誌中與信箱地址關聯的來源 IP，信箱地址本身不是 Fail2ban 的目標。envelope-from 並非寄件者身分驗證。封鎖共用或轉寄伺服器 IP 也可能影響其他寄件者。最終確認時請核對日誌伺服器、實際 SSH 目標、Jail 與 IP。

## 已安裝 Linux 套件的 Python 擴充資源

修正資源搜尋路徑，讓 Linux 安裝包位於標準 /usr 前綴時，也能正確找到列出及執行 Python 擴充功能所需的隨附資源。

## 驗證與適用環境

Kali amd64 建置與全部 13 項自動測試通過。透過獨立的 GTK/Xvfb GUI 探針驗證信箱輸入、候選選取及舊候選失效行為，並從解壓後的安裝目錄配置驗證 Python 擴充功能。亦已檢查安裝包啟動、共用程式庫相依性、APT 安裝模擬與 SHA-256。未在真實伺服器上執行封鎖。指令正常完成不表示封包已被阻擋，範圍與時長由伺服器的 Jail 設定決定。

## 更新方法

已註冊 LogGraphic APT 儲存庫後，執行下列指令並重新啟動應用程式。apt update 只更新索引，第二條指令才升級應用程式。請在 Kali 桌面工作階段的終端機中啟動 GUI。

```bash
sudo apt update
sudo apt install --only-upgrade loggraphic
```

SHA-256: `03d983030ba98e71c4056da5577ffbe6026fb318e6b175dd97c64da3781af2fc`
