Category Archives: Mail

Mail

SpamCop and SpamCup

這篇 [文件] SpamCop (擋廣告信) 是我在 tw.bbs.comp.386bsd 上寫的,使用 GNU Free Documentation License Version 1.2, November 2002 作為授權,修一下讓他符合 Blog 的格式。

THANKS

rafan at infor.org
對於 Sendmail 提供比較好的處理方式。(雖然他也是用 Postfix 的)

SpamCop

先講什麼是 SpamCop

呃,如果你不知道 SpamCop 的話,你把他當作是一個國外還算有名的 Anti-Spam 組織就可以了…

你把廣告信交給他,他會把廣告信信件標頭 (header) 的 IP,以及廣告信內容所用到的 link 抓出來,然後自動送信給負責的單位。

如果對方一直沒有回信,他就把對方列入黑名單 (black list),而你可以透過 DNSBL 使用這份黑名單。

這篇文章會講的

這篇文章會講的東西包括了:

  • 我是 mail server 的管理員,要怎麼使用 SpamCop 的 DNSBL 幫我擋廣告信。(包括 SendmailPostfix)
  • 我是程式開發者,我的程式要怎麼使用 SpamCop 的 DNSBL 擋廣告信。
  • 我想要在金錢上幫助 SpamCop
  • 我想要在人力上幫助 SpamCop

mail server 使用 SpamCop 擋廣告信 (Sendmail)

請先登入成 root,換到 /etc/mail 目錄下:

# cd /etc/mail

在 freebsd.mc 內加上:

FEATURE(`enhdnsbl’, `bl.spamcop.net’, `”Spam blocked see: http://spamcop.net/bl.shtml?”$&{client_addr}’, `t’)dnl

編譯順便重跑 sendmail:

# make
# make restart

mail server 使用 SpamCop 擋廣告信 (Postfix)

在 /usr/local/etc/postfix/main.cf (或是 /etc/postfix/main.cf) 新增這行,或是修改 smtpd_client_restrictions 這行:

smtpd_client_restrictions = reject_rbl_client bl.spamcop.net, reject_rbl_client relays.ordb.org, reject_rbl_client xbl.spamhaus.org

改完後重跑 Postfix

postfix reload

程式開發者要怎麼使用 SpamCop 的 DNSBL 擋廣告信

你拿到一個 IP address 後,你必須透過 DNS 查詢這個 IP 是否在 SpamCop 的黑名單內。

假設該 IP 是 140.113.27.50,那麼你必須查詢:

50.27.113.140.bl.spamcop.net
(將 IP 的四個數字倒過來後加上 .bl.spamcop.net)

是否有 A record 或 CNAME record,如果有查到,則代表該 IP 在 SpamCop 的黑名單內。
在幫助 SpamCop
在幫助 SpamCop 前,建議您到 SpamCop 註冊:http://www.spamcop.net/anonsignup.shtml

填入 “Display name (full name or alias)” 及 “Email address” 即可,其他的如果您有興趣瞭解再填就好了。

填完後他匯寄一封信到信箱,信裡面會給你一組密碼,像這樣:

[…]
username: gslin@ccca.nctu.edu.tw
password: mypassword
[…]

你可以利用這組帳號密碼登入進去,修改你的密碼:
http://www.spamcop.net/mcgi?action=loginform

我想要在金錢上幫助 SpamCop

絕大部分的網路交易都是透過信用卡。

你可以透過贊助加 “Fuel” 到你的 Reporting account:
http://www.spamcop.net/mcgi?action=paymenu (基本上我覺得這個只是加爽的)

或是你可以挑他們 USD$30/year 的 Webmail 服務:(以 Horde 架設的)
http://www.spamcop.net/ces/individuals.shtml (我覺得這個還比較有用)

我想要在人力上幫助 SpamCop

SpamCop 靠的是收到 Spam 的人 Report,所以會需要利用人判斷是不是 Spam。

當你收到 Spam 後,你連到 http://www.spamcop.net/ 登入,將信件的標頭及內文一起貼到中間的大框框就可以了。

另外,我們提供 mutt 的使用者偷懶的方式,請先安裝 MIME::Lite

# cd /usr/ports/mail/p5-MIME-Lite
# make install clean

再將下面的 code 放入 /usr/local/bin/SpamCop.pl:

#!/usr/bin/perl

use MIME::Lite;
use strict;

my @mails = <STDIN>;
my $mail = join("", @mails);
my $msg = MIME::Lite->new(From => $ARGV[0],
    To => $ARGV[1],
    Subject => 'Report',
    Type => 'html/text',
    Data => $mail);
$msg->send();

然後在 .muttrc 裡面放:

macro index Y “<pipe-entry>SpamCop.pl gslin@ccca.nctu.edu.tw submit.6XXXXXXXXXXXXXXX@spam.spamcop.net\n” “report spam”
macro pager Y “<pipe-entry>SpamCop.pl gslin@ccca.nctu.edu.tw submit.6XXXXXXXXXXXXXXX@spam.spamcop.net\n” “report spam”

其中的 gslin@ccca.nctu.edu.tw 當然要換成自己的 e-mail address,而 submit.6XXXXXXXXXXXXXXX@spam.spamcop.net 要換成你在 login 時所看到的那個 e-mail address。

以後你在 mutt 裡面看到 Spam 就直接按 ‘Y’ 就可以將 Spam 送給 SpamCop 了。

SpamCop 收到後會 mail 一封確認信件給你,你收到後點 url 去處理即可。

危險的工具

我不打算在這邊講解他的用法,因為他屬於危險的工具。不過對於進階使用者來說會相當方便:http://sourceforge.net/projects/spamcup

這隻程式會自動幫你處理 submit 進去的 Spam。

賀!某網站 gmail invitation 破十萬 XD

賀!”isnoop.net gmail invite spooler” 的 gmail invitation 破十萬了 :p 另外,有些人抱怨要貼五十次才能把五十個 invitation 送完的問題,我在 PttWanted 板看到某篇推文這樣寫:

推 curibe:填好e-mail之後狂按送出...50封不用30秒^^        220.133.106.179 02/05

喔喔,這個實在太讚了,只要一直狂 submit 就 okay 了,大家儘量送吧 XD

Quick Spam Filter – qsf

Quick Spam Filter 是在他更新的時候在 freshmeat 上看到的,目前出到 1.0.15 版,但 FreeBSD ports 內的 mail/qsf 只有更新到 0.9.18 (喂喂)。

這套 Spam Filter 目前還在玩,看起來「有機會」可以把系統裡的 DSpam 給換掉:

  • 有分成公用的 storage 及私人的 storage,所以資料是可以共用一部份的。
  • 有 weight 的設計,所以公用的 storage 的 weight 可以比較低,而私人的比較高。
  • 不需要 Database 也可以跑,但如果要的話,也支援了 GDBMMySQLSQLite 2.x
  • 速度相當快。

有興趣想玩 qsf 的人可以先到 Problem Report ports/77160: Update mail/qsf 把 diff 弄出來自己玩看看。(這個 port 有人 maintainer,要等到 maintainer 同意才會 commit 進去)

透過 ISP 的 mail server 發廣告 (再變形)

我在 AntiSpamAntiSpam2 有提到各種發廣告信的方式,其中透過 ISP 的 mail server 的方式已經被淘汰了,但如果加上透過後門 (或是各種奇怪的程式) 送,那麼就是全新的方式了:Slashdot 報導了 “New Spam Zombies Use ISPs’ Mailservers“,原新聞在 NEWS.COMZombie trick expected to send spam sky-high

在這種情況下,DNSBL (因為透過 ISP 的 outbound mail server)、Greylisting (因為 ISP 的 outbound mail server 會 follow standard) 都無效,只剩下最後用 Content filter 的防線。

說不定以後會使用更讚的方式去傳播 (結合 P2P 以及無法 shutdown 的 initial bootstrap),到時候就更精彩了… (所以我說「幹壞事是進步最大的原動力」不是沒有原因的)