Exchange 2000 Server上阻隔垃圾邮件的方法

12/3/2006来源:Exchange Server人气:8097

Microsoft Exchange 2000 Server上阻隔垃圾邮件的方法和措施

------------------------------------------------------------------------------
简介
电子邮件已成为当今信息社会人们主要的通讯方式之一。据权威市场调研机构IDC的报告预计,到2005年全球的电子邮件使用量将达350亿,与2000年的97亿封相比,会有明显的大幅增长。然而,随之而来的也将是垃圾邮件的急剧增长。如同垃圾传真在传真刚成为企业不可或缺的通讯方式时的盛行一样,当今信息社会的主要通信方式之一-电子邮件,也不断经受着垃圾邮件的侵袭。
散发垃圾邮件的目的是什么呢?据多方研究显示,有近一半的垃圾邮件与商业广告和产品宣传有关,以求达到通过倾销产品来盈利的目的;另外三分之一的垃圾邮件是色情邮件,这一类型的比例有上升的趋势;其余的垃圾邮件涉及到各方面的诸多领域。
------------------------------------------------------------------------------

垃圾邮件所造成的损害
据研究机构的分析报告显示,到2006年垃圾邮件将会占到全球电子邮件总量的近四成。这就意味着企业、用户需要花费宝贵的时间和金钱来处理垃圾邮件,从而势必造成其生产效率的降低。生产效率的降低是垃圾邮件给用户所造成的最主要的损失,随着垃圾邮件量的与日俱增这一问题会显得尤为严重。除此之外,垃圾邮件也会造成网络带宽和存储资源的浪费。欧盟机构估计2001年垃圾邮件所造成的直接和间接经济损失有88亿美元,这一数字并不令人感到惊讶。而且,当用户急于删除邮箱中的大量垃圾邮件时,可能会由于疏忽而一同删除一些正常的邮件,从而造成难以挽回的损失。
所以,为了节省时间、金钱和资源,如何有效地阻止垃圾邮件已成为摆在我们面前的一个急需更好解决的问题。

------------------------------------------------------------------------------
如何对付垃圾邮件
------------------------------------------------------------------------------
一.使用常识
这是很基本也是重要的一点,但它却常常会被有些用户所忽视。与其亡羊补牢,不如未雨绸缪。
首先,不要在网上的诸如聊天室、新闻组的公共场合随意公开自己的正式电子邮件地址,因为垃圾邮件散播者很容易就能从这些场所搜集到邮件地址。我们可以申请一些免费的邮件地址专门用于网上公开场所的使用,而不使用自己正规的邮件地址或公司邮件地址。如果在注册一些网站时确实有必要提供自己正规的邮件地址的话,那也应该先仔细查看注册时所提供的用户保密条款,从一定程度上保证自己的邮件地址不会被公开或出售给第三方。
其次,如果可能的话,在申请和设置邮件地址用户名时,尽量使用一些较为复杂的名字。大家知道,许多垃圾邮件散播者都会利用专门的程序通体遍历词典中的常用单词和数字的组合来自动生成大量电子邮件用户名,所以他们可以向一些已存在的电子邮件域名(如@hotmail.com,@yahoo.com等)散发大量的垃圾邮件。如果你的邮件地址用户名太简单,那么很可能就会收到垃圾邮件。
另外,一旦收到垃圾邮件,千万不要回复也不要点击邮件中诸如"取消订阅此邮件"的链接。因为这些链接通常是垃圾邮件散播者用于验证他们所散播邮件的这些地址是否真正存在的惯用伎俩。一旦你的邮件地址被他们证实为一个真实的地址,你的邮箱以后就很有可能一直会收到垃圾邮件的侵扰。

-----------------------------------------------------------------------------
二.在邮件服务器端还是在客户端阻隔垃圾邮件
通常来说,我们可在邮件服务器端或是在客户端采用一定的方法来阻隔垃圾邮件。相比之下,在邮件服务器端的防御会更为有效。
与在服务器端相比,在客户端防范垃圾邮件将要花费更多的时间。公司的网络管理员可能需要在每台客户端机器上都安装、配置反垃圾邮件软件,并要定时更新、升级反垃圾邮件软件的过滤文件。而且,在客户端的防御并不能阻止垃圾邮件到达你的邮件服务器上。其实在客户端反垃圾邮件软件清除那些垃圾邮件之前,它们已经消耗了你邮件服务器上宝贵的网络带宽和存储资源。而且,许多垃圾邮件散播者都已熟知当今主要的客户端反垃圾邮件软件所用的检测方法,他们能使用一些技巧(如隐藏邮件中某些的关键字)来绕过反垃圾邮件软件防范措施。
所以,为了有效地阻止垃圾邮件并将其所造成的损失减小到最少,我们需要在邮件服务器端采取相应的防范措施。在邮件服务器端阻隔垃圾邮件主要有以下优点:
1.我们可在仅与外界(Internet)相连的前端服务器(或邮件转发网关)上采取防范措施,从而省去了在每个客户端进行安装和配置的繁琐工作。
2.在垃圾邮件进入你的邮件系统前就将其阻隔,节省了网络带宽和存储资源。
3.基于邮件服务器端的防范手法更为多样,结合使用,更为有效。
-----------------------------------------------------------------------------
三.如何在Microsoft Exchange 2000上防范垃圾邮件
Exchange 2000 Server(以下简称为Exchange)是目前微软在邮件服务器领域的旗舰产品(下一版本的Exchange 2003将会在今年年中左右发布)。下面就介绍一下在Exchange服务器上防范垃圾邮件主要方法。
------------------------------------------------------------------------------
1.防止恶意转发
这里的恶意转发(Relay)是指一个Internet上的SMTP服务器连接到你的邮件服务器来试图发送邮件到另外一个外部的电子邮件域。例如,你公司的邮件服务器A负责接收的是a.com的邮件地址,如果一台Internet上的外部SMTP服务器B连到你的服务器,并想通过你的邮件服务器来转发一封到c.com的邮件,这就是一种Relay。如果你的邮件服务器允许这种转发,那么它就处于Open-Relay状态;若不允许,就是Closed-Relay。
垃圾邮件的散播和恶意转发是两个不同但却又相关的概念。上面我们已经介绍了什么是恶意转发,这里再简单介绍一下垃圾邮件的主要散播途径。许多垃圾邮件散播者并不用他们自己的邮件服务器来发送垃圾邮件,而是寻找Internet上那些Open-Relay的邮件服务器来以大量群发的方式转发垃圾邮件。这样他们自己的邮件服务器可以在一定程度上被隐藏起来,而真正受害的将是那些被用来恶意转发垃圾邮件的Open-Relay服务器。
默认情况下Exchange不是,也不应该是Open-Relay。处于Open-Relay状态的邮件服务器会造成很大的危害性,主要有两点。第一,收信方会认为你的邮件服务器在散播垃圾邮件,从而在他们的服务器端阻隔所有来自你的服务器或域的连接请求。这样你的服务器就不能向那些域发信了。而且更糟的是你的邮件服务器的ip地址还很有可能会被加入到Internet上公开的Open-Relay服务器黑名单(Black List)上,所造成的后果是你会发现许多外部域都拒收来自你服务器的邮件,你需要花费一定的人力财力才能将自己的服务器从黑名单上去除。第二,一般一封垃圾邮件是群发的,收件人会有成百上千个。垃圾邮件散播者通过你的邮件服务器转发垃圾邮件,他们只需用很少的网络带宽向你的服务器发一封信,然后你的服务器若是允许转发,那么它将会占用大量的网络带宽来将这份信转发到所有的外部收信人那里。由于正常的网络带宽被过度占用,情况严重时会造成服务器停止响应,影响内部用户邮件的正常使用。
我们可以通过以下的步骤来确保Exchange服务器不处于Open-Relay状态:
(1).打开Exchange System Manager。
(2).在左边的窗口中,找到Servers -> "你的服务器名" -> Protocols -> SMTP -> Default SMTP Virtual Server。右击鼠标打开Default SMTP Virtual Server的属性对话框。
(3).在access选项卡上,点击Relay按钮。
(4).在弹出的Relay Restriction对话框中(如图1),选中"Only the list below"选项。这也是Exchange的默认设置。这样所有外部的服务器就不能通过这台Exchange服务器来转发邮件。若是我们要允许一些特定的服务器(如你的子公司或合作伙伴的服务器)通过你的服务器转发邮件,我们可以点击Add按钮把那些特定的服务器加到下面的列表中。

(5).最下面的"Allow all computers which successfully authenticate to relay, regardless of the list above"为可选项。如果你有用户要通过POP3或IMAP4的方式来访问服务器上的邮箱,那么这个选项一定要选中。选中这个选项后,Exchange服务器并没有处于Open-Relay状态,这个选项只是用于让那些能够提供正确用户名和密码的POP3或IMAP4合法用户来转发邮件,Internet上其他未经认证的服务器仍然不能转发。若是我们没有POP3或IMAP4用户,这个选项可以不选中。
除了在Default SMTP Virtual Server上要防止Open-Relay之外,我们还需要注意SMTP Connector上的设置。虽然Exchange 2000无需SMTP Connector就已经能够通过SMTP Virtual Server来收发Internet的邮件,但许多公司还是会创建一个或多个SMTP Connector来更好地细化和定义对外发信的路由。通常会有一个SMTP Connector的地址空间(Address Space)是*,表示发向Internet上所有外部域的邮件都可以通过这个SMTP Connector出去。在Exchange System Manager中打开这个SMTP Connector属性对话框,为了不使服务器处于Open-Relay状态,在Address Space选项卡上(如图2)确保底部的"Allow messages to be relayed to these domains"选项没有被选中。

------------------------------------------------------------------------------
2.设置IP地址限制
对于从Internet上收到的垃圾邮件,我们可以在Outlook中打开其"邮件选项"对话框,查看其Internet信头。从信头中我们可以得到发送这封垃圾邮件的服务器的IP地址,从而我们可以在Exchange服务器上限制来自这个IP地址的连接。具体步骤如下:
(1).打开Exchange System Manager。
(2).在左边的窗口中,找到Servers -> "你的服务器名" -> Protocols -> SMTP -> Default SMTP Virtual Server。右击鼠标打开Default SMTP Virtual Server的属性对话框。
(3).在Access选项卡上,点击Connection按钮。
(4).在弹出的Connection对话框中(如图3),选中"All except the list below"选项。点击下面Add按钮来添加那些我们不想让其连接的服务器。限制条件可为单独的IP地址,由子网掩码定义的一段IP地址或DNS域名。


注意:若采用DNS域名做为限制条件,就需要对所有的连入请求进行反向DNS查询(验证其连入的IP地址和域名是否相符),这会在一定程度上影响服务器的性能。
如果我们所处的环境是我们ISP的邮件服务器为我们接收所有来自Internet的邮件,然后再转发到我们的Exchange服务器,那么我们完全可以在图3中选择"Only the list below"选项,然后加入ISP邮件服务器的IP地址或IP段。由于有些ISP会定期更改他们邮件服务器的IP地址,所以我们建议采用子网掩码来加入一组IP网段。
------------------------------------------------------------------------------
3.限制每个连接所能发送的最大邮件数和每封邮件的最大收件人数
我们知道,垃圾邮件通常是以群发的形式发给大量的收件人。在Exchange服务器上,我们可以通过限制每个SMTP连入请求所能发送的最大邮件数和每封邮件的最大收件人数,来从一定程度上制止垃圾邮件的蔓延。具体的做法是:
(1).打开Exchange System Manager。
(2).在左边的窗口中,找到Servers -> "你的服务器名" -> Protocols -> SMTP -> Default SMTP Virtual Server。右击鼠标打开Default SMTP Virtual Server的属性对话框。
(3).在Messages选项卡上,有"Limit number of messages per connection to:"和"Limit number of recipients per message to:"两个选项可以设置。其默认值分别为20和64000。我们可以根据实际需要进行相应的调整。
------------------------------------------------------------------------------
4.使用过滤器阻止垃圾邮件
另外,Exchange服务器还为我们提供了过滤器功能,可用于阻隔来自特定邮件地址、域名的邮件或是发件人为空的邮件(发件人为空是许多垃圾邮件的特征之一)。使用过滤器的具体步骤如下:
(1).打开Exchange System Manager。
(2).在左边的窗口中,找到Global Settings -> Message Delivery。右击鼠标打开Message Delivery的属性对话框。
(3). 在Filtering选项卡上(如图4),点击Add按钮我们可逐一添加所需阻隔的邮件地址或域名。例如,我们可添加somebody@spam.com来阻隔发自这个特定地址的邮件;或使用通配符*@spam.com来阻隔所有发自spam.com的邮件。

(4).另外,在Filtering选项卡的下面我们可以选中"Filter messages with blank sender"来拒收收件人为空的邮件。
定义了过滤条件以后,我们还需要将其应用到SMTP Virtual Server上使其生效。
(5).打开Default SMTP Virtual Server的属性对话框,在General选项卡上点击Advanced按钮,然后再点击Edit按钮。
(6).在弹出的Identification对话框中(如图5),选中"Apply Filter"选项。



------------------------------------------------------------------------------
5. 使用Event Sink
另外我们还能通过使用VB,VC等编写Event Sink来检测邮件标题或是信体中的特定内容,阻隔垃圾邮件。如果大家对此有更多兴趣的话,可以参考下面微软知识库文档中的代码样例和Exchange 2000 SDK(Software Development Kit)上的内容。
http://support.microsoft.com/default.aspx?scid=KB;EN-US;313404
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/wss/_exch2k_welcome_to_exchange.asp
http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/MSDN-FILES/027/001/834/msdncompositedoc.xml
------------------------------------------------------------------------------
四.Microsoft Exchange 2003在防范垃圾邮件功能上的增强
将于今年年中左右发布的Exchange 2003(开发代号为Titanium,目前版本为Beta2测试版)是微软Exchange Server的下一代版本。下面就简单介绍一下Exchange 2003中部分针对反垃圾邮件功能上的增强,供大家参考。
上面我们提到Exchange 2000中有过滤器可通过检测邮件中的发信人地址来阻隔垃圾邮件。在Exchange 2003中,这一功能进一步被细化为发信人过滤器、收信人过滤器和连接过滤器。打开Exchange 2003的Exchange System Manager,在Message Delivery的属性对话框上,我们可以看到三个相应的选项卡(如图6)。

其中Sender Filtering选项卡上就是Exchange 2000中的过滤器,新增了"Drop connection if address matches filter"这一选项;Recipient Filtering选项卡上为收信人过滤器功能,可以指定拒收收信人为任意特定地址的邮件,或是选中"Filter recipient who are not in the Directory"来只接收那些发给其目录(即Windows的活动目录)中收件人的邮件。这样Exchange服务器就不用象以前那样对于发送不了的垃圾邮件进行退信(NDR),节省了资源。通常情况下,垃圾邮件散播者用的地址都为空地址或是假地址,以前当NDR信件本身也不能被发送出去时,会堆积在Exchange服务器上的BadMail目录中,需要管理员定时清空这些邮件。但需要注意的是,由于SMTP协议会对非法的收件人地址返回相应的5.x.x代码,所以使用收信人过滤器可能会让一些恶意的垃圾邮件散播者识别出哪些邮件地址是存在的,哪些是不存在的。这一点大家需要注意。
下面重点介绍一下Exchange 2003中的连接过滤器功能。Exchange 2003支持使用Internet上的即时黑名单列表(RBLs:Real-time Blacklists)来作为过滤连接请求的判断规则。RBLs中包含了大量已知的垃圾邮件散播者和处于Open-Relay状态服务器的IP地址。Exchange 2003可以将发送连接请求的远端SMTP服务器的IP地址与RBLs中的信息进行比较,如果发现其与黑名单中的IP地址相符,则拒绝此连接请求。由于RBLs供应商都会即时地更新他们的RBLs中的信息,所以Exchange 2003采用这种方式将能颇为有效地阻隔大量的垃圾邮件。在图6中的Connection Filter选项卡上,我们点击New按钮可逐一添加RBLs列表(如图7)。当添加了多个RBLs后,我们还能用Move Up和Move Down按钮调整其优先级。

Exchange 2003在其他许多方面的功能都有不小的增强,大家感兴趣的话可以参考微软官方网站上的相关文档。

,