今天 report 廣告信給 SpamCop 的時候發現了一件很有趣的東西. ( 看的懂標題的人應該已經猜到是什麼了吧?!
( 不懂 SpamCop 是啥的可以看看 Gea-Suan Lin’s BLOG 的 SpamCop and SpamCup )
有趣的東西我會在文章最後作說明, 先說一下我在做 Anti-Spam 的過程.
很早以前我有自己玩過 DNSBL 的機制.
自己作了一個 DNSBL Database ( 相關文章在這 ) , 後來覺得自己 maintain 實在很累, 所以放棄了.
接下來在過濾廣告與病毒郵件的方向上 , 我陸續採用了這些軟體與設定方式 :
- 搭配 SpamAssassin 判斷廣告信並加上判斷資訊在郵件表頭.
- 使用 AMaVIS 搭配 F-Prot , Dr.Web , ClamAV 判斷與過濾病毒信.
- 直接擋除 ADSL 浮動 IP 的寄信權 (通過 SMTP Authentication 才能寄信).
- 使用 DSPAM 判斷廣告信並加上判斷資訊在郵件表頭.
- 使用 Greylist 擋除廣告發送軟體.
- 使用 SpamCop 擋除廣告信.
加進 SpamCop 是因為前幾天在 tw.bbs.comp.386bsd 上面看到 gslin 前輩的 [文件] SpamCop (擋廣告信) 後才決定的.
讀完文章後我還想了一陣子, 因為之前自己作 DNSBL 時, 會產生誤擋的情形.
因為 DNSBL 的機制跟 SpamAssassin , DSPAM 不一樣.
SpamAssassin 與 DSPAM 是收信進來後才逐一比對信件裡面的特徵, 比對完後可以選擇是否要直接丟棄 ( 導給 /dev/null ) 或是只在信件裡面加上判別用訊息; DNSBL 則是把送信過來的 IP 送去作查詢, 如果有紀錄就直接 deny .
因為 DNSBL 是直接 deny , 所以就算被誤判了也很難救回來.
但是因為 SpamAssassin 與 DSPAM 來作擋信非常耗用系統資源, 而且就算判斷為不想要廣告信了, AMaVIS 還是得掃一次看看有沒有病毒, 所以思考過後我在幾台機器上面都加進 SpamCop 的 DNSBL 擋信機制.
加進 SpamCop 的 DNSBL 擋信機制後, 廣告信量大減, SpamAssassin , DSPAM 跟 AMaVIS 的工作量也減輕了不少, 但是仍有些漏網之魚, 所以我也在 SpamCop 註冊了帳號來 report Spam .
因為 SpamCop 在接受 Spam report 時, 會把送件者的 IP 跟信件內的 URL 位址一起抓出來, 所以今天在 report Spam 時發現有封廣告信裡面藏了一個用 TinyURL 做出來的 URL 位址 .
( 我不清楚 SpamCop 會拿那些 URL 位址幹嘛, 不過我還是把那個 report 送出去了.