[轉錄][文件] SpamCop (擋廣告信)

21 views
Skip to first unread message

悸動

unread,
Feb 6, 2005, 5:43:50 AM2/6/05
to
※ 本文轉錄自 [Daily] 看板

作者: DarkKiller (悸動) 看板: Daily
標題: [文件] SpamCop (擋廣告信)
時間: Sun Feb 6 18:43:40 2005

* AUTHOR

gs...@ccca.nctu.edu.tw (DarkKiller)

* LICENSE

The license of this document is:

GNU Free Documentation License
Version 1.2, November 2002

http://www.gnu.org/licenses/fdl.txt

* THANKS

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

* SpamCop

先講什麼是 SpamCop...

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

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

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

* 這篇文章會講的

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

1. 我是 mail server 的管理員,要怎麼使用 SpamCop 的 DNSBL 幫我擋廣
告信。(包括 Sendmail 及 Postfix)
2. 我是程式開發者,我的程式要怎麼使用 SpamCop 的 DNSBL 擋廣告信。

以及

3. 我想要在金錢上幫助 SpamCop。
4. 我想要在人力上幫助 SpamCop。

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

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

# [1;31mcd /etc/mail [m

freebsd.mc 內加上:

[1;31mFEATURE(`enhdnsbl', `bl.spamcop.net', `"Spam blocked see: http://spamcop.net/bl.shtml?"$&{client_addr}', `t')dnl [m

編譯順便重跑 sendmail:

# [1;31mmake [m
# [1;31mmake restart [m

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

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

[1;31msmtpd_client_restrictions = reject_rbl_client bl.spamcop.net, reject_rbl_client relays.ordb.org, reject_rbl_client xbl.spamhaus.org [m

改完後重跑 Postfix:

# [1;31mpostfix reload [m

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

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

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

[1;31m50.27.113.140.bl.spamcop.net [m
(將 IP 的四個數字倒過來後加上 .bl.spamcop.net)

是否有 A record 或 CNAME record,如果有查到,則代表該 IP 在 SpamCop
的黑名單內。

* 在幫助 SpamCop 前

在幫助 SpamCop 前,建議您到 SpamCop 註冊:

[1;31mhttp://www.spamcop.net/anonsignup.shtml [m

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

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

[1;32m[...] [m
[1;32musername: gs...@ccca.nctu.edu.tw [m
[1;32mpassword: mypassword [m
[1;32m[...] [m

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

* 我想要在金錢上幫助 SpamCop

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

你可以透過贊助加 "Fuel" 到你的 Reporting account:
[1;31mhttp://www.spamcop.net/mcgi?action=paymenu [m

(基本上我覺得這個只是加爽的)

或是你可以挑他們 USD$30/year 的 Webmail 服務:(以 Horde 架設的)
[1;31mhttp://www.spamcop.net/ces/individuals.shtml [m

(我覺得這個還比較有用)

* 我想要在人力上幫助 SpamCop

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

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

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

# [1;31mcd /usr/ports/mail/p5-MIME-Lite [m
# [1;31mmake install clean [m

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

[1;32m#!/usr/bin/perl [m

[1;32muse MIME::Lite; [m
[1;32muse strict; [m

[1;32mmy @mails = <STDIN>; [m
[1;32mmy $mail = join("", @mails); [m
[1;32mmy $msg = MIME::Lite->new(From => $ARGV[0], [m
[1;32mTo => $ARGV[1], [m
[1;32mSubject => 'Report', [m
[1;32mType => 'html/text', [m
[1;32mData => $mail); [m
[1;32m$msg->send(); [m

然後在 .muttrc 裡面放:

[1;32mmacro index Y "<pipe-entry>SpamCop.pl gs...@ccca.nctu.edu.tw submit.6XXX...@spam.spamcop.net\n" "report spam" [m
[1;32mmacro pager Y "<pipe-entry>SpamCop.pl gs...@ccca.nctu.edu.tw submit.6XXX...@spam.spamcop.net\n" "report spam" [m

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

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

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

* 危險的工具

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

[1;31mhttp://sourceforge.net/projects/spamcup [m

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

--
Resistance is futile.
<gs...@ccreader.nctu.edu.tw>
--
※ Origin: 邪惡小鹿鹿 <Deer.twbbs.org> ◆ From: deer.math.nctu.edu.tw

Reply all
Reply to author
Forward
0 new messages