Rspamd 郵件安全防護與 Web 控制台維運指南

深度解析 Rspamd 垃圾郵件過濾、零退信安全隔離 (SPAM_EMAIL)、Web UI 線上名冊維護、危險附件深度解包與 ClamAV 防毒聯防。

Zero-Bounce ClamAV Ready MultiMap
Rspamd Web 管理控制台 (Port 11334)

Rspamd 內建全功能 Web 控制台,管理員可即時監看收發信流量、命中規則統計、動態編輯黑白名單、手動掃描測試與進行貝氏機器學習。

預設登入資訊:
網址: http://<伺服器IP>:11334若宿主機配置反向代理或 SSL,亦可為 https://<網域>:11334
預設管理員密碼: kafeiou.pw
如何修改 Web 控制台管理員密碼?

為了資安考量,建議在生產環境中將預設密碼修改為自訂強密碼:

步驟 1產生密碼加密雜湊 (Hash)

在宿主機執行以下指令產生安全 PBKDF2 雜湊:

docker exec -it mailserver rspamadm pw --encrypt -p 'YourNewPassword'
步驟 2更新設定檔並即時重載

編輯 local.d/worker-controller.inc 填入雜湊並重載(免重啟容器):

# 1. 寫入 password "$2$...";
# 2. 執行即時重載:
docker exec -it mailserver rspamadm control reload
零退信 (Zero-Bounce) 與 SPAM_EMAIL 安全隔離救援機制

本專案捨棄傳統直接拒收退信(5xx Reject)的危險作法,採用「加註標頭 ➔ 靜默重定向至集中隔離信箱」的防護架構,既防止發信者探測,又能 100% 救回遭誤判的商務重要信件。

Loading...
零退信架構兩大優勢
  • 防範字典攻擊探測:外部發信者無法得知內部員工信箱是否存在。
  • 誤判信件 100% 可救援:重要客戶信件若因 SPF 設定問題被扣分,不會被系統丟棄或退回,而是安穩躺在隔離信箱中等待網管轉交。
網管如何找回誤判信件?
  1. 在 Thunderbird、Outlook 或 Webmail 中登入 SPAM_EMAIL 信箱(例如:spam@kafeiou.pw)。
  2. 檢查帶有 X-Quarantine-Reason: High spam score 的被隔離信件。
  3. 直接點擊 「轉寄 (Forward)」 或重新發送給原收件同仁即可!
黑白名單與過濾名冊維護 (Web UI 線上管理)

管理員可直接在 Rspamd Web UI (http://<IP>:11334) 的「Configuration」➔「Maps」 分頁中點選名冊進行線上編輯,儲存後即時生效,無需手動修改後端文字檔案!

規則類型 / 名冊名稱 底層名冊檔案 (Maps) 評分 / 動作 實戰設定範例
網域白名單
LOCAL_WL_DOMAIN
kafeiou.d/local_wl_domain.inc 白名單放行 google.com
microsoft.com
important-partner.com.tw
寄件者 Email 白名單
LOCAL_WL_FROM
kafeiou.d/local_wl_from.inc 白名單放行 boss@partner-company.com
vip-service@bank.com.tw
來源 IP / 網段白名單
LOCAL_WL_IP
kafeiou.d/local_wl_ip.inc 白名單放行 10.192.130.0/24
192.168.1.100
203.0.113.50
網域黑名單
CUSTOM_BLOCK_HEADER
kafeiou.d/blacklist.inc +40.0 分 (隔離) phishing-scam.xyz
spammer-network.top
惡意寄件者黑名單
LOCAL_BL_FROM
kafeiou.d/local_bl_from.map.inc +40.0 分 (隔離) service@fake-bank-alert.com
lottery-winner@promo.net
主旨絕對阻擋 (正則)
W_SPAM_SUBJECT_DENY
kafeiou.d/w_spam_subject_deny.inc +100.0 分 (絕對隔離) /線上百家樂/i
/發票中獎通知.*請點擊/i
/Bitcoin.*Transfer/i
危險副檔名 (含壓縮檔)
BAD_ATTACHMENT
kafeiou.d/bad_extensions.map +15.0 分 (隔離) exe
bat
vbs
scr
js
cmd
ps1
ClamAV 防毒、貝氏學習與維運指令速查
ClamAV 防毒掃描聯防

Rspamd 透過本機 Socket /var/run/clamd.scan/clamd.sock 直接調用 ClamAV 掃描所有來信附件。病毒碼由 freshclam 定期自動更新,防範勒索軟體與木馬入侵。

貝氏分類器 (Bayes) 機器學習

可於 Web 控制台「Scan / Learn」貼上信件進行訓練,或透過指令批次學習:

# 訓練正常郵件 (Ham)
docker exec -it mailserver rspamc learn_ham /path/to/clean_mail.eml

# 訓練垃圾郵件 (Spam)
docker exec -it mailserver rspamc learn_spam /path/to/spam_mail.eml
管理員日常維運指令速查表
維運需求 終端機執行指令
即時重載 Rspamd 設定(免重啟容器) docker exec -it mailserver rspamadm control reload
產生新管理員密碼雜湊 docker exec -it mailserver rspamadm pw --encrypt -p '<新密碼>'
檢查 Rspamd 設定檔語法正確性 docker exec -it mailserver rspamadm configtest
即時監看 Rspamd 掃描日誌 docker exec -it mailserver tail -f /var/log/rspamd/rspamd.log
查看統計與規則命中計數器 docker exec -it mailserver rspamc stat
手動掃描測試單封信件 docker exec -it mailserver rspamc symbols < /path/to/mail.eml