作者 主題: SpamAssassin HowTo  (閱讀 81414 次)

0 會員 與 1 訪客 正在閱讀本文。

湯包

  • 榮譽博士
  • 鑽研的研究生
  • *****
  • 文章數: 923
  • 性別: 男
    • 檢視個人資料
    • 湯包的部落格
SpamAssassin HowTo
« 於: 2003-07-30 15:55 »
以下文章引自http://openwebmail.com/openwebmail/download/redhat/spamassassin/HOWTO
稍微修改了一下

HOWTO install SpamAssassin on Red Hat Linux 7.3
===============================================
by Thomas Chung <tchung@openwebmail.org>
Last Updated: 2003-05-13

1. 安裝下列 rpm 軟體,可在http://www.mirror.ac.uk/sites/spamassassin.taint.org/spamassassin.org/released/RPMs/取得

   perl-Mail-SpamAssassin-2.53-1.7.3.i386.rpm
   spamassassin-2.53-1.7.3.i386.rpm
   spamassassin-tools-2.53-1.7.3.i386.rpm

 
代碼: [選擇]
rpm --force -Uvh perl-Mail-SpamAssassin-2.53-1.7.3.i386.rpm
rpm --force -Uvh spamassassin-2.53-1.7.3.i386.rpm
rpm --force -Uvh spamassassin-tools-2.53-1.7.3.i386.rpm


2. 建立全域 spamassassin 設定檔
   
代碼: [選擇]
/etc/mail/spamassassin/local.cf

   可以利用 SpamAssassin 設定檔產生器
   http://www.yrex.com/spam/spamconfig.php

   請確定有選擇: Rewrite Subjects using text "*****SPAM*****"

3. 啟動 spamassassin 服務

   
代碼: [選擇]
service spamassassin start

4. 在使用者目錄下的 procmailrc 設定檔裡增加如下的敘述
   instead of global for security concern at
   
代碼: [選擇]
$HOME/.procmailrc

   type following:

代碼: [選擇]
# filter all incoming mail through SpamAssassin and tags probable spam with a unique header
:0fw: spamassassin.lock
| /usr/bin/spamassassin



5. 使用 spamc 看 spamassassin 計分方式:
在 SpamAssassin 2.31 版(Redhat  8.0內建)沒有 -R 這個參數哩, 請去更新一下版本吧

如果版本不一樣,以下的指令路徑也要改喔  8)

代碼: [選擇]
$spamc -R < /usr/share/doc/spamassassin-2.53/sample-nonspam.txt
-6.3/5.0
PGP_SIGNATURE      (-6.3 points) Contains a PGP-signed message
note: -6.3 is way low to be spam than required hits score 5.0
   
代碼: [選擇]
$spamc -R < /usr/share/doc/spamassassin-2.53/sample-spam.txt
7.4/5.0
NO_REAL_NAME       (0.7 points)  From: does not include a real name
INVALID_DATE       (0.6 points)  Invalid Date: header (not RFC 2822)
UNDISC_RECIPS      (1.4 points)  Valid-looking To "undisclosed-recipients"
HOME_EMPLOYMENT    (1.5 points)  BODY: Information on how to work at home (2)
DRASTIC_REDUCED    (1.5 points)  BODY: Drastically Reduced
REMOVE_SUBJ        (0.8 points)  BODY: List removal information
ONCE_IN_LIFETIME   (0.7 points)  BODY: Once in a lifetime, apparently
DATE_IN_PAST_12_24 (0.2 points)  Date: is 12 to 24 hours before Received: date
INVALID_MSGID      (0.4 points)  Message-Id is not valid, according to RFC 2822
AWL                (-0.4 points) AWL: Auto-whitelist adjustment
note: 7.4 is high enough to be spam than required hits score 5.0

標準是 5 分, 累積分數超過 5 分就判定是廣告信

6. 寄一封廣告信來測試

   
代碼: [選擇]
mail -s test user@domain.com < /usr/share/doc/spamassassin-2.53/sample-spam.txt

7. 檢查看看信件主旨是否 rewrite 成
   
   *****SPAM***** test


ps. 如果要讓 SpamAssassin 的過濾條件更高,可以把以下設定檔中 required_hits參數的值降低

例如把預設值 5 改成 4

請記得修改過設定檔之後,要重新啟動 SpamAssassin 服務

8.到前面為止只是會把廣告信的主題,以及 Header 改寫,所以要過濾掉廣告信,可以在使用者目錄下的 procmailrc 設定檔中加入以下敘述
先在使用者目錄下建立一個 spam 目錄
代碼: [選擇]
:0:
* ^X-Spam-Status: Yes
$HOME/spam

這樣被過濾的廣告信,會一封一封分別存到使用者目錄下的spam目錄下

或是直接丟掉(不建議如此啦)
代碼: [選擇]
:0:
* ^X-Spam-Status: Yes
/dev/null


不過在初次使用的結果...它會把我訂閱的電子報過濾掉...所以需要稍微調整分數

你可以利用步驟五的方式,來檢查被過濾掉的非廣告信的計分,再來調整設定。
人必先置於死地而後生
科技來自人性
想像是科技之母

湯包

  • 榮譽博士
  • 鑽研的研究生
  • *****
  • 文章數: 923
  • 性別: 男
    • 檢視個人資料
    • 湯包的部落格
SpamAssassin HowTo
« 回覆 #1 於: 2003-08-18 16:07 »
在使用者的目錄下,會建立一個 .spamassassin 的目錄。

裡面有個使用者個人設定檔 user_prefs
如果沒有,可以自行建立

代碼: [選擇]
vi $HOME/.spamassassin/user_prefs

在這設定檔中,可以自行設定判定廣告信的總分高低,或者每項評分計分的高低,以及確定接受(非廣告信)的 E-Mail Address List

例如:
HTML_80_90 是指信件內容百分之八十到百分之九十都是HTML碼
你如果經常收到朋友寄來這一類的信,可以設定這項評分為 0,以免造成SpamAssassin 的誤判。

代碼: [選擇]
score HTML_80_90        0

詳細評分項目、代表意義說明,以及基本分數列表請看
http://spamassassin.org/tests.html

如果收發信件是亞洲語系,建議把
代碼: [選擇]
score HEADER_8BITS              0
score HTML_COMMENT_8BITS        0
score SUBJ_FULL_OF_8BITS        0
score UPPERCASE_25_50           0
score UPPERCASE_50_75           0
score UPPERCASE_75_100          0

設起來
如果還是會誤計判寄信,可以使用
代碼: [選擇]
whitelist_from   user_name@domain.name
whitelist_from   xxx@abc.com

的方式把寄件者加入略過清單
人必先置於死地而後生
科技來自人性
想像是科技之母

wangfang

  • 懷疑的國中生
  • **
  • 文章數: 39
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #2 於: 2003-08-18 21:48 »

yousee

  • 訪客
SpamAssassin HowTo
« 回覆 #3 於: 2003-10-30 13:42 »
如果常收到中文主旨和中文收件者,建議再加
代碼: [選擇]
score HEAD_ILLEGAL_CHARS        0
score SUBJ_ILLEGAL_CHARS        0

dennis_lo

  • 懷疑的國中生
  • **
  • 文章數: 43
    • 檢視個人資料
我覺得 Spamassassin 由 Procmailrc 來轉送效能上會很差,以自己為例,約40個使用者,開啟 Spamassassin,CPU使用率就直逼95%,系統幾乎快掛掉,不知道有沒有大大可解!

garry_huang

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
[問題]請問如何設定檔案小於100KB才進行掃描
« 回覆 #5 於: 2004-01-12 18:14 »
使用後覺得很不錯, 真的能檔掉滿多垃圾郵件, 但是真的太吃資源了, 512MB的RAM居然被吃掉80%, 不過不是持續的啦, 過個幾分鐘就會掉下來, 我懷疑是因為郵件檔案大的關西, 所以我想, 只掃檔案小的郵件會不會就比較不吃資源了, 而且廣告信通常也不大, 不知道可不可以設定郵件小於100KB才進行掃描.

garry_huang

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #6 於: 2004-01-12 18:44 »
後來自己試了一下, 好像這樣就可以了.

把 /etc/procmailrc 改成

:0fw: spamassassin.lock
* < 100000
| /usr/bin/spamassassin



不過後來覺得100K還是有點大, 我先改成50K試看看, 看看效能會不會好一點.

aaron

  • 活潑的大學生
  • ***
  • 文章數: 212
  • 性別: 男
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #7 於: 2004-01-20 10:33 »
:D 學弟我發現上面的下載點怪怪的 , 改換這個吧

http://spamassassin.rediris.es/index.html
VMware ESXi & VMware Server & XenServer & VirtualBox

dennis_lo

  • 懷疑的國中生
  • **
  • 文章數: 43
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #8 於: 2004-02-03 15:13 »
問一個問題,
在$home/.spamassassin/user_prefs 中,有以下敘述

# Whitelist and blacklist addresses are now file-glob-style patterns, so
# "friend@somewhere.com", "*@isp.com", or "*.domain.net" will all work.
# whitelist_from someone@somewhere.com

所以我改成如下,

whitelist_from *@xxx.com.tw

可是自己公司內互寄的信件還是會檢查,要如何才能使公司內互寄的郵件不做檢查呢?
另外,我加在 /etc/mail/spamassassin/local.cf 中,也是不行...
忙煩大家幫幫忙,謝謝!

chinghunglai

  • 可愛的小學生
  • *
  • 文章數: 12
    • 檢視個人資料
小弟維護的伺服器上有用 MailScanner + sophos 作病毒掃描
信件若被判定有病毒,則信件主旨會被變更為 {Virus}xxxx
然後小弟希望 Spamassassin 能判斷若主旨有包含 {Virus}
就增加 point....使該信被判定為垃圾信

小弟找了一些文件,卻還不得頭緒
希望各位大大能指導~謝謝 ^^

日京三子

  • 全區板主
  • 俺是博士!
  • *****
  • 文章數: 8829
    • 檢視個人資料
    • http://www.24online.cjb.net
引述: "chinghunglai"
小弟維護的伺服器上有用 MailScanner + sophos 作病毒掃描
信件若被判定有病毒,則信件主旨會被變更為 {Virus}xxxx
然後小弟希望 Spamassassin 能判斷若主旨有包含 {Virus}
就增加 point....使該信被判定為垃圾信

小弟找了一些文件,卻還不得頭緒
希望各位大大能指導~謝謝 ^^


你的意思是, 只要主旨有Virus字樣的, 就當成垃圾信打包到某處嗎?

如果是, 在procmail裡面加入
代碼: [選擇]
:0 H
* ^Subject: Virus
/dev/null

之後, 遇到有Virus字樣, 就直接抓掉....
不曉得解決你的問題了嗎?
哈克不愛的多合一輸入平台----->新香草口味
過去的時間不斷流逝,抹去的眼淚已成追憶;
乾枯的雙手無力阻止,再會了我遠去的曾經。

chinghunglai

  • 可愛的小學生
  • *
  • 文章數: 12
    • 檢視個人資料
引述: "日京三子"
引述: "chinghunglai"
小弟維護的伺服器上有用 MailScanner + sophos 作病毒掃描
信件若被判定有病毒,則信件主旨會被變更為 {Virus}xxxx
然後小弟希望 Spamassassin 能判斷若主旨有包含 {Virus}
就增加 point....使該信被判定為垃圾信

小弟找了一些文件,卻還不得頭緒
希望各位大大能指導~謝謝 ^^


你的意思是, 只要主旨有Virus字樣的, 就當成垃圾信打包到某處嗎?

如果是, 在procmail裡面加入
代碼: [選擇]
:0 H
* ^Subject: Virus
/dev/null

之後, 遇到有Virus字樣, 就直接抓掉....
不曉得解決你的問題了嗎?


是的 ! 您解決了我的問題 !
小弟都忘了可以直接在 procmail 這邊動手腳~

無限感激 !!

Tony-tang

  • 活潑的大學生
  • ***
  • 文章數: 200
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #12 於: 2004-04-29 17:44 »
不好意思 照著湯包大大的方法安裝到  spamassassin-tools-2.63-1.i386.rpm
卻出現
引用
rpm --force -Uvh spamassassin-tools-2.63-1.i386.rpm
error: failed dependencies:
        perl(Digest::SHA1)   is needed by spamassassin-tools-2.63-1

可是我的Digest-Perl-MD5或Digest-SHA1都有安裝 還是要裝哪一個perl版本
可以教我一下嗎

jarrycho

  • 鑽研的研究生
  • *****
  • 文章數: 518
  • 性別: 男
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #13 於: 2004-04-30 14:11 »
小弟也是遇到這問題,不過小弟再加了 --nodeps 來做,我家裡也是RH9
可以在家安裝就不會,公司的RH9 反而會!怪了!看來要CHECK 一下
Module 了

scliu

  • 可愛的小學生
  • *
  • 文章數: 1
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #14 於: 2004-05-04 12:10 »
請教一個問題,spamassassin要怎樣設成全區的?也就是不用在每個user的目錄下定user_pref檔?
另外,在procmail裡的設定,如果不設spamassassin.lock會怎樣?(也就是不用lock file)
因為我如果有設的話,會出現couldn't unlock "spamassassin.lock"的訊息,這要如何解決?

謝謝!

jarrycho

  • 鑽研的研究生
  • *****
  • 文章數: 518
  • 性別: 男
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #15 於: 2004-05-19 11:24 »
設定 /etc/mail/spamassassin/local.cf 這個檔看看行不行,因為小弟目
前是試過 by user home 下的設定與配合mailscanner 呼叫,如果是mailscanner 的話,在mailscanner裡設定就可了

clack

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #16 於: 2004-06-04 17:20 »
我在灌spamassassin的時候,好像出了點問題,不知道有沒有灌成功
在打了perl Makefile.PL時,出現了以下的訊息

what email address or URL should be used in the suspected-spam report
text for users who want more information on your filter installation?
(In particular -ISPs should change this to a local Postmaster contact)
default text:[the administrator of that system]
然後按了enter
就出現了這個
Warning:prerequisite Pod:Usage 1.1 not found
Writing Makefile for Mail::SpamAssassin
Makefile written by ExtUtils:MakeMaker 6.05

接著我就繼續輸入
make
make install

然後我想測試SA,結果輸入了
reservice spamassassin start
這時又出現了spamassassin: unrognized service
請問我是遇到了什麼問題?...
這兩天一直在看搜尋的文章,就是跟我一樣的..
電腦版本:
linux 6.2
perl 5.005
sendmail 8.12.9
Mailscanner 4.22
spamassassin 2.60

clack

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #17 於: 2004-06-04 17:52 »
當我輸入spamassassin 時,又出現下列訊息
Can't locate Pod/Usage.pm in @INC
(@INC contains /usr/lib/perl5/site_perl/5.005/i386-linux
                       /usr/lib/per5/site_perl/5.005
                       /usr/lib/perl5/5.00503
                       /usr/lib/perl5/site_perl/5.005/i386-linex
                       /usr/lib/perl5/site_perl/5.005 at /usr/bin/spamassassin line 54
Begin failed--compilation aborted at /usr/bin/spamassassin line 54

jarrycho

  • 鑽研的研究生
  • *****
  • 文章數: 518
  • 性別: 男
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #18 於: 2004-06-04 17:58 »
tar 的spamassassin 我是沒安裝過,要perl makefile 之前是否有先看過相關的install 解說呢?或者可以看官方的安裝說明,我是使用rpm 的方式
spamassassin 有提供 rpm 下載

湯包

  • 榮譽博士
  • 鑽研的研究生
  • *****
  • 文章數: 923
  • 性別: 男
    • 檢視個人資料
    • 湯包的部落格
SpamAssassin HowTo
« 回覆 #19 於: 2004-06-04 18:22 »
引述: "Tony-tang"
不好意思 照著湯包大大的方法安裝到  spamassassin-tools-2.63-1.i386.rpm
卻出現
引用
rpm --force -Uvh spamassassin-tools-2.63-1.i386.rpm
error: failed dependencies:
        perl(Digest::SHA1)   is needed by spamassassin-tools-2.63-1

可是我的Digest-Perl-MD5或Digest-SHA1都有安裝 還是要裝哪一個perl版本
可以教我一下嗎


那你改用 rpm -Uvh spamassassin-tools-2.63-1.i386.rpm spamassassin-tools-2.63-1 perl-Mail-SpamAssassin-2.63-1.i386.rpm
呢?
這樣它應該就不會問相依性的問題了
人必先置於死地而後生
科技來自人性
想像是科技之母

jarrycho

  • 鑽研的研究生
  • *****
  • 文章數: 518
  • 性別: 男
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #20 於: 2004-06-05 07:52 »
下載下來會有三個檔案,perl-SpamAssassin.xxxx.rpm ,Spamassassin-2.xx.rpm ,Spamassassin-Tools-2.xxx.rpm ,先裝 perl →spamassassin→spamassassin-tools
spamassassin-tools 如果安裝時出現如上您所列的之錯誤時加個 --nodeps 來跑!

clack

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #21 於: 2004-06-08 09:31 »
引述: "湯包"
引述: "Tony-tang"
不好意思 照著湯包大大的方法安裝到  spamassassin-tools-2.63-1.i386.rpm
卻出現
引用
rpm --force -Uvh spamassassin-tools-2.63-1.i386.rpm
error: failed dependencies:
        perl(Digest::SHA1)   is needed by spamassassin-tools-2.63-1

可是我的Digest-Perl-MD5或Digest-SHA1都有安裝 還是要裝哪一個perl版本
可以教我一下嗎


那你改用 rpm -Uvh spamassassin-tools-2.63-1.i386.rpm spamassassin-tools-2.63-1 perl-Mail-SpamAssassin-2.63-1.i386.rpm
呢?
這樣它應該就不會問相依性的問題了


後來我也是照著這樣去執行
結果他出現
error: failed dependencies:
        perl(File::Spec) >=0.8  is needed by spamassassin-2.63-1
        perl(Digest::SHA1)   is needed by spamassassin-tools-2.63-1
        perl(File::Spec) >=0.8  is needed by perl-Mail-SpamAssassin-2.63-1

jarrycho

  • 鑽研的研究生
  • *****
  • 文章數: 518
  • 性別: 男
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #22 於: 2004-06-08 09:45 »
不是已經回覆您說要先裝Perl-spamassassin →spamassassin→spamassassin-tools,spamassassin-tools 如果進不了再加個 nodeps 看看!

clack

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #23 於: 2004-06-08 10:48 »
不是已經回覆您說要先裝Perl-spamassassin →spamassassin→spamassassin-tools,spamassassin-tools 如果進不了再加個 nodeps 看看!

不好意思,問題是...我照著做還是一樣
RPM -Uvh perl-mail-spamassassin-2.63-1.i386.rpm
還是出現這個..
error: failed dependencies:
perl(File::Spec) >=0.8 is needed by perl-Mail-SpamAssassin-2.63-1
我不知道是那裡出了錯....
我只是想弄好...並不是來亂....的..
不好意思,麻煩大家

damon

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 4227
    • 檢視個人資料
    • http://blog.damon.tw/
SpamAssassin HowTo
« 回覆 #24 於: 2004-06-08 10:54 »
不就是個相依性的問題嗎?
搜尋一下相依性這個關鍵字,解決方法跟觀念,很久以前就講過了

jarrycho

  • 鑽研的研究生
  • *****
  • 文章數: 518
  • 性別: 男
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #25 於: 2004-06-08 11:00 »
引用
不是已經回覆您說要先裝Perl-spamassassin →spamassassin→spamassassin-tools,spamassassin-tools 如果進不了再加個 nodeps 看看!

媽呀~您有沒有看見 nodeps 這個參數呢?
引用

不好意思,問題是...我照著做還是一樣
RPM -Uvh perl-mail-spamassassin-2.63-1.i386.rpm
還是出現這個..
error: failed dependencies:
perl(File::Spec) >=0.8 is needed by perl-Mail-SpamAssassin-2.63-1
我不知道是那裡出了錯....
我只是想弄好...並不是來亂....的..
不好意思,麻煩大家

rpm -Uvh --nodeps perl-mail-spamassassin-2.63-1.xxx.xxx
先這樣看安裝進去能不能跑,如果不行跑的話再移除,然後再來找問題點

damon

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 4227
    • 檢視個人資料
    • http://blog.damon.tw/
SpamAssassin HowTo
« 回覆 #26 於: 2004-06-08 16:08 »
perl module就算這樣硬裝上去也是沒辦法動的

clack

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #27 於: 2004-06-09 10:02 »
rpm -Uvh --nodeps perl-mail-spamassassin-2.63-1.xxx.xxx
先這樣看安裝進去能不能跑,如果不行跑的話再移除,然後再來找問題點

我加了..跑是跑了.
他也說安裝了...
那接下來我該怎麼讓spamassassin啟動呢..
------------------------
弄了一個星期,覺得要從microsoft轉移到linux,真是有點困難..
以前是可以幫人家解解問題,結果搞一個linux,換我成為一個超級新手
只會一些初學者的指令,之前玩的因為是圖形介面的,現在因為要幫公司的Mailserver裝一個小軟體,就遲遲弄不好...卻又沒有人懂...
就算看書也不一定找到這種問題..幾度真的有點想放棄,
因為linux是跟windows有很大的不同,從硬體到軟體,不像windows那麼容易.
光是下一堆指令就夠煩了...不要說是大家,如果是我在回答別人的問題,應該也會被我這個初學者打敗吧...唉...真的是很不好意思...

jarrycho

  • 鑽研的研究生
  • *****
  • 文章數: 518
  • 性別: 男
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #28 於: 2004-06-09 10:12 »
:o ~最前頁那裡不就有寫了,該方法為常駐spamd 與配合procmail 來做的,先參照試試,如果您是使用mailscanner 的話,再回覆吧!

clack

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
SpamAssassin HowTo
« 回覆 #29 於: 2004-06-09 10:42 »
對啊!我就是使用mailscanner...