“中文垃圾邮件过滤规则集”安装配置笔记
作者: Jeffrey
出处:http://blog.zhangjianfeng.com/?p=460
”中文垃圾邮件过滤规则集“安装配置笔记(sendmail+Spamassassin+mimedefang环境)
1.安装sendmail
2.下载并安装SpamAssassin
官网地址: http://spamassassin.apache.org
下载URL: http://apache.justdn.org/spamassassin/source/Mail-SpamAssassin-3.0.6.tar.gz
#查看一下本地安装了spamassassin没? 如果安装了可以不装, 或卸载后再安装
tar zxf Mail-SpamAssassin-3.0.6.tar.gz && cd Mail-SpamAssassin-3.0.6
perl Makefile.pl
make && make install
3.下载并安装MIME-tools
wget http://www.mimedefang.org/static/MIME-tools-5.420.tar.gz
tar zxf MIME-tools-5.420.tar.gz && cd MIME-tools-5.420
perl Makefile.pl
#此时报错:
configure: WARNING: *** Make sure the following Perl modules are installed:
configure: WARNING: *** MIME::Tools version 5.410 or higher (5.411a recommended)
configure: WARNING: *** MIME::WordDecoder
configure: WARNING: *** Digest::SHA1
解决办法就是安装这些模块
wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-SHA1-2.11.tar.gz #新版好象不需要了
wget http://search.cpan.org/CPAN/authors/id/D/DS/DSKOLL/IO-stringy-2.110.tar.gz #需要
wget http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MailTools-1.74.tar.gz #需要
wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/MIME-Base64-3.07.tar.gz #好象不需要
wget http://search.cpan.org/CPAN/authors/id/O/OL/OLAF/Net-DNS-0.59.tar.gz #好象不需要
如果在安装mimedefang时, 提示缺少perl模块, 请到 http://search.cpan.org/自行搜寻
安装方法大概都是tar … && cd dirname && perl Makefile.pl && make && make install
此时再回过来安装MIME-tools
perl Makefile.pl && make && make install
4.下载并安装mimedefang
#记得先安装MIME-tools
官网地址: http://www.mimedefang.org/
下载URL: http://www.mimedefang.org/static/mimedefang-2.57.tar.gz
tar zxf mimedefang-2.57.tar.gz && cd mimedefang-2.57
./configure #如果有报错, 请参考提示信息修改,我机器报错及解决办法在下面.
make && make install
useradd defang
cp examples/init-script /etc/init.d/ #这个是启动脚本
注: 1) #./configure报错信息:
configure: WARNING: Oops.. I couldn’t find libmilter.a or libmilter.so. Please install Sendmail
configure: WARNING: and its libraries. You must run Build in the libmilter/ directory
configure: WARNING: to compile libmilter.
configure: WARNING: Oops.. I couldn’t find libmilter/mfapi.h. Please install Sendmail 8.12
configure: WARNING: and its header files.
#解决办法就是安装sendmail-devel包
2) #如果留意./configure时最后的信息的话, 会提示了这么一行
#Note: The MIMEDefang user ‘defang’ does not seem to exist. Please create this user before continuing.
#那么我们增加这个用户即可, 记得如果不增加这个用户的话, 在后面运行脚本的时候也会提示的.
#make install后, 系统也有提示, 内容如下
Please create the spool directory, ‘/var/spool/MIMEDefang’, if it does not exist. Give it mode 700 or 750, and make it owned by the user and group you intend to run MIMEDefang as.Please do the same with the quarantine directory, ‘/var/spool/MD-Quarantine’.
#照做即可, 我的机器安装后就已生成这两个目录, 权限为700, 不需要调整.
5. 配置sendmail.cf文件 (vi /etc/mail/sendmail.cf)
1). 找到这行
# Input mail filters
在这行下面添加一行, 内容如下
O InputMailFilters=mimedefang
2).再找到
##### MAIL FILTER DEFINITIONS
在下面找个合适地方,添加一行,内容如下
Xmimedefang, S=unix:/var/spool/MIMEDefang/mimedefang.sock, F=,T=S:60s;R:60s;E:60s
/etc/init.d/sendmail restart #重启sendmail
6.安装chinese_rules.cf
下载文件: wget -N -P /usr/share/spamassassin/ www.ccert.edu.cn/spam/sa/Chinese_rules.cf
/etc/init.d/init-script restart
7. 可以发邮件测试一下, 如果每一封邮件头都被加上了X-Scanned-By: MIMEDefang 2.57, 可以认为配置成功.(这个在maillog中也有记录)
其它:
1). 中文过滤规则随时都在更新,因此用户可以在crontab中加入下载命令定时更新自己的规则,但注意每次更新都需要重启加载SpamAssassin规则的程序。假如用户想一个月更新一次,那么在root的crontab中应该添加一行:
0 0 1 * * wget -N -P /usr/share/spamAssassin http://www.ccert.edu.cn/spam/sa/Chinese_rules.cf; /etc/init.d/init-script restart
2). 安装mimedefang后,SpamAssassin的用户定义配置文件并不是缺省的local.cf而是samimedefang.cf。
3). 如需要做垃圾邮件网关,需要注意
域名服务器的配置不变,将域名MX记录指向过滤网关。过滤网关更改配置文件,编辑/etc/mail目录下的mailertable文件,添加内容如下:
zhangjianfeng.com esmtp:internal.zhangjianfeng.com
或者
zhangjianfeng.com esmtp:[192.168.0.1]
internal.zhangjianfeng.com和192.168.0.1为邮件服务器的域名和IP.
编辑保存后必须运行如下命令
makemap hash mailertable.db < mailertable
编辑 /etc/mail目录下的access文件,添加内容如下:
internal.zhangjianfeng.com RELAY
makemap hash access.db < access
重启sendmail进程就行了。
如果希望一个网关同时过滤多个邮件服务器的邮件,只有把所有邮件服务器的DNS MX纪录指向邮件网关,并在邮件网关配置相应的邮件路由。
4).为了尽量减少误判,建议使用SpamAssassin提供的白名单功能。比如在/etc/mail/SpamAssassin/sa-mimedefang.cf中添加
whitelist_from *@cernet.edu.cn
会使所有来自cernet.edu.cn的邮件被视为正常邮件。
SpamAssassin主要配置文件是/etc/mail/spamassassin/local.cf和 /usr/share/spamassassin/*.cf,后者是默认的规则文件集,一般不要改动;前者可以让管理员修改配置添加规则。由于默认的规则 库不太符合国内中文邮件,所以你得添加一些适合中文的规则到local.cf文件中,下面的是由反垃圾邮件联盟网站ten提供的适合中文邮件规则集:
##################################################
#Follow is diables some bad rules for chinese mail
#################################################
score SUBJ_FULL_OF_8BITS 0.0
score BASE64_ENC_TEXT 0.0
score BAYES_99 0.1
score BAYES_90 0.1
score BAYES_80 0.1
score BAYES_70 0.1
score BAYES_60 0.1
score FROM_ILLEGAL_CHARS 0.1
score HEAD_ILLEGAL_CHARS 0.1
score SUBJ_ILLEGAL_CHARS 0.1
score MIME_BASE64_TEXT 0.1
score FAKE_HELO_AOL 0.1
score NO_RDNS_DOTCOM_HELO 0.1
score CHINA_HEADER 0.1
鉴于相当多的网友询问如何在Spamassassin里配置CBL的黑名单作为其评分标准之一,
故整理了一下CBL/CDL/CBL+/CBL-的在Spamassassin里的配置格式,
其中有些设置了检查返验证码,有些没设,以及分值的设定等等,这些可根据各自的实际情况设置。
其中我们推荐优先使用CBL-和CML。
| CODE |
|
#header RCVD_IN_CBL eval:check_rbl(’cbl’, ‘cbl.anti-spam.org.cn.’) #header RCVD_IN_CBL_DIALUP eval:check_rbl(’cdl-notfirsthop’, ‘cdl.anti-spam.org.cn.’, ‘127.0.8.4′) #header RCVD_IN_CBL_PLUS eval:check_rbl(’cblplus’, ‘cblplus.anti-spam.org.cn.’) |
以下两行另存为一个.cf文件 ,过滤指定主题和内容
header CN_SUBJECT_992 Subject =~ /135/
describe CN_SUBJECT_992 Subject contains “135″
score CN_SUBJECT_992 0.3
body CN_BODY_977 /91\.com/
describe CN_BODY_977 Body contains “91\.com”
score CN_BODY_977 1.500
body CH_FREE /免费/
describe CH_FREE 内有中文字”免费”,疑为垃圾信件。
score CH_FREE 15
#whitelist_from *@163.com
whitelist_from *@koowo.com
blacklist_from *@listhost.us
更多spamassassin配置参数,请参见命令 perldoc Mail::SpamAssassin::Conf
vi /etc/procmailrc
# 启动SpamAssassin系統, filter all incoming mail through SpamAssassin and tags probable spam with a unique header
# 小于100K的信件要执行检查, 超过直接放过他!
#### 如果看到是被打上Spam字样,就送入nulluser信箱
#SHELL=/bin/sh
#LOGFILE=/var/log/procmail.log #如果启用这个,就是加日志功能
:0fw: spamassassin.lock
* < 100000 #
| /usr/bin/spamassassin #仅检查100K以内的邮件
:0:
* ^X-Spam-Flag: Yes
/var/mail/nulluser
種垃圾郵件後續處理方式(要修改/etc/procmailrc )
1.直接刪除(較不建議)
:0:
* ^X-Spam-Status: Yes
/dev/null 2.移到spam帳號下
:0:
* ^X-Spam-Status: Yes
/var/spool/mail/spam
建立spam帳號
useradd spam
passwd spam
touch /var/spool/mail/spam
chown spam /var/spool/mail/spam(這樣才不會有權限問題)
3.移到每位user的home/mail/廣告信
:0:
* ^X-Spam-Status: Yes
$HOME/mail/廣告信
cd /root
pico -w touch_file.sh
—–touch_file.sh——–
for i in /home/*
do
#mkdir $i/mail
touch $i/mail/廣告信
chown `basename $i /home/` $i/mail/廣告信
done
——–
chmod +x touch_file.sh
./touch_file.sh
Trackback URL: http://blog.zhangjianfeng.com/article/460/trackback
Tags: mimedefang, sendmail, Spamassassin, 中文, 垃圾邮件, 安装, 服务器, 笔记, 规则集, 过滤, 配置





















4 Responses to ““中文垃圾邮件过滤规则集”安装配置笔记”