邮件服务器-邮件系统-邮件技术论坛(BBS)

标题: Exchange Server 2003 反垃圾邮件经验谈 [打印本页]

作者: 钉子    时间: 2008-9-12 00:55
标题: Exchange Server 2003 反垃圾邮件经验谈
众所周知,当前网络安全环境及SMTP协议本身的弱点,导致了大量的垃圾邮件产生,在过去几年中甚至愈演愈烈,没有人会否认垃圾邮件已经是当今电子邮件系统中最令人头痛的问题,垃圾邮件足以让企业和用户蒙受巨大损失,更为严重的是,垃圾邮件的危害已不再局限于电子邮件内容本身,如果无法有效控制这些威胁,就可能使整个企业网络陷入遭受安全攻击的危险之中,所以当前每个企业都必须采取预防措施来防范垃圾邮件。

作为市场占有率极高邮件系统―― Exchange Server同样面临这些挑战。早在Exchange Server 2000之前的版本中,基本上没有考虑防范垃圾邮件的功能,当然那个年代也许根本就不需要.随着Exchange Server 2003的发布,更多反垃圾邮件功能内置在了系统中。特别是在Exchange Server 2003 SP2推出时同步推出了智能邮件筛选器(IMF),这样微软通过Exchange Server服务器端实现从连接级――保护分析 SMTP 主机连接,协议级――保护分析邮件发件人和收件人,内容级――保护评估邮件内容等三个方面的保护,并与客户端(OutlookOWA)有效的结合实现全方位的保护。

本文将以目前企业使用的最多版本-Exchange Server 2003 SP2为例,为大家更好的使用用Exchange Server内置的功能防范垃圾邮件提供建议。

{Exchange Server服务器端}

一.连接级保护
连接级保护主要是分析SMTP连接的主机(如:IP地址)是否为发送垃圾邮件的主机或或是拒绝连接的主机,如果确定为垃圾邮件主机或是拒绝连接的IP地址,将会直接拒绝当前的连接,所以说它是最直接的一层,也是最简单的一层。在Exchange 2003连接级保护使用的是――“连接筛选”,它主要实现方式包括以下两个:

1.接受和拒绝IP地址列表
通过手动的维护“接受”或“拒绝”IP地址列表可以明确的哪些IP地址是允许连接的,哪些IP地址是不允许直接连接的。通过它我们可以对已知的垃圾邮件主机进行过滤。

配置方法如下:
1)在 Exchange 系统管理器中展开“全局设置”。
2)右键单击“邮件传递”并单击“属性”。
3)单击“连接筛选”选项卡。
4)选择“接受”或“拒绝”, 如“拒绝”。
5)在“添加”时选择“单个 IP 地址”或“IP 地址组”,如下面的屏幕截图所示。



2.阻止名单服务
阻止名单服务就是我们平常所说的实时IP黑名单(RBL),Exchange Server提供管理员增加可信的RBL,从而可以有效的过滤已知的垃圾邮件发送者的IP。我们建议使用以下三个RBL

配置方法如下:
1)在 Exchange 系统管理器中展开“全局设置”。
2)右键单击 “邮件传递”,然后单击“属性”。
3)单击“连接筛选”选项卡。
4)“阻止名单服务配置”中单击“添加”(如下面的屏幕截图所示)。


5)在“显示名”中,键入连接筛选器的名称。
6)在“提供商的 DNS 后缀”中,输入RBL的服务器地址(如:cblless.anti-spam.org.cn)。7)在“自定义要返回的错误消息”中,您可以键入希望返回到发送人的自定义错误消息,例如:
Your IP address %0 is blacklisted by %2.
(参数说明: %0表示连接 IP 地址,%2表示RBL 地址)

8
.单击“返回状态代码”,并输入正确的“返回状态代码”地址。

3.建议
名称
服务器地址
返回状态码
Anti-spam org.cn CBL-
cblless.anti-spam.org.cn
127.0.8.5
SPAMHAUS SBL+ XBL
sbl-xbl.spamhaus.org
127.0.0.2/3/4/6
Spamcop RBL
bl.spamcop.net
127.0.0.2

1)建议使用以下三个RBL

2)配置阻止名单服务的“例外”列表
这个列表是用来增加本服务器不需要经过过滤的收件人地址,比如我们可以这里专门开通一个用于对方申诉的邮箱,把它加入到例外列表中。从而实现与发件方的申诉沟通。

3)利用“全部接收和拒绝列表”
RBL把你重要的合作伙伴服务器的IPRBL列入,可以在“全部接收和拒绝列表”的“接受”中增加对方的IP地址,从而实现直接的放行。

4)尽量友好“自定义要返回的错误信息”
建议尽量优化“自定义要返回的错误信息”,让被拒绝的发件方可以明确是因为什么原历被拒绝,比如增加一些申诉的邮箱或是查询网址信息等。

5)更多连接级保护的操作建议查看微软KB823866文章,地址如下:
http://support.microsoft.com/kb/823866

作者: 钉子    时间: 2008-9-12 01:00
二.议级保护
在连接级保护后,下一层防御就是 SMTP 协议级保护。 将对发送 SMTP 主机与接收 SMPT 主机之间的会话进行分析,以检验发件人地址与收件人地址是否经允许,并确定发件人的域名的有效性。在Exchange 2003主要提供以下三种过滤手段:

1.发件人筛选
使用发件人筛选功能可以阻止手动维护的特定发件人邮件地址,并可以对这类邮件进行多种操作。

配置方法:
1) Exchange 系统管理器中展开“全局设置”。
2)右键单击 “邮件传递”,然后单击“属性”。
3)单击“发件人筛选”选项卡。
4)在“发件人”中可以手动增加需要过滤的发件人邮件地址。
5)根据需要你可以选择勾选“存档筛选邮件”、“筛选发件人为空的邮件”等等。

2.收件人筛选
使用收件人筛选功能可以阻止发送到手动维护的特定收件人地址的电子邮件,并可以实现对发往服务器不存在的邮件地址的电子邮件进行过滤。
   
配置方法:
1)启动 Exchange 系统管理器。
2)展开“全局设置”。
3)单击“邮件传递”并选择“属性”。
4)单击“收件人筛选”选项卡。
5)根据需要选择“筛选不在目录中的收件人”。
6)如果需要增加特定的收件人,单击“添加”后输入完全的收件人的地址即可。

3.发件人ID筛选
发件人ID筛选是根据发件方的IP地址来验证,所发的电子邮件是否为发件人邮件地址所在域的指定邮件发送服务器的IP相符(SPF记录)的一种手段,如果IPSPF记录声明的IP不相符规不通过发件人ID筛选(而没有建立SPF记录的域名的邮件将直接通过发件人ID筛选)从而防止冒用它人域名发送邮件的情况。

配置方法:
1)启动 Exchange 系统管理器。
2)展开“全局设置”。
3)用鼠标右键单击“邮件传递”并选择“属性”。
4)单击“发件人 ID 筛选”选项卡。
5)选择所需的发件人 ID 筛选选项,比如:接收,删除,拒绝。

4.建议
1)如果要启用发件人ID筛选,必须要“全局设置”-“常规”-“外围IP列表及内部IP范围配置”中指定网关或是内部网络中服务器的 IP 地址,否则将有可能出现7518事件日志。
2)建议为自己的公司使用的域名人创建SPF记录。
3)当选择在“收件人筛选”中勾选了“筛选不在目录中的收件人”后,为防止字典攻击(DHA)请启用Tar Pit 功能,详情查看微软KB84285文章,地址如下:http://support.microsoft.com/kb/842851

三.内容级保护

Exchange Server 2003 SP2 中的内容过滤,主要依靠Microsoft Research 已申请专利的机器学习技术SmartScreen为基础,集成到―― “智能邮件筛选器(IMF)”中,利用启发式分析的方法,对来自外部的电子邮件进行是合法邮件还是垃圾邮件作出一个正确的概率评估,给邮件SCLSPAM Confidence Level)值,以区分可能是垃圾邮件的等级,等级越高,邮件是垃圾邮件的可能性就越大。 此外,利用PCLPhishing Confidence Level)值,IMF还能对钓鱼邮件进行防范。
   
1. “智能邮件筛选”配置方法:
1)启动 Exchange 系统管理器。
2)展开“全局设置”。
3)用鼠标右键单击“邮件传递”,然后选择“属性”。
4)单击“智能消息筛选”选项卡。
5)在“网关阻止配置”中设定需要阻止的邮件SCL值,并选择所需阻止操作。




6)在垃圾邮件存储配置中设定设定需要阻止的邮件SCL


2.
建议:
1SCL 等级的范围是从 0 9。等级越高,邮件是垃圾邮件的可能性就越大。建议的保守的SCL值组合为86,笔者认为较有效的SCL值组合为64.

2IMF是基于内容过滤的技术,所以会出现误判的情况,所以建议在阻止邮件时使用“存档”的操作。以方便对误判的正常邮件进行提取,存档后的邮件存放在\Exchsrvr\mailroot\vsi n\UCEArchive 中存档,其中 n SMTP 虚拟服务器实例编号。此目录可以修改,注册表键值为
HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\ContentFilter\
ArchiveDir
(类型为STRING,值为所需目录的全路径,如"E:\Archive"

3)当发现 7515事件日志时请注意微软鉴于成本考量,认为垃圾邮件的大小不可能超过3MIMF不扫描超过3M的邮件。

4)当IMF网关阻止配置操作设定为“拒绝”时,垃圾邮件的发送方会更到类似“5.7.1 Requested action not taken: Message Refused”这样的NDR信息,为了便于对方了解拒绝的原因,建议修改这个默认信息为更为详细的信息,注册表键值为:HKLM\Software\Microsoft\Exchange\ContentFilter\CustomRejectResponse

5)微软在每个月的第一个星期三和第三个星期三通过 Microsoft Update 和自动更新技术提供智更新IMF,请增加以下注册表键值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\ ContentFilterState (类型为DWORD , 值为1)
建议第一次升级时直接访问Microsoft Update网站并手动手动IMF

6)IMF根据设定SCL值对所有收到的邮件进行过滤,但有一些企业因为种种原因需要对特殊收件人的邮件地址,进行排除操作,也就是所有发向某个地址的邮件都经过IMF过滤,要实现这个功能,查看微软KB912587文章,地址如下:http://support.microsoft.com/kb/912587)。

7)IMF还允许用户制作一个名为MSExchange.UceContentFilter.xml的文件来对IMF过滤的内容进行微调,制完成后将文件保存为ANSI格式,并存放在\Program Files\Exchsrvr\bin\MSCFV2目录下。查看微软KB907747地址如下:
http://support.microsoft.com/kb/907747

四.启用上述的筛选功能
当我们设定完所需要的筛选功能后,最重要的一点是我们必须要SMTP虚拟服务器中启用所需的筛选功能。过程如下:

    1)启动 Exchange 系统管理器。
    2 展开“服务器”。
    3)展开“协议”。
    4)展开“SMTP”。
    5)单击“默认 SMTP 虚拟服务器”,然后选择“属性”。
    6)在“默认 SMTP 虚拟服务器属性”中,单击“高级”。
    7)在“高级”中,单击“编辑”。
    8)在“标识”中,选择需要应用的各种筛选器,如下图:




9)重启当前的SMTP 虚拟服务器

作者: 钉子    时间: 2008-9-12 01:04


{ 客户端 }

除了在Exchange Server的服务器端进行垃圾邮件的过滤,微软在客户端也同样提供了不同的过滤功能,以期与发挥用户的主动性,更好的提高垃圾邮件过滤的效果。与此同时,微软还将定期的为Outlook用户制定垃圾邮件更新,用户可以与同 Office 更新时一起更新垃圾邮件筛选。

一、配置 Outlook反垃圾邮件选项[b
1)在 Outlook 中,单击“动作”菜单栏。
2)选择“垃圾邮件”,然后选择“垃圾邮件选项”
3)在“选项”中你要吧设置Outlook的垃圾邮件保护级别。
4)在“安全发件人”,“安全收件人”,“阻止发件人”中可以进行列表的操作。



二.配置 Outlook Web Access (OWA) 中反垃圾邮件选项
1)登录到 Outlook Web Access
2)单击“选项”。
3)确认是否启用“筛选垃圾邮件”
4)单击“管理垃圾邮件列表”。

5)
从“查看或修改列表”中选择相应的功能进行操作,如下图:




三.建议

1.要与Exchange Server 2003配合使用,实现较好的反垃圾邮件效果。必须是Outlook 2003以上版本。

2.因为阻止列表和安全列表都存储在用户的邮箱中,所以Outlook OWA是使用的是同一个列表。用户不需要重复维护。

3.用户收件箱的垃圾邮件规则大小限制为不超过 510 KB,安全发件人列表和阻止发件人列表中包含大约 2,000 个条目。如果需要增加或是减少这个默认值,需要增加以下注册表值:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeIS\ParametersSystem\ Max Extended Rule Size 类型DWORD,值为允许的用户垃圾邮件规则的最大字节数

{ Exchange Server 2003 邮件过滤流程 }
   
在讨论了实际的部署之后,我们再回头来了解一下Exchange Server 2003中邮件过滤的流程。如下图:





Exchange Server在接收到外部SMTP连接后,首先使用“连接筛选”,检查对方IP,如果IP在“拒绝”列表中,将拒绝连接。如果IP 地址出现在“接受”列表中,则将邮件交给实时“阻止名单服务”过滤,如果在阻止列表中找到发送方服务器的 IP 地址,邮件将被拒绝。如果不在阻止列表中,则通过“连接筛选”。

应用连接筛选后,Exchange根据在“发件人筛选”中的发件人列表匹配发件人地址。如果找到匹配项,Exchange 将拒绝该邮件。如果通过“发件人筛选”,Exchange 根据已在“收件人筛选”中的收件人列表匹配收件人地址。如果发现收件人地址与筛选掉的某个电子邮件地址匹配,Exchange 将拒绝邮件。然后,Exchange 检查并筛选收件人是否在AD中。

应用收件人筛选后,Exchange 将检查发件人是否为空,如果符合Exchange 会根据您配置的选项筛选邮件。

在应用智能邮件筛选器之前应用发件人 ID 筛选器(如果已启用)。

如果邮件未被“连接筛选”、“收件人筛选”或“发件人筛选”筛选掉,将应用“智能邮件筛选”,对符合的SCL 分级阈值的邮件做相应的处理。

最后将邮件存储在用户的邮箱中,如果用户使用的是 Outlook 2003 OWAExchange将根据事先用户的邮箱存储会将邮件的 SCL 分级或是安全发件人列表的设置,将邮件存放在收件箱或是垃圾邮件文件夹中。

{ 结语 }

通过上述的讨论,我们对Exchange Server 2003 SP2在垃圾邮件过滤方面有了大概的了解,当然,我们同样建议用户在使用Exchange Server 自身的垃圾邮件过滤的功能同时,有条件的话选择一些第三方的专业的反垃圾邮软、硬件(比如市面上的GFI、ORF反垃圾邮件系统及梭子鱼等反垃圾网关)来实现更好的过滤效果。另外,新版的Exchange Server 2007 SP1已经发布,升级到Exchange Server2007也将反垃圾邮件性能方面有较大的提升。

作者: 钉子    时间: 2008-9-12 01:07
这篇东东在我的电脑放了好几个月,一直都不是很满意,想找时间优化一下。过了这么几个月也没有进展干脆就放出来,让大家指正算了。。
作者: load    时间: 2008-9-12 10:07
真不错!加深了对imf反垃圾功能认识.
作者: suis    时间: 2008-9-12 14:31
垃圾邮件很让人头疼 学习一下
作者: tdk    时间: 2008-9-12 14:41

作者: 绿林青年    时间: 2008-9-12 14:44
挺好!
感谢钉掌门的工作!
作者: woodmanlee    时间: 2008-9-12 20:25
很好,学习中。
作者: roytocn    时间: 2008-9-13 13:27
还没有掌握到,会努力学习中.
作者: tonyzhang828    时间: 2008-9-16 15:56
写的不错,不知道用下来实际效果怎么样
作者: jhonlone    时间: 2008-9-17 13:44
纯支持滴顶一个,钉子辛苦了
作者: frank0815    时间: 2008-12-12 16:42
太好了,正需要这个个东东..
作者: haitao.cao    时间: 2009-2-5 09:49
顶一下, 太好了,正需要这个个东东
作者: xuhua114    时间: 2009-2-5 10:13
很不错了,很多东西光是知道,但是写不出来
作者: xinsui    时间: 2009-4-29 09:06
感谢丁大哥 这几天被垃圾邮件搞晕了
作者: rhett    时间: 2009-4-29 13:35
我们的Exchange 2003服务器是通过Linux Sendmail转发的。

两年多了很稳定。
作者: 钉子    时间: 2009-4-30 00:54
标题: 回复 17楼 rhett 的帖子
rhett你的文章和帖子呢?
作者: liboqiuyu    时间: 2009-11-5 15:19
谢谢钉子老大
作者: 夜路归人    时间: 2009-11-17 09:06
谢谢你啊 钉掌门
作者: 夜路归人    时间: 2009-11-17 11:25
顶 强烈支持   好东西啊!!1哈哈
作者: cjh113    时间: 2009-11-19 13:04
很好,学习了
作者: liyi    时间: 2009-11-20 16:48
顶一下。钉子哥
作者: tarian    时间: 2009-11-24 09:32
偶要MARK一下,不久以后可能用得着
作者: hawk-liu    时间: 2009-12-2 17:55
真不错!加深了对imf反垃圾功能认识.
作者: zzsyy    时间: 2010-1-7 17:45
感谢钉子的辛苦工作。




欢迎光临 邮件服务器-邮件系统-邮件技术论坛(BBS) (http://news.5dmail.net/bbs/) Powered by Discuz! X3.2