雙重檢測(cè)完整教程)
如何為 ZoneMTA 集成 Rspamd 與 ClamAV反垃圾防護(hù)雙重檢測(cè)完整教程【免費(fèi)下載鏈接】zone-mta Modern outbound MTA cross platform and extendable server application項(xiàng)目地址: https://gitcode.com/gh_mirrors/zo/zone-mtaZoneMTA 是一款基于 Node.js 與 MongoDB 構(gòu)建的現(xiàn)代出站 MTA郵件傳輸代理以高性能、跨平臺(tái)和可擴(kuò)展插件機(jī)制著稱。對(duì)于郵件服務(wù)器管理員而言反垃圾防護(hù)與病毒檢測(cè)是運(yùn)維的重中之重。本教程將帶你一步步為 ZoneMTA 集成Rspamd 垃圾郵件過濾與ClamAV 病毒掃描構(gòu)建雙保險(xiǎn)的郵件安全防線即使你是新手也能輕松完成配置。為什么 ZoneMTA 需要反垃圾防護(hù)雙重檢測(cè)ZoneMTA 雖然是出站 MTA但它同樣承擔(dān)收信與中繼任務(wù)。如果不對(duì)入站郵件做檢測(cè)垃圾郵件與帶毒郵件就可能通過你的服務(wù)器被轉(zhuǎn)發(fā)出去輕則影響 IP 信譽(yù)重則導(dǎo)致域名被拉黑。Rspamd 與 ClamAV 的分工十分明確Rspamd基于貝葉斯、規(guī)則與實(shí)時(shí)黑名單的垃圾評(píng)分引擎可識(shí)別垃圾郵件、釣魚郵件并返回評(píng)分與處置動(dòng)作。ClamAV老牌開源殺毒引擎通過 clamd 守護(hù)進(jìn)程對(duì)郵件附件進(jìn)行病毒特征掃描。兩者一智一殺配合使用即可覆蓋絕大多數(shù)郵件威脅。第一步認(rèn)識(shí) ZoneMTA 反垃圾防護(hù)插件結(jié)構(gòu)ZoneMTA 的安全檢測(cè)能力全部以插件形式提供源碼位于 plugins/core/rspamd/index.js 與 plugins/core/clamav/index.js。這兩個(gè)插件通過addAnalyzerHook在收信階段對(duì)流式郵件內(nèi)容做實(shí)時(shí)檢測(cè)檢測(cè)結(jié)果會(huì)掛載到envelope.spam與envelope.virus對(duì)象上隨后在message:queue鉤子中決定放行、拒絕或靜默丟棄。插件默認(rèn)未啟用你需要在 config/default.js 中手動(dòng)開啟下面我們分別講解。第二步快速安裝并啟用 Rspamd 垃圾評(píng)分插件安裝 Rspamd 服務(wù)Rspamd 需要獨(dú)立部署以 Debian/Ubuntu 為例sudo apt install rspamd sudo systemctl enable --now rspamd啟動(dòng)后Rspamd 默認(rèn)在11333端口提供 HTTP 檢測(cè)接口。ZoneMTA 中開啟 Rspamd 集成編輯你的應(yīng)用配置文件覆蓋默認(rèn)配置即可加入以下內(nèi)容core/rspamd: { enabled: [receiver, sender], url: http://localhost:11333/check, interfaces: [feeder], maxSize: 5 * 1024 * 1024, dropSpam: false, rewriteSubject: false }各配置項(xiàng)含義如下配置項(xiàng)作用enabled指定加載上下文receiver負(fù)責(zé)檢測(cè)sender負(fù)責(zé)在投遞前添加 Spam 頭urlRspamd 檢測(cè)接口地址默認(rèn)http://localhost:11333/checkinterfaces只檢測(cè)來自哪些接口的郵件[*]表示全部掃描maxSize超過 5MB 的大郵件跳過評(píng)分避免性能損耗dropSpam為true時(shí)靜默丟棄垃圾郵件否則返回 550 拒絕rewriteSubject為true時(shí)自動(dòng)給垃圾郵件主題加[***SPAM(分?jǐn)?shù))***]前綴 提示如果希望 Rspamd 能看到發(fā)件人的真實(shí)來源 IP可追加ip: true配置項(xiàng)。Rspamd 檢測(cè)結(jié)果如何生效插件在收到 Rspamd 響應(yīng)后會(huì)依據(jù)action字段執(zhí)行不同策略見 plugins/core/rspamd/index.jsreject返回550 This message was classified as SPAM拒絕收信add header / rewrite subject / soft reject按配置重寫主題或放行投遞時(shí)還會(huì)在郵件頭追加X-Zone-Spam-Status與X-Zone-Spam-Resolution便于追蹤判定結(jié)果第三步快速配置 ClamAV 病毒掃描安裝并啟動(dòng) clamdClamAV 通過 clamd 守護(hù)進(jìn)程通信安裝命令sudo apt install clamav clamav-daemon sudo freshclam sudo systemctl enable --now clamav-daemonclamd 默認(rèn)監(jiān)聽3310端口ZoneMTA 正是通過該端口以zINSTREAM協(xié)議流式發(fā)送郵件內(nèi)容進(jìn)行掃描。在 ZoneMTA 中啟用 ClamAV 插件配置代碼如下core/clamav: { enabled: receiver, port: 3310, host: 127.0.0.1, interfaces: [feeder], ignoreOrigins: [] }關(guān)鍵參數(shù)說明port/hostclamd 服務(wù)地址默認(rèn)127.0.0.1:3310interfaces需要掃描的郵件來源接口ignoreOrigins忽略來源 IP 列表常用于放行自家可信中繼當(dāng)檢測(cè)到病毒時(shí)插件會(huì)在 plugins/core/clamav/index.js 的message:queue鉤子中直接拒絕郵件返回550 This message contains a virus and may not be delivered。第四步雙重檢測(cè)聯(lián)動(dòng)與最佳實(shí)踐Rspamd 與 ClamAV 插件可以同時(shí)啟用ZoneMTA 會(huì)按配置順序依次流過兩個(gè)分析器互不干擾。建議采用以下安全組合策略入口全掃描將interfaces設(shè)為[*]對(duì) SMTP 收信與 HTTP API 投遞的郵件一律檢測(cè)。垃圾郵件靜默丟棄將 Rspamd 的dropSpam設(shè)為true避免攻擊者通過退信確認(rèn)地址有效。病毒郵件硬拒絕ClamAV 檢出病毒必須拒絕杜絕帶毒郵件進(jìn)入投遞隊(duì)列。結(jié)合日志排查插件會(huì)輸出SPAMCHECK與VIRUSCHECK日志配合 docs/LOGGING_GELF_CODES.md 可遠(yuǎn)程記錄檢測(cè)詳情。第五步驗(yàn)證集成是否成功重啟 ZoneMTA 后發(fā)送一封測(cè)試郵件到你的服務(wù)器然后觀察日志出現(xiàn)Rspamd RESULTS score... action...說明垃圾評(píng)分生效出現(xiàn)Clamav RESULTS cleanyes說明病毒掃描正常若收到 550 拒絕響應(yīng)說明對(duì)應(yīng)檢測(cè)已正確攔截。結(jié)語(yǔ)通過本文的配置你的 ZoneMTA 已具備 Rspamd 垃圾評(píng)分與 ClamAV 病毒掃描的雙重反垃圾防護(hù)能力。這套組合不僅提升郵件投遞質(zhì)量更能保護(hù)服務(wù)器 IP 信譽(yù)。若想深入定制不妨閱讀插件源碼 rspamd-client.js 與 clamav-client.js理解流式檢測(cè)的底層實(shí)現(xiàn)按需擴(kuò)展自己的安全插件?!久赓M(fèi)下載鏈接】zone-mta Modern outbound MTA cross platform and extendable server application項(xiàng)目地址: https://gitcode.com/gh_mirrors/zo/zone-mta創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考