斩断Linux邮件服务器上的垃圾邮件魔掌(1)


当今世界,垃圾邮件继续横行,而且日益成为一个严重的问题,因为垃圾邮件制造者也变得越来越聪明了,所以防止垃圾邮件对任何运行邮件服务器的人来说都是一件非常必要的事情。对于使用Linux的单位来说,现在就有一个杰出的防止垃圾邮件的工具:SpamAssasin 。现在我们就看一下如何通过SpamAssasin遏止垃圾邮件。
认识SpamAssassin
SpamAssasin是一个邮件过虑器,它可以使用一系列的机制来确认垃圾邮件,这些机制包括:文本分析、Bayesian 贝叶斯判决规则)过虑、DNS数据块列表,以及合作性的过虑数据库。SpamAssasin并不能删除垃圾邮件,但它却可以阻止垃圾邮件。究其原因,主要在于它有如下一些特性:
活动范围宽:SpamAssasin使用大量的本地和网络的测试来确认垃圾邮件特征。这使得垃圾邮件制造者在明确其制造的信息的可工作性时增加了难度。
自由软件:与其它流行的开源软件如Apache Web Server)一样,在相同的条件下发行。
易于扩展:反垃圾测试和配置信息存储在纯文本中,这使得配置和增加新的规则相当容易。
灵活性:SpamAssasin将其逻辑封装在一个设计精良的、抽象化的API中,因此它可被集成到电子邮件数据流中的任何地方。SpamAssasin可被用于多种电子邮件系统中,其中包括:procmail,sendmail,Postfix, qmail等。
易于配置:SpamAssasin几乎不需要用户的配置。你不必用邮件帐户或邮件列表的成员资格详细信息来不断地更新SpamAssasin配置。一旦分类,站点和用户规则就可以被运用于垃圾邮件。而且规则可以适用于邮件服务器,并且在以后又可以使用用户自己的邮件用户代理应用程序。
SpamAssasin通常被认为是最好的垃圾邮件过滤器之一。本文将引导您安装、配置和使用这个强大的工具。
获取并安装SpamAssasin
作为一个Linux应用程序,有各种各样的方法安装SpamAssasin。下面是一个安装方法的简单列表:

Debian unstable:apt-get install spamassassin
Gentoo: emerge mail-filter/spamassassin
Fedora: yum install spamassassin
用户可从SpamAssasinhttp://spamassassin.apache.org/downloads.cgi?update=200702131100)下载相关文档。文件准备好后,在控制台提示符下输入如下的命令:
untar/unzip the file
cd into the newly created directory
perl Makefile.PL
OPTION: Add -DSPAMC_SSL to $CFLAGS to build an SSL-enabled spamc]
make
make install [as root]
在INSTALL文件内有相当多的特定发布规则和从属规则。因此要在安装之前完整地阅读此文件。
为在系统范围内的使用进行安装
为在系统范围内的使用进行安装的一个最好理由是你不必更改用户的procmailrc文件。这可能会成为一个令人头痛的问题,这依赖于你所拥有的用户的数量。由于这个过程会从理论上破坏用户的电子邮件,把它放在一个试验性的环境中运行测试是很明智的。
配置
就像大多数Linux应用程序一样,SpamAssasin需要对配置文件的编辑。这个配置文件位于/etc/mail/spamassassin/ ,名为local.cf。在你手动编辑配置文件之前,可注意一下,Michael Moncur 已经编写的一个出色的工具SpamAssassin Configuration Generator,它可以帮助用户创建local.cf文件。不过,这个工具目前只能在SpamAssasin 3.x中工作。
这个工具提供基于web的选项套件,可以帮助用户创建自己的配置文件。在选取了Mr. Moncur 创建的简单选项后,按下“Generate”:
# Generated by http://www.yrex.com/spam/spamconfig.php (version 1.50)
# How many hits before a message is considered spam.
required_score 7.5
# Change the subject of suspected spam
rewrite_header subject *****SPAM*****
# Encapsulate spam in an attachment (0=no, 1=yes, 2=safe)
report_safe 1
# Enable the Bayes system
use_bayes 1
# Enable Bayes auto-learning
bayes_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.
ok_languages all
# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales all


相关内容