[ 最新版本: 4.0-2 ] 為 Fedora 9
從 Fedora 7 開始 Fedora 已經支援 milter-greylist。
從 Fedora 8 升級至 Fedora 9,我發現 milter-greylist 已經有問題了。我重建 sendmail 的 sendmail.cf 對我解決了這個問題:
cd /etc/mail
m4 sendmail.mc > sendmail.cf
service milter-greylist start
service sendmail restart
任何使用 email 的人一定知道什麼是 spam (廣告或垃圾郵件),因為所有使用 email 的人一定常常收到相當多的 spam。 使用 Linux 作業系統作 mail server 的話,一般使用 spamassassin 來過濾這些不受歡迎的 spam。SpamAssassin 是一個相當好的過濾器,但是它很耗 server 的資源,特別是 RAM。如果能減輕這種負擔一定會更理想。現在就有了, 這就叫 Grey Listing。
SpamAssassin 會使用所謂的 whitelist (白名單) 和 blacklist (黑名單) 來過濾 mail server 所收到 的郵件。它缺乏的是第三種名單,就是 greylist (灰名單)。
Grey listing,Evan Harris 所提供的方法, 主要的概念是:spam 所用的 MTA (Mail Transfer Agent) 寄信之後就不管是否遠方的 mail server 有沒有收到它所寄的信。相反的,標準的 MTA 如果它寄信之後發生錯誤,它會繼續的寄這封信一直到遠方的 mail server 收到了這一封信。
所以 grey listing 的方法來過濾 spam 就是:第一次收到郵件就先拒絕這封郵件。等一段時間之後, 如果又收到同樣的郵件就接收這封郵件。看起來很簡單的方法,但是按照測試的結果 grey listing 可以攔截 95% 的 spam。 剩餘的 5% 就給 spamassassin 來處理。
你如果想安裝 milter-greylist 的話,你先確定你已經安裝了 sendmail、sendmail-cf、sendmail-devel、 bison 和 flex。使用的 sendmail、sendmail-cf 和 sendmail-devel 版本必須 >= 8.11 而且支援 milter (mail filter) 的介面。一般來說,Redhat 和 Fedora 所提供的 sendmail 就符合這個條件。
Fedora 7 支援 milter-greylist。在這裡我描寫如何在 Fedora 7 安裝 milter-greylist。
安裝程序:
Fedora 7 的 milter-greylist 需要以下程式,而且先安裝然後才可以安裝 milter-greylist:
安裝之後,你必須編輯 /etc/mail/greylist.conf 按照你的需要。至少以下項目必須修改:
INPUT_MAIL_FILTER(`greylist',`S=local:/var/run/milter-greylist/milter-greylist.sock')
define(`confMILTER_MACROS_CONNECT', `j, {if_addr}')
define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')
define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')
define(`confMILTER_MACROS_ENVRCPT', `{greylist}')
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
service sendmail restart
這樣,工作就告一段落。從今以後,恭喜你,因為你會注意到你收到的 spam 就減少很多。 同時你也會注意到有病毒之 email 也會減少。
蔡由世神父
2005/02/11
更新:2008/06/10