2008年2月16日 星期六

spamassassin+procmail+postfix

關於 postfix前一篇已經講過了

這一篇是以前我在聯成電腦討論區所貼的文章

在這裡分享一下

首先是spamassassin部分

在 “/etc/mail/spamassassin/local.cf” 裡↓↓↓↓

# SpamAssassin config file for version 2.5xM
# generated by http://www.yrex.com/spam/spamconfig.php (version 1.01)

# How many hits before a message is considered spam.
#判定為 spam 所需要的分數
required_hits 5.0

# Whether to change the subject of suspected spam
#設定要不要改主旨
rewrite_subject 1

# Text to prepend to subject if rewrite_subject is used
#要加在 spam 主旨前面的字
subject_tag *****廣告信*****

# Encapsulate spam in an attachment
#將垃圾加在附件後
report_safe 1

# Use terse version of the spam report
#用精簡的自動回報垃圾給管理者
use_terse_report 0

# Enable the Bayes system
#啟用 Bayes 系統,此系統具有自動學習功能
use_bayes 1

# Enable Bayes auto-learning
#開啟自動學習
auto_learn 1

# Enable or disable network checks
skip_rbl_checks 0
use_razor2 1
use_dcc 1
use_pyzor 1

# Mail using languages used in these country codes will not be marked
# as being possibly spam in a foreign language.
# - chinese english japanese
ok_languages zh en ja

# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales en ja zh

建立 Filter 的 Script
建立一個新的檔案 “/usr/local/sbin/filter.sh”
exec /usr/bin/spamc -d 127.0.0.1 -f -p 783 -t 30 -e /usr/sbin/sendmail -i “$@”
新增這行 Spamassassin 檢查的指令,
存檔離開之後記得修改權限使其可以執行
# chmod 755 /usr/local/sbin/filter.sh

在 “/etc/postfix/master.cf” 中加入紅色部分
smtp inet n - n - - smtpd -o content_filter=postfixfilter

postfixfilter unix - n n - - pipe flags=Rq user=nobody
argv=/usr/local/sbin/filter.sh -f ${sender} — ${recipient}

之後在 “/etc/postfix/main.cf” 中再增加一行
header_checks = pcre:/etc/postfix/header_checks

以上spamassassin設定完成
補充: spamassassin分數判別的資料是放在 “/usr/share/doc/packages/perl-spamassassin/sample-nonspam.txt”裡
============================================================
是procmail部分

在 “/etc/postfix/main.cf”中加入
“mailbox_command = /usr/bin/procmail” <==就可支援procmail

接著”#vi /etc/procmailrc” <==設定procmail的規則

# History of procmail RC file,
# Written by VBird
############ History ############################################
# Day Who What
# ———- —— —————————————
# 2002/05/04 VBird First build, all is the same with
# 臥龍小三 ftp://ftp.tnc.edu.tw/pub/Sysop/MAIL/procmailrc
# 林克敏 http://freebsd.lab.mlc.edu.tw/procmail.htm
# 2002/05/04 VBird 新增廣告信件移除兩個!
# 2002/05/06 VBird 新增 Klez.W32 病毒的針測
# 2003/09/05 VBird 新增 Sobig 與 MiMail 病毒抵擋!
#################################################################
############ Globle settings ####################################
VERBOSE=yes
LOGABSTRACT=all
LOGFILE=/var/log/procmail.log
UMASK=000

################ Virus scanner ##################################
############# 1. KLEZ.G Virus ###################################
:0b
* ^Subject:.*(Let’s be friends)
/dev/null

:0b
* ^Subject:.*A funny game
/dev/null

:0b
* ^Subject:.*Hello,.*,how are you.*
/dev/null

:0 B
* ^Content-Type:.*audio/x-wav.*
* ^.*name=.*.(scr|SCR)
/dev/null

:0 B
* ^Content-Type:.*audio/x-midi.*
* ^.*name=.*.(scr|SCR)
/dev/null

:0 B
* ^Content-Type:.*application/octet-stream.*
* ^.*name=.*.(scr|SCR)
/dev/null

:0 Bb
* ^This game is my first work.*
* ^You’re the first player.*
* I.*you would .* it.*
/dev/null

:0 Bb
* Hello,This is a.*
* I.*you would.*it.*
/dev/null

:0 Bb
* ^This is a.*
* ^I.*you would.*it.*
/dev/null

:0 Bb
* .*This is a.*patch.*
* ^I .* you would.*it.*
/dev/null

:0 B
* ^Content-Type:.*multipart/mixed.*
* name=”ANTI_CIH.EXE”
/dev/null

:0b
* ^Subject:.*W32.*removal tools$
/dev/null

:0b
* ^Subject:.*Worm Klez.*immunity.*
/dev/null

############# 2. Nimda Virus ####################################
:0 Bh
* ^Content-Type:.*audio/x-wav.*
* name=”readme.exe”
/dev/null

:0 Bh
* ^Content-Type:.*audio/x-wav.*
* name=”sample.exe”
/dev/null

:0 B
* ^Content-Type:.*multipart/mixed.*
* name=”readme.exe”
/dev/null

:0 B
* ^Content-Type:.*multipart/mixed.*
* name=”sample.exe”
/dev/null

:0 B
* ^Content-Type:.*application.*
* name=”readme.exe”
/dev/null

:0 B
* ^Content-Type:.*application.*
* name=”sample.exe”
/dev/null

:0 Bh
* charset=”iso-8859-1″
* name=.*bat
/dev/null

:0 Bh
* charset=”iso-8859-1″
* name=1.*zip
/dev/null

############# 3. SirCam Virus ###################################
:0 Bh
* I send you this file in order to have your advice
/dev/null

############# 4. MMail Virus ###################################
:0 Bh
* name=.*message.zip
/dev/null

############# 5. Sobig Virus ###################################
:0 Bh
* name=.*pif
/dev/null

#################################################################
############# 廣告信 ###########################################

# 來自奇摩與 PCHOME 的都擋掉!
:0 Bh
* href=.*http://home.kimo.com.tw
/dev/null

:0 Bh
* href=.*http://home.pchome.com.tw
/dev/null

:0 Bh
* Subject:.*AV66情色派
/dev/null

:0 Bh
* From:.*創意行銷
/dev/null

:0 Bh
* http://.*etl.com.tw
/dev/null

:0 BhH
* http://f2m.aac.com.tw
/dev/null

:0 BhH
* http://www.9895.com
/dev/null

:0 BhH
* http://88.to
/dev/null

:0 BhH
* http://fly.to
/dev/null

:0 BhH
* http://china.kyodo.co.jp
/dev/null

:0 BhH
* http://.*.openmybiz.com
/dev/null

:0 BhH
* http://.*.pufan.com
/dev/null

:0 BhH
* http://.*.buyy.biz
/dev/null

:0 BhH
* http://.*.tw886.to
/dev/null

:0 BhH
* http://.*.hala.idv.tw
/dev/null

# 底下是最近的一些發信軟體所發送的幾個 Keyword. 2003/09/05
:0 Bh
* http://.*.wantclick.com
/dev/null

:0 Bh
* http://fastcounter.bcentral.com
/dev/null

接著打”#vi /etc/logrotate.d/procmail”

/var/log/procmail.log {
monthly
rotate 5
nocompress
}

然後 “#touch /var/log/procmail.log”
再 “#chmod 666 /var/log/procmail.log” <== 這很重要 要不然會有錯誤訊息

之後就大功告成了

===================================================================

就可以開始測試
如果成功 “/var/log/mail” 就會有記錄寄來信件所得到的分數

如下
Oct 13 22:28:36 zipe spamd[27772]: spamd: identified spam (10.2/5.0) for nobody:65534 in 0.1 seconds, 3021
bytes.
超過分數的話 procmail會直接丟掉

以上資料 參考”鳥哥的私房菜教學文章和酷學園討論區”
http://www.gentoo.tw/got-doc/spamassassin.xml#doc_chap4″

如果想知道”procmail”規則的相關設定請到鳥哥的網站查詢

原文:

http://suse.lccnet.com.tw/modules/newbb/viewtopic.php?topic_id=2076&forum=6#forumpost5075

沒有留言: