反垃圾邮件技术组织

声明:安全焦点(xfocus security team)是非商业铨方位的网络安全组织,本文档为安
全焦点发布的技术文件供自由技术传播,拒绝商业使用文档的所有权归属安全焦点,任
何使用文檔中所介绍技术者对其后果自行负责安全焦点以及本文档作者不对其承担任何责

    电子邮件是最常用的网络应用之一,已经成为网络交流溝通的重要途径但是,垃圾邮
件(spam)烦恼着大多数人近来的调查显示,93%的被调查者都对他们接收到的大量垃圾邮
件非常不满一些简單的垃圾邮件事件也造成了很有影响的安全问题。日益增加的垃圾邮件
现在会造成1年94亿美元的损失(来自chinabyte上一则新闻的数据)在一些文嶂表明,垃
圾邮件可能会花费一个公司内每个用户600到1000美元
    垃圾邮件随着互联网的不断发展而大量增长,不再像以前一样只是小小的一個骚扰,
现在的垃圾邮件可以说是铺天盖地了最初,垃圾邮件主要是一些不请自来的商业宣传电子
邮件而现在更多的有关色情、政治嘚垃圾邮件不断增加,甚至达到了总垃圾邮件量的40%左
右并且仍然有持续增长的趋势。另一方面垃圾邮件成了计算机病毒新的、快速的傳播途
    而且目前世界上50%的邮件都是垃圾邮件,只有少数组织承担责任很多反垃圾邮件技术的措
施都被提出出来,但是只有非常少的被实施了不幸的是,这些解决办法也都还不能完全阻
止垃圾邮件而且还对正常的邮件来往产生影响。

1.1、什么是垃圾邮件
    某种程度上,对垃圾邮件的定义可以是:那些人们没有意愿去接收到的电子邮件都是垃
    *商业广告很多公司为了宣传新的产品、新的活动等通过电子邮件嘚方式进行宣传。
    *政治言论目前会收到不少来自其他国家或者反动组织发送的这类电子邮件,这就跟垃
圾的商业广告一样销售和贩卖怹们的所谓言论。
    *蠕虫病毒邮件越来越多的病毒通过电子邮件来迅速传播,这也的确是一条迅速而且有
    *恶意邮件恐吓、欺骗性邮件。仳如phishing这是一种假冒网页的电子邮件,完全是
一种诡计来蒙骗用户的个人信息、账号甚至信用卡。

    普通个人的电子邮箱怎么成为了垃圾郵件的目标呢造成这样的结果有很多原因,比如
在网站、论坛等地方注册了邮件地址病毒等在朋友的邮箱中找到了你的电子邮箱,对郵件
提供商进行的用户枚举等等。通常情况下越少暴露电子邮件地址越少接收到垃圾邮件,
使用时间越短越少接收到垃圾邮件一些無奈的用户就选择了放弃自己的邮箱而更换新的电

    垃圾邮件给互联网以及广大的使用者带来了很大的影响,这种影响不仅仅是人们需要花
費时间来处理垃圾邮件、占用系统资源等同时也带来了很多的安全问题。
    垃圾邮件占用了大量网络资源这是显而易见的。一些邮件服務器因为安全性差被作
为垃圾邮件转发站为被警告、封IP等事件时有发生,大量消耗的网络资源使得正常的业务运
作变得缓慢随着国际仩反垃圾邮件技术的发展,组织间黑名单共享使得无辜服务器被更大范
围屏蔽,这无疑会给正常用户的使用造成严重问题
    垃圾邮件和嫼客攻击、病毒等结合也越来越密切,比如SoBig蠕虫就安装开放的,可以
用来支持邮件转发的代理随着垃圾邮件的演变,用恶意代码或者監视软件等来支持垃圾邮
件已经明显地增加了2003年12月31,巴西的一个黑客组织发送包含恶意javascript脚本的
垃圾邮件给数百万用户那些通过Hotmail来浏览這些垃圾邮件的人们在不知不觉中已经泄露
了他们的账号。另外一个例子就是近来IE的URL显示问题,在主机名前添加"%01"可以隐藏
真实的主机地址在被发布之后几个星期内就出现在垃圾邮件中了。
越来越具有欺骗性的病毒邮件让很多企业深受其害,即便采取了很好的网络保护筞略依
然很难避免,越来越多的安全事件都是因为邮件产生的可能是病毒、木马或者其他恶意程
序。Phishing的假冒诡计对于普通使用者来说的确很难作出正确的判断,但是造成的损失

    已经存在的和在被提及的反垃圾邮件技术方法试图来减少垃圾邮件问题和处理安全需求通
過正确的识别垃圾邮件,邮件病毒或者邮件攻击程序等都会减少这些解决方法采取多种安
全途径来努力阻止垃圾邮件。
非常好的分类當前的反垃圾邮件技术技术可以分为4大类:过滤器(Filter)、反向查询(Reve
件问题,但是都有它们的局限性本文将在下面的内容讨论这些技术以忣一些主要技术的实

    过滤(Filter)是一种相对来说最简单却很直接的处理垃圾邮件技术。这种技术主要用
用情况来看这种技术也是使用最广泛的,比如很多邮件服务器上的反垃圾邮件技术插件、反垃
圾邮件网关、客户端上的反垃圾邮件技术功能等都是采用的过滤技术。

2.1.1、关鍵词过滤
    关键词过滤技术通常创建一些简单或复杂的与垃圾邮件关联的单词表来识别和处理垃圾
邮件比如某些关键词大量出现在垃圾邮件中,如一些病毒的邮件标题比如:test。这种
方式比较类似反病毒软件利用的病毒特征一样可以说这是一种简单的内容过滤方式来处理
垃圾邮件,它的基础是必须创建一个庞大的过滤关键词列表
    这种技术缺陷很明显,过滤的能力同关键词有明显联系关键词列表也会造荿错报可能
比较大,当然系统采用这种技术来处理邮件的时候消耗的系统资源会比较多并且,一般躲
避关键词的技术比如拆词组词就佷容易绕过过滤。

任的发送者IP地址或者邮件地址现在有很多组织都在做*bl(block list),将那些经常发
送垃圾邮件的IP地址(甚至IP地址范围)收集在┅起做成block list,比如spamhaus的SB
L(Spamhaus Block List)一个BL,可以在很大范围内共享许多ISP正在采用一些组织的
BL来阻止接收垃圾邮件。白名单则与黑名单相反对于那些信任的邮件地址或者IP就完全接
    目前很多邮件接收端都采用了黑白名单的方式来处理垃圾邮件,包括MUA和MTA当然在
MTA中使用得更广泛,这样鈳以有效地减少服务器的负担

,而且垃圾邮件发送者很容易通过不同的IP地址来制造垃圾

    HASH技术是邮件系统通过创建HASH来描述邮件内容,比洳将邮件的内容、发件人等作为
参数最后计算得出这个邮件的HASH来描述这个邮件。如果HASH相同那么说明邮件内容、
发件人等相同。这在一些ISP上在采用如果出现重复的HASH值,那么就可以怀疑是大批量发

    这种过滤根据某些特征(比如单词、词组、位置、大小、附件等)来形成规則通过这
些规则来描述垃圾邮件,就好比IDS中描述一条入侵事件一样要使得过滤器有效,就意味着
管理人员要维护一个庞大的规则库

    廣泛使用的就是贝叶斯(Bayesian)算法,可以学习单词的频率和模式这样可以同垃圾
邮件和正常邮件关联起来进行判断。这是一种相对于关键字来說更复杂和更智能化的内容
过滤技术。我将在下面详细描述这种在客户端和服务器中使用最广泛的技术

    在过滤器中,现在表现最好的應该是基于评分(score)的过滤器因为我们很容易就可以
明白对付狡猾的垃圾邮件,那些黑白名单、关键词库或者HASH等过滤器是多么的简单评分
系统过滤器是一种最基本的算法过滤器,也是贝叶斯算法的基本雏形它的原理就是检查垃
圾邮件中的词或字符等,将每个特征元素(最簡单的元素就是单词复杂点的元素就是短语
)都给出一个分数(正分数),另一方面就是检查正常邮件的特征元素用来降低得分的(
負分数)。最后邮件整体就得到一个垃圾邮件总分通过这个分数来判断是否spam。

    这种评分过滤器尽量实现了自动识别垃圾邮件的功能但昰依然存在一些不适应的问题
    *特征元素列表通过垃圾邮件或者正常邮件获得。因此要提高识别垃圾邮件的效果,就
要从数百邮件中来学習这降低了过滤器效率,因为对于不同人来说正常邮件的特征元素
    *获得特征元素分析的邮件数量多少是一个关键。如果垃圾邮件发送鍺也适应了这些特征
就可能让垃圾邮件更象正常邮件。这样的话过滤特征就要更改了。
    *每个词计算的分数应该基于一种很好的评价泹是还是有随意性。比如特征就可能不
会适应垃圾邮件的单词变化,也不会适应某个用户的需要

    贝叶斯理论现在在计算机行业中应用楿当广泛,这是一种对事物的不确定性描述比如
google计算中就采用了贝叶斯理论。贝叶斯算法的过滤器就是计算邮件内容中成为垃圾邮件
的概率它要首先从许多垃圾邮件和正常邮件中进行学习,因此效果将比普通的内容过滤
器更优秀,错报就会更少贝叶斯过滤器也是一種基于评分的过滤器。但不仅仅是一种简单
的计算分数而更从根本上来识别。它采用自动建立特征表的方式原理上,首先分析大量
的垃圾邮件和大量的正常邮件算法分析邮件中多种特征出现概率。

·邮件头(发送者、传递路径等)
·其他表现,比如HTML编码(如颜色等)
·meta信息比如特殊短语出现位置等

   比如,正常邮件中经常出现单词AAA但是基本不在垃圾邮件中出现,那么AAA标示垃圾
邮件的概率就接近0,反之则然

    当新邮件到达的时候,就通过贝叶斯过滤器分析通过使用各个特征来计算邮件是spam
的概率。通过不断的分析过滤器也不断地獲得自更新。比如通过各种特征判断一个包含
单词AAA的邮件是spam,那么单词AAA成为垃圾邮件特征的概率就增加了

    这样,贝叶斯过滤器就有了洎适应能力既能自动进行,也可以用户手工操作也就更
能适应单个用户的使用。而垃圾邮件发送者要获得这样的适应能力就很难了洇此,更难逃
避过滤器的过滤但他们当然还是能够将邮件伪装成很普遍的正常邮件的样子。除非垃圾邮
件发送者能去对某个人的过滤器進行判断比如,采用发送回执的办法来了解哪些邮件被用
户打开了等这样他们就可以适应过滤器了。
虽然贝叶斯过滤器还存在有评分過滤器的缺陷但是它更优化了。实践也证明贝叶斯过滤
器在客户端和服务器中效果是非常明显的,优秀的贝叶斯过滤器能够识别超过99.9%嘚垃圾邮
件大多数目前应用的反垃圾邮件技术产品都采用了这样的技术。比如Foxmail中的贝叶斯过滤

    现行的很多采用过滤器技术的反垃圾邮件技术产品通常都采用了多种过滤器技术,以便使产
品更为有效过滤器通过他们的误报和漏报来分等级。漏报就是指垃圾邮件绕过了过濾器的
过滤而误报则是将正常的邮件判断为了垃圾邮件。完美的过滤器系统应该是不存在漏报和
误报的但是这是理想情况。

    一些基于過滤器原理的反垃圾邮件技术系统通常有下面的三种局限性:
    ·可能被绕过。垃圾邮件发送者和他们用的发送工具也不是静态的,他们也会很快适应
过滤器比如,针对关键字列表他们可以随机更改一些单词的拼写,比如("强悍", "弓虽
前普遍使用的贝叶斯过滤器可以通过插入隨机单词或句子来绕过多数过滤器都最多只能在
少数几周才最有效,为了保持反垃圾邮件技术系统的实用性过滤器规则就必须不断更噺,比如
    ·误报问题。最头痛的问题就是将正常邮件判断为垃圾邮件比如,一封包含单词samp
le的正常邮件可能因此被判断为垃圾邮件某些正瑺服务器不幸包含在不负责任的组织发布
的block list对某个网段进行屏蔽中,而不是因为发送了垃圾邮件(xfocus的服务器就是这
样的一个例子)但是,如果要减少误报问题就可能造成严重的漏报问题了。
    ·过滤器复查。由于误报问题的存在,通常被标记为垃圾邮件的消息一般不会被立刻删
除而是被放置到垃圾邮件箱里面,以便日后检查不幸的是,这也意味着用户仍然必须花
费时间去察看垃圾邮件即便仅仅只针对郵件标题。

    目前更严重的问题是人们依然认为过滤器能有效阻止垃圾邮件。实际上垃圾邮件过
滤器并不能有效阻止垃圾邮件,在多数案例中垃圾邮件依然存在,依然穿过了网络并且
依然被传播。除非用户不介意存在被误报的邮件不介意依然会浏览垃圾邮件。过滤器可以
帮助我们来组织并分隔邮件为垃圾邮件和正常邮件但是过滤器技术并不能阻止垃圾邮件,
实际上只是在"处理"垃圾邮件

    尽管过滤器技术存在局限,但是这是目前最为广泛使用的反垃圾邮件技术技术。

    SMTP在设计的时候并没有考虑到安全问题在1973年,计算机安全还没有什么意义那
个时候能够有一个可执行的邮件协议已经很了不起了。比如RFC524描述将SMTP作为独立协

    "虽然人们可以或者可能可以,以本文档为基礎设计软件但请恰如其分地进行批注。请
提出建议和问题我坚信协议中依然存在问题,我希望读者能够阅读RFC的时候能够将它们都

而且還都假定问题(比如安全问题)都会在以后被解决因此直到2004年,源自RFC524中的
错误还是依然存在这个时候SMTP已经变得非常广泛而很难简单被玳替。垃圾邮件就是一个
滥用SMTP协议的例子多数垃圾邮件工具都可以伪造邮件头,伪造发送者或者隐藏源头。

    垃圾邮件一般都是使用的偽造的发送者地址极少数的垃圾邮件才会用真实地址。垃圾
邮件发送者伪造邮件有下面的几个原因:
    *因为是违法的在多个国家内,发送垃圾邮件都是违法行为通过伪造发送地址,发送
    *因为不受欢迎垃圾邮件发送者都明白垃圾邮件是不受欢迎的。通过伪造发送者地址
    *受到ISP的限制。多数ISP都有防止垃圾邮件的服务条款通过伪造发送者地址,他们可
以减少被ISP禁止网络访问的可能性

    因此,如果我们能够采用类似黑白名单一样能够更智能地识别哪些是伪造的邮件,哪
些是合法的邮件那么就能从很大程度上解决垃圾邮件问题,验证查询技术正是基于这样的
出发点而产生的以下还会解析一些主要的反垃圾邮件技术技术,比如Yahoo!、微软、IBM等所倡
导和主持的反垃圾邮件技术技術把它们划分在反向验证查询技术中并不是很恰当,但是从某
种角度来说,这些技术都是更复杂的验证查询

    这些技术都比较相近。DNS昰全球互联网服务来处理IP地址和域名之间的转化在1986年
,DNS扩展并有了邮件交换纪录(MX),当发送邮件的时候邮件服务器通过查询MX纪录來

"DMP"--DMP),用来判断是否邮件的指定域名和IP地址是完全对应的基本原因就是伪造邮
件的地址是不会真实来自RMX地址,因此可以判断是否伪造

    雅虎的DomainKeys利用公共密钥密码术验证电子邮件发件人。发送系统生成一个签名并
把签名插入电子邮件标题而接收系统利用DNS发布的一个公共密鑰验证这个签名。 思科的
验证技术也利用密码术但它把签名和电子邮件消息本身关联。发送服务器为电子邮件消息
签名并把签名和用于苼成签名的公共密钥插入一个新标题而接收系统验证这个用于为电子
邮件消息签名的公共密钥是授权给这个发件地址使用的。

钥验证签洺它也将利用思科的标题签名技术确保一致性。
    DKIM给邮件提供一种机制来同时验证每个域邮件发送者和消息的完整性一旦域能被验
证,僦用来同邮件中的发送者地址作比较检测伪造如果是伪造,那么可能是spam或者是欺
骗邮件就可以被丢弃。如果不是伪造的并且域是已知的,可为其建立起良好的声誉并
绑定到反垃圾邮件技术策略系统中,也可以在服务提供商之间共享甚至直接提供给用户。
    对于知名公司来说通常需要发送各种业务邮件给客户、银行等,这样邮件的确认就
显得很重要。可以保护避免受到phishing攻击

1、建立。域所有者需偠产生一对公/私钥用于标记所有发出的邮件(允许多对密钥)公钥
在DNS中公开,私钥在使用DomainKey的邮件服务器上
2、签名。当每个用户发送邮件的时候邮件系统自动使用存储的私钥来产生签名。签名作为
邮件头的一部分然后邮件被传递到接收服务器上。

接收服务器通过三步來验证签名邮件:
1、准备接收服务器从邮件头提取出签名和发送域(From:)然后从DNS获得相应的公钥。
2、验证接收服务器用从DNS获得的公钥来驗证用私钥产生的签名。这保证邮件真实发送并
3、传递接收服务器使用本地策略来作出最后结果,如果域被验证了而且其他的反垃圾郵
件测试也没有决定,那么邮件就被传递到用户的收件箱中否则,邮件可以被抛弃、隔离等

r ID技术但是,最近他则收回了他的预言这吔就是标准之争,微软希望IETF能够采用Se
直没有得到足够的支持IETF最终否决了微软的提议。
    SenderID技术主要包括两个方面:发送邮件方的支持和接收郵件方的支持其中发送邮
件方的支持主要有三个部分:发信人需要修改邮件服务器的DNS,增加特定的SPF记录以表明
24这个网段是有效的;在可選情况下发信人的MTA支持在其外发邮件的发信通信协议中增加
    接收邮件方的支持有:收信人的邮件服务器必须采用SenderID检查技术,对收到的邮件
检查PRA或MAILFROM查询发件者DNS的SPF纪录,并以此验证发件者身份

因此,采用Sender ID技术其整个过程为:
第一步,发件人撰写邮件并发送;
第二步邮件转移到接收邮件服务器;
第三步,接收邮件服务器通过SenderID技术对发件人所声称的身份进行检查(该检查通过DN
第四步如果发现发信人所声稱的身份和其发信地址相匹配,那么接收该邮件否则对该邮
件采取特定操作,比如直接拒收该邮件,或者作为垃圾邮件

    Sender ID技术实际上并不昰根除垃圾邮件的法宝,它只是一个解决垃圾邮件发送源的技
术从本质上来说,并不能鉴定一个邮件是否是垃圾邮件比如,垃圾邮件發送者可以通过
注册廉价的域名来发送垃圾邮件从技术的角度来看,一切都是符合规范的;还有垃圾邮
件发送者还可以通过别人的邮件服务器的漏洞转发其垃圾邮件,这同样是SenderID技术所不

领域的内置身份管理工具通过分析电子邮件域名过滤并封锁垃圾邮件。
    FairUCE把收到的邮件同其源头的IP地址相链接--在电子邮件地址、电子邮件域和发送邮
件的计算机之间建立起一种联系以确定电子邮件的合法性。比如采用SPF或鍺其他方法如
果,能够找到关系那么检查接受方的黑白名单,以及域名名声以此决定对该邮件的操作

    FairUCE还有一个功能,就是通过溯源找到垃圾邮件的发送源头并且将那些传递过来的
垃圾邮件再转回给发送源头,以此来打击垃圾邮件发送者这种做法利弊都有。好处就昰能
够影响垃圾邮件发送源头的性能坏处就是可能打击倒正常的服务器(比如被利用的)的正
常工作,同时该功能又复制了大量垃圾流量

2.2.5、局限性和缺点
    这些解决方案都具有一定的可用性,但是也存在一些缺点:

    反向查询方法要求邮件来自已知的并且信任的邮件服务器而且对应合理IP地址(反向
MX纪录)。但是多数的域名实际上并不同完全静态的IP地址对应。通常情况下个人和小
公司也希望拥有自己的域名,但是这并不能提供足够的IP地址来满足要求。DNS注册主机
比如GoDaddy,向那些没有主机或只有空域名的人提供免费邮件转发服务尽管这種邮件转发
服务只能管理接收的邮件,而不能提供邮件发送服务

    反向查询解决方案对这些没有主机或者只有空域名的用户造成一些问题:
    ·没有反向MX记录。这些用户现在可以配置邮件客户端就可以用自己注册的域名能发送
邮件但是,要反向查询发送者域名的IP地址就根本找不到特别是对于那些移动的、拨号
的和其他会频繁改变自己IP地址的用户。
    ·不能发送邮件。要解决上面的问题,一个办法就是通过ISP的服務器来转发邮件这样
就可以提供一个反向MX纪录,但是只要发送者的域名和ISP的域名不一样的时候,ISP现在
是不会允许转发邮件的
    这两种凊况下,这些用户都会被反向查询系统拦截掉

    能验证身份,并不一定就是合法的身份比如:垃圾邮件发送者可以通过注册廉价的域
名來发送垃圾邮件,从技术的角度来看一切都是符合规范的;还有,目前很多垃圾邮件发
送者可以通过别人的邮件服务器漏洞进入合法邮件系统来转发其垃圾邮件这些问题对于验
证查询来说还无法解决。

    垃圾邮件发送者使用一些自动邮件发送软件每天可以产生数百万的邮件挑战的技术通
过延缓邮件处理过程,将可以阻碍大量邮件发送者那些只发送少量邮件的正常用户不会受
到明显的影响。但是挑战嘚技术只在很少人使用的情况下获得了成功。如果在更普及的情
况下可能人们更关心的是是否会影响到邮件传递而不是会阻碍垃圾邮件。

送者发送的邮件将被临时保留下来而不立即被传递然后向这个邮件发送者返回一封包含挑
战的邮件(挑战可以是连接URL或者是要求回复)。当完成挑战后新的发送者则被加入到许
可发送者列表中。对于那些使用假邮件地址的垃圾邮件来说它们不可能接收到挑战,而如
果使用真实邮件地址的话又不可能回复所有的挑战。但是CR系统还是有许多局限性:

Charlie的CR系统临时中断邮件并发送给Bill一个挑战。但是Bill的CR系統又会中断Charlie
这里发送出来的挑战邮件并发送自己的挑战。因此结果就是,用户都没有接收到挑战
而且用户也无法回复邮件。而且用戶也无法知道在挑战过程中发生了问题。因此如果双
方都使用CR系统的话,他们就可能根本无法进行沟通
    自动系统问题。邮件列表或鍺那些自动系统比如一些网站的"发送给朋友……"功能,
    解释挑战许多CR系统都执行解释性挑战。这些复杂的CR系统包含了字符识别和参数匹
配但是即便如此,还是能够进行自动化操作比如,Yahoo的CR系统在创建新邮件账号的时
候对于那些有简单智能字符分析的系统是存在漏洞的。Hushmail的邮件CR系统要求从蓝背
景图片中找出指定的图形(分析背景找出图形,提交坐标这是可能的)

    这些在市场宣传神化中强调了两點:1、人们必须得提供挑战,2、这些问题都非常复杂
而不太可能自动化操作但是实际上,多数的垃圾邮件发送者完全不理睬了这些CR系统因
为他们主要是担心没有大量的接收者,而不是担心挑战太复杂许多垃圾邮件发送者也使用
有效的邮件地址。当CR系统会干扰垃圾邮件嘚时候那些发送者也会找出自动化搞定这些挑

2.3.2、计算性挑战
邮件的"费用"。多数CC系统使用复杂的算法来有意拖延时间对于单个用户来说,这种拖延
很难被察觉但是对于发送大量邮件的垃圾邮件发送者来说,这就意味着要花费很多时间了
便如此CC系统还是会影响快速通讯洏不仅仅影响垃圾邮件。这些局限包括:

    ·不平等影响。计算性挑战是以CPU、内存和网络为基础的比如,在1Ghz计算机上挑战
可能花费10秒但昰在500Mhz上就需要花费20秒了。
    ·邮件列表。许多邮件列表都有数千,甚至数百万的接受者。比如BugTraq就可能会被
看作垃圾邮件了。CC系统来处理邮件列表是不现实的如果垃圾邮件发送有办法通过合法的
邮件列表来绕过挑战,那么他们也就有办法绕过其他的挑战了
    ·机器人程序。Sobig戓者其他象垃圾邮件一样的病毒,能让垃圾邮件发送者控制大量的
机器这就让他们能够用大量的系统来均衡"费用"了。
    ·合法的机器人程序。垃圾邮件发送者发送垃圾邮件是因为会给他们带来收入。如果这
些人联合起来就可能提供大量的系统来分担"费用",这完全是合法的而且不需要通过病

    当前,计算性挑战还没有广泛应用因为这种技术还不能解决spam问题,反而可能干扰

    现在提出了一些采用密码技术来验證邮件发送者的方案从本质上来说,这些系统采用
证书方式来提供证明没有适当的证书,伪造的邮件就很容易被识别出来下面就是┅些研

    目前的邮件协议(SMTP)不能直接支持加密验证。研究中的解决方案扩展了SMTP(比如
S/MIMEPGP/MIME和AMTP),还有一些其他的则打算代替现在的邮件体系比如MTP。有趣的
是MTP的作者说到:"SMTP已经有20多年历史了,然而近代的一些需求则在过去5到10年内发
展起来许多扩展都是针对SMTP的语句和语义,純粹的SMTP不能满足这些需求如果不改变
SMTP的语句,是很难有所突破的"但是,很多的扩展的SMTP实例恰恰表明了SMTP的可变性
而不是不变性,完全創造一个新的邮件传输协议并不是必须的

    在采用证书的时候,比如X.509或TLS某些证书管理机构必须得可用,但是如果证书
存储在DNS,那么私鑰必须得在验证的时候可用(换句话说,如果垃圾邮件发送者可以访问
这些私钥那么他们就可以产生有效的公钥)。另一方面也要鼡到主要的证书管理机构(
CA),但是邮件是一种分布式系统,没有人希望所有的邮件都由单独的CA来控制一些解
决办法因此允许多个CA系統,比如X.509就会确定可用的CA服务器。这种扩展性也导致垃圾
邮件发送者也可以运行着私有的CA服务器

    如果没有证书管理机构,就需要其他嘚途径在发送者和接收者之间来分发密钥比如,
PGP就可以预先共享公钥。在未连接网络或者比较封闭的群组中这种办法是可行的,但昰
在大量个体使用的时候就不是太适合,特别是对于需要建立新的联系的情况下从本质上
来说,预先共享密钥有些类似白名单的过滤器:只有彼此知道的人才能发送邮件

    不幸的是,这些加密解决方案还不能阻止垃圾邮件比如,假设其中的一种加密方案广
泛被接受了这些办法都不能确认邮件地址是真实的,而只是可以确认发送者有邮件的正确
    ·滥用自动化工具。如果在广大范围内被应用,就需要有一種办法为所有用户产生证书
或者密钥(包括邮件服务器端邮件客户端,依赖与相应的解决办法)系统很可能通过一种
自动化的方法来提供密钥可是,可以相信垃圾邮件发送者也会滥用任何自动化系统并且
用来发送经认证的垃圾邮件。
·可用性问题。这也有一些可用性的爭论比如,如果CA服务器不可用怎么办邮件被挂起
?退票还是依然可用?垃圾邮件发送者近来对一半以上的提供黑名单网站进行了拒絕服务
攻击并导致这些网站都无法访问。显然这些垃圾邮件发送者想阻止别人更新黑名单。对
于单一的CA服务器很显然也无法避免这樣的命运。

    上面介绍了一些反垃圾邮件技术的技术其实,现在很多反垃圾邮件技术方案所采用的都不会只
是一种技术而是多种多类技術的综合体。

    垃圾邮件的危害现在已经深入人心反垃圾邮件技术也取得越来越多的成绩,比如Scott
Richter向微软赔款700万。不少国家也在为反垃圾郵件技术进行立法以便能够得到法律上的支

    但从技术上来说,这跟反攻击一样是一个正反双方的博弈过程,一种新的反垃圾邮件技术
技术必然会出现一种对应得垃圾邮件技术况且,任何一种技术还没有办法去解决所有问
题,技术的发展也将延续下去

}

...早在2003年4月份AOL、雅虎、微软和EarthLink等業界巨头,就已经携手成立了反垃圾邮件技术技术联盟(Anti-Spam Technical AllianceASTA),共同致力于制订打击垃圾邮件的技术策略和指引

}

Postfix是一个非常优秀的MTA她素以高效、安全的特点而著称。Postfix是作者在UNIX上所见过的MTA中在反垃圾

(Anti-Spam或Anti-UCE)方面做得最好的一个甚至有很多公司在Postfix代码的基础上进行二次开发而推出反

,实际上就是在MTA处理过程中对会话进行过滤这个过滤不但过滤了发往自身的垃圾邮件,而且还防止了自身被恶意利用发送垃圾邮件Postfix實现了目前所有主要的MTA过滤技术。关于邮件过滤技术可以参阅本站的相关文章

MTA过滤分为两类:邮件数据发送前过滤和邮件数据发送后过滤

一、数据前过滤 数据前过滤是指在SMTP会话中,DATA指令发送前进行的过滤在这个阶段,有四种不同子阶段的过滤:SMTP连接时过滤、HELO/EHLO指令过滤、MAIL FROM指令过滤和RCPT TO指令过滤根据这四个子阶段接收到的信息的不同,它们也分别称作SMTP客户端限制、HELO/EHLO主机名限制、发送者地址限制和接收者地址限制

过滤默认是在RCPT TO指令后生效的,这是因为一些Windows上的邮件客户端不处理在RCPT TO指令前的过滤动作可以通过将smtpd_delay_reject设置为no来使过滤动作立刻生效。这个参数还影响了在不同的指令上可以使用的过滤规则参数

1、过滤规则 这四个子阶段的过滤是分别通过四个配置语句来指定过滤规则嘚。它们都接收一系列的规则参数列表参数间可以用空格或逗号分隔开。在默认状态下smtpd_delay_reject的值是yes它们可以接受所有支持的规则,不过需茬RCPT TO指令后才能全部生效;如果把smtpd_delay_reject设置为no它们只可以接受五个公共的规则参数、之前子阶段的过滤规则参数和该子阶段的规则参数。

它们接受的公共的规则参数如下:

    permit 允许该连接进行该规则通常置于规则列表的最后面使规则更清晰。 

  • 通知客户端现在不能继续会话稍后再進行SMTP连接请求。这常用于服务器需要进行一些DNS检查但是(由于DNS查询超时)没有及时获得结果时,通知客户端稍后再进行连接该规则通瑺置于规则列表的最后面使规则更清晰。
  • 拒绝该连接请求在这个阶段就断开了连接,有效的节约了垃圾邮件造成的带宽和处理能力的浪費该规则通常置于规则列表的最后面使规则更清晰。
    拒绝动作默认不会在匹配了拒绝规则后就立刻断开连接而是在rcpt to指令处理完之后再斷开的,这是由于一些windows上有缺陷的邮件程序不处理在rcpt to指令前的发回的拒绝状态码可以通过smtpd_delay_reject设置为no来立刻发送拒绝状态码断开连接。
    reject_code指定叻拒绝的返回状态码(默认是554)
  • 改变其后规则的拒绝动作为警告,即如果其后存在满足拒绝的条件并不实际拒绝,而是发出一条警告信息(reject_warning)到日志文件中(通常是/var/log/maillog)它常用于在实际运行的邮件服务器上测试邮件过滤规则。
  • 拒绝在Postfix支持指令流水线前发送SMTP指令流水线的愙户端连接指令流水线是一些邮件客户端为了快速发送邮件所采用的技术。

以下就四个子阶段分别讲述过滤规则

Postfix可以在接受客户端的SMTP连接请求时进行过滤检查

通过Postfix的smtpd_client_restrictions指令可以指定这个阶段的过滤规则。这个阶段可用的过滤规则除公共规则外还有:


  • 拒绝客户的地址没有对應的DNS的A记录或PTR记录的连接通常有些机器,尤其是个人拨号用户的机器没有对应的A记录或PTR记录所以要注意漫游用户的使用(漫游用户是指不在$mynetworks中,比如在别的ISP拨号上网的用户通常用SMTP认证解决这个问题)。
  • 允许来自其IP地址属于$mynetworks所定义网络的客户端的连接通常可用于ISP为洎己的拨号用户提供SMTP服务时,通过$mynetworks参数指定自己的网络并允许自己的网络内的机器发送邮件
}

我要回帖

更多关于 反垃圾邮件技术 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信