1. 安裝并配置SpamAssassin(內容過濾)
SpamAssassin是開源反垃圾郵件工具,通過分析郵件內容(如關鍵詞、鏈接、發件人信譽等)計算垃圾郵件概率并標記。安裝后需調整閾值(如score_threshold = 5.0,超過則標記為垃圾郵件),并配置Postfix集成(修改/etc/postfix/master.cf添加內容過濾器),實現自動過濾。
2. 啟用Postgrey灰名單(延遲驗證)
Postgrey通過“暫時拒絕未認證郵件,等待發件方重試”的機制過濾垃圾郵件(多數垃圾郵件發送者不會重試)。安裝后需配置延遲時間(如POSTGREY_OPTS="-delay=60"),并在Postfix的/etc/postfix/main.cf中添加check_policy_service inet:127.0.0.1:10023,重新加載Postfix使配置生效。
3. 配置SPF/DKIM/DMARC(身份驗證)
v=spf1 a mx -all),指定合法郵件發送服務器IP,拒絕偽造發件人的郵件。p=none監控模式,p=quarantine隔離可疑郵件),并向管理員發送報告。4. 使用RBL/DNSBL黑名單(實時攔截)
RBL(實時黑洞列表)收錄了已知垃圾郵件發送者的IP地址,郵件服務器可通過查詢RBL(如Spamhaus、SORBS)拒絕來自黑名單的連接。需在Postfix的/etc/postfix/main.cf中添加reject_rbl_client zen.spamhaus.org等規則,增強攔截能力。
5. 優化Postfix傳輸設置(減少暴露)
調整Postfix配置限制連接頻率,降低被濫用風險:
smtpd_client_connection_count_limit = 10;smtpd_client_timeout = 30s;smtpd_relay_restrictions = reject_unauth_destination。6. 定期清理Spool目錄(避免堆積)
垃圾郵件堆積會增加服務器負載,需定期清理/var/spool/postfix/maildrop(待發送郵件)、/var/spool/clientmqueue(cron輸出郵件)等目錄??赏ㄟ^腳本(如find /var/spool/postfix/maildrop -type f -mtime +1 -exec rm -f {} \;)或工具(如BleachBit)自動化清理,建議每天執行。
7. 監控與更新(持續防護)
postqueue -p)、日志(/var/log/mail.log),及時發現異常;sa-update)、Postfix版本及系統補丁,應對新型垃圾郵件攻擊。