为了应对日益加剧的垃圾邮件的威胁,已经开发了许多身份识别和筛选技术。这些技术主要依靠询问一些有关每封电子邮件的问题来有效发挥作用,例如

发件人是谁。遗憾的是,发件人是谁这样的基本问题并非总是那么容易回答。电子邮件通常是通过 Internet 发送,而不会对发件人或代表发件人的计算机进行任何身份验证。事实上,假冒他人身份发送电子邮件是一件非常容易的事情,而且也没有任何对欺骗邮件进行自动检测的方法。

简单邮件传输协议 (SMTP) 用于发送和接收电子邮件,其设计初衷不包括验证电子邮件的发件人。由于存在这一技术漏洞,任何名称和地址都可以作为发件人插入。因此,内容筛选或反垃圾邮件措施不能只依赖标头信息来确保邮件确实来自邮件中描述的位置。

电子邮件身份验证专门解决这一漏洞。有了身份验证,电子邮件发送和接收系统都会验证邮件是否来自发件人所声称的域。这使组织可以更加容易地有效筛选垃圾邮件,还可确保合法电子邮件到达目标收件人。

如今,有两种免费提供的方法可用于电子邮件身份验证:发件人 ID 框架 (SIDF) 和域名密钥身份识别邮件 (DKIM)。SIDF 是一种基于 Internet 协议 (IP) 的解决方案,通过将“发件人策略框架”(SPF) 和“Microsoft 电子邮件呼叫方 ID”合并而产生。2006 年 4 月,“因特网工程工作组”(IETF) 发布了发件人 ID 规范 RFC 4405-4408。行业和利益相关者(包括 Microsoft)联合建议基于以下因素部署 SIDF:业务和技术数据、稳定性、完备性、部署灵活性、对入站或出站性能的影响最小,以及与 ISP 和企业环境的电子邮件系统的互操作性。

DKIM 综合了 Yahoo! 的域名密钥和 Cisco Systems Inc. 的互联网邮件标识 (IIM) 规范。2006 年 1 月,IETF 批准创建 DKIM 工作组,该规范目前正由 IETF 进行审查。

虽然没有一个完美的解决方案可以抵御垃圾邮件,但是 SIDF 代表了业界抵御域名欺骗的重要开端。因此,它是在线减少垃圾邮件和网页仿冒欺诈攻击并增加信任和可信度的关键组件。全世界采用 SIDF 的组织数目正急剧上升。如今,五百五十万以上的公司和域持有者都已发布了 SPF 记录,有六亿多用户得到 SIDF 的保护。目前,全世界三分之一的电子邮件每天要经过身份验证并遵从 SIDF。

如果没有众多组织和公司的贡献和支持,就无法开发出 SIDF 并在世界范围内进行推广,这些组织和公司包括 AOL、Authentication and Online Trust Alliance (AOTA)、Bell Canada、E-Mail Senders Provider Coalition (ESPC)、CipherTrust、Cisco Systems、IronPort Systems、MarkMonitor、Port25 Solutions Inc、Sendmail、Symantec、TRUSTe、VeriSign 等。

了解发件人 ID

一些行业调查表明,95% 以上的网页仿冒欺诈垃圾邮件来自欺骗域,并具有欺骗性的发件人电子邮件地址。就是这一点使 SIDF 与反垃圾邮件处理有巨大差异。就其本身而言,SIDF 不会解决垃圾邮件的问题,但其为使垃圾邮件和网页仿冒欺诈攻击的后果降至最低做出了巨大的贡献。SIDF 不会防止发送垃圾邮件。但它确实使垃圾邮件更易于检测。此框架可帮助电子邮件发件人保护其域名、名声及其品牌。它为做出根据发件人名声和电子邮件行为进行筛选的决定打下了坚实的基础。

发件人 ID 会设法验证每个电子邮件是否源自其本身所声称的 Internet 域。其实现方法为,对照域所有者已授权发送电子邮件的服务器的注册列表,检查发送此电子邮件的服务器的地址。Internet 服务提供商 (ISP) 或收件人的邮件服务器会在邮件发送到用户的收件箱之前自动执行验证。

请注意,发件人 ID 或其他任何身份验证机制都不会取代内容筛选系统。SIDF 和 DKIM 都不扫描实际邮件内容。相反,身份验证会通知入站邮件系统是否可以证明该邮件来自声明的发件人。由于大多数垃圾邮件和网页仿冒欺诈的出现实际上并不是来自呈现的域,所以这种方法可以帮助自动识别这些邮件,并将其从传入邮件流中分离出来。

在 SIDF 内,SPF 记录提供与某个域关联的所有出站邮件服务器的简单文本记录,以及其相应的 IP 地址。组织会将 SPF 记录发布到其 DNS 服务器区域文件,随后由收件人邮件服务器进行检查。设置 SPF 记录是一个快速、简单而且免费的过程。发件人 ID 框架 SPF 记录向导提供了检查域邮件服务器和创建要准备发布的自定义记录的分步过程。(有关发布 SPF 记录的详细信息,可从 microsoft.com/senderid 获得。此向导可通过 microsoft.com/senderid/wizard 直接访问。)

接收 SMTP 邮件服务器通过对 DNS 中域的区域文件执行 ping 操作来检查是否存在 SPF 记录。找到后,会对照所列的 IP 地址检查发送服务器的 IP 地址。如果两者相符,则确认此邮件为可信邮件。另一方面,如果发件人域中的 SPF 记录与发送此邮件的 IP 地址不符,则此验证失败,并导致出现负的分值,该邮件可能会被放入垃圾邮件文件夹中。图 1 显示了这一过程。

Exchange Server 2007通过发件人ID 抵御垃圾邮件-LMLPHP图 1 检查 SPF 记录中是否有传入邮件 (单击该图像获得较小视图) Exchange Server 2007通过发件人ID 抵御垃圾邮件-LMLPHP图 1 检查 SPF 记录中是否有传入邮件 (单击该图像获得较大视图) SIDF 会使收件人邮件服务器根据发件人过去的行为、名声、邮件内容及其他可根据需要定义的条件对邮件进行分析。这一功能提供了额外的安全措施。例如,垃圾邮件发送者会通过记录相似的域和发布的 SPF 记录来蒙骗用户和接收网络,使其认为该邮件来自合法的发件人。即使这种电子邮件可能会通过身份验证检查,但发件人为垃圾邮件发送者的名声也足以阻止、废弃或删除该邮件。

发件人 ID 部署选项

通过 SIDF 的出站电子邮件身份验证并不需要变更任何基础结构或更新软件,并且不是客户端或服务器软件特有的功能。不过,如果组织想要合并入站身份验证以保护其公司和员工,则将需要更新其入站系统和“邮件传送代理”(MTA),并部署支持 SIDF 的软件或工具。绝大多数主导商业开源 MTA 及反垃圾邮件供应商(包括 Microsoft Exchange Server 和 Exchange Hosted Filtering)提供了集成的解决方案。

Microsoft 已将 SIDF 集成到了其所有邮件产品中,包括 Microsoft Exchange Server 2003 Service Pack 2 (SP2)、Exchange Server 2007、Microsoft Exchange Hosted Filtering、Microsoft Windows Live? Mail、MSN Hotmail、Outlook Express 和 Office Outlook 邮件和协作客户端。

但即使是 Microsoft 也同样会接收到垃圾邮件。Microsoft 日平均传入通信量大约为一千五百万封邮件,而在最近的垃圾邮件攻击期间,我们发现邮件量已达到上述数量的二到四倍之多。在这样的环境下,成功防御垃圾邮件的方法关键在于警惕地执行可行技术。

Microsoft 目前正运行基于发件人 ID 筛选(在 Exchange Server 2003 中)和发件人 ID 代理(在 Exchange Server 2007 中)的内部 Exchange Server 反垃圾邮件解决方案。在这两个版本的 Exchange Server 中,发件人 ID 状态基于对位于相应 DNS 服务器中发件人 ID 记录的评估。将按以下优先级检查 RFC 2822 邮件头确定实际域:

Resent-Sender

Resent-From

Sender

From

发件人域(或最近负责将某个邮件注入邮件流的实体,因为电子邮件系统可以合法地代表其他邮件服务器转发邮件)通过按定义的顺序查找刚刚提到的标头的第一个定义来确定。如果未找到其中的任何标头,则 SIDF 将使用 SMTP RFC 2821 MAIL FROM 值。

配置发件人 ID

在 Exchange Server 2007 中,发件人 ID 代理可在安装了边缘传输角色的服务器中启用。如果启用了发件人 ID 代理,则它将对通过接收连接器传入的邮件进行筛选 - 所有传入(从外部源)且未经过身份验证的通信流都需要经过发件人 ID 处理。在 Exchange Server 2003 中,发件人 ID 状态在 EXCH50 blob 服务器之间得以持久保持;在 Exchange Server 2007 中,此状态也已被添加到邮件元数据中。在最终目标位置时,两个状态均被转换为 MAPI 属性,以供客户端将来使用。

Exchange Server 2003 中的发件人 ID 筛选配置(在“邮件发送属性”下提供)只指定 Exchange Server 如何处理失败的验证。

要启用 Exchange Server 2007 中的“发件人 ID”,只需打开已配置了边缘传输角色的服务器的“Exchange 管理控制台”,选择“反垃圾邮件”选项卡,再选择“发件人 ID”,并在“操作”窗格中单击“启用”或“禁用”以切换“发件人 ID”代理,如图 2 所示。另外,可以使用 Exchange 管理外壳启用或禁用“发件人 ID”,如图 3 所示。

Exchange Server 2007通过发件人ID 抵御垃圾邮件-LMLPHP图 2 用于 Exchange Server 2007 中发件人 ID 代理的 Exchange 管理控制台控件 (单击该图像获得较小视图) Exchange Server 2007通过发件人ID 抵御垃圾邮件-LMLPHP图 2 用于 Exchange Server 2007 中发件人 ID 代理的 Exchange 管理控制台控件 (单击该图像获得较大视图) Exchange Server 2007通过发件人ID 抵御垃圾邮件-LMLPHP图 3 使用 Exchange 管理外壳启用发件人 ID (单击该图像获得较小视图) Exchange Server 2007通过发件人ID 抵御垃圾邮件-LMLPHP图 3 使用 Exchange 管理外壳启用发件人 ID (单击该图像获得较大视图) “发件人 ID 属性”对话框将反映代理的状态,即启用还是禁用。“操作”选项卡提供的选项与 Exchange Server 2003 中提供的选项极为相似(请参见图 4)。

Exchange Server 2007通过发件人ID 抵御垃圾邮件-LMLPHP图 4 Exhange Server 2007 中的发件人 ID 代理操作属性 (单击该图像获得较小视图) Exchange Server 2007通过发件人ID 抵御垃圾邮件-LMLPHP图 4 Exhange Server 2007 中的发件人 ID 代理操作属性 (单击该图像获得较大视图) 就发件人 ID 实现和功能方面,Exchange Server 2003 与 Exchange Server 2007 之间没有什么重大的差异,而且发件人 ID 筛选(在 Exchange Server 2003 中)和发件人 ID 代理(在 Exchange Server 2007 中)使用同一种基本算法进行提取和验证。可能操作的范围也是相同的:删除邮件(无提示删除)、拒绝邮件(500 级 SMTP 协议响应)以及用发件人 ID 结果标记邮件并继续处理。后一个选项在两个版本的 Exchange Server 中都是默认操作。

在 Exchange Server 2007 中,FAIL 和 TempError 状态码均可触发“拒绝邮件”操作(在 Exchange Server 2003 中,只有 FAIL 状态码可以触发此操作)。需要对发件人 ID 代理进行显式配置,以通过 TempError 状态码触发对邮件进行“拒绝邮件”操作,因为在默认情况下会允许这些邮件进入系统,用发件人 ID 结果作标记,然后再进行处理。

用于此用途的配置选项不会通过图形用户界面显示,所以您必须使用 Exchange 管理外壳配置与 TempError 状态码对应的发件人 ID 操作。例如,要强制发件人 ID 代理通过 TempError 状态码拒绝邮件,请运行以下发件人 ID 代理 cmdlet:

Set-SenderIDConfig -TempErrorAction Reject

Exchange Server 2007 中发件人 ID 状态结果和可能操作的范围与 Exchange Server 2003 发件人 ID 筛选相类似,如图 5 所示。

Exchange(如果配置为执行此操作)将只删除发件人 ID 验证失败的邮件。其他任何结果都不会触发邮件删除。结果状态为 Neutral、None、SoftFail、TempError 或 PermError 的传入邮件将相应加以标记并传递下去,以进行进一步的反垃圾邮件验证。在某些情况下,当邮件完全异常并且 FROM IP 地址丢失时,便无法在邮件中对发件人 ID 状态加以标记。此时,邮件不会被丢弃或拒绝。而是会继续传递,以在未设置发件人 ID 状态的情况下进一步处理,并将记录相应的事件以引起关注。

在 Exchange Server 2007 中,很容易定义可以不进行发件人 ID 验证的发件人域和 Exchange Server 收件人。同样,此配置选项只在 Exchange 管理外壳中提供。例如,要从发件人 ID 筛选中排除域 contoso.com,请运行以下命令:

Set-SenderIDConfig -BypassedSenderDomains contoso.com

同样,要从发件人 ID 筛选中排除发送给指定 Exchange Server 收件人的邮件,请运行以下命令:

Set-SenderIDConfig -BypassedRecipients [email protected]

在 Exchange Server 2007 中,发件人 ID 的各个配置项(通过 Exchange 管理外壳 cmdlet 设置,但不能通过图形用户界面进行设置)可通过在 Exchange 管理外壳中运行 Get-SenderIDConfig 命令轻松获得,如图 6 所示。

Exchange Server 2007通过发件人ID 抵御垃圾邮件-LMLPHP图 6 发件人 ID 配置 cmdlet (单击该图像获得较小视图) Exchange Server 2007通过发件人ID 抵御垃圾邮件-LMLPHP图 6 发件人 ID 配置 cmdlet (单击该图像获得较大视图) Exchange 管理外壳可用于快速手动验证 IP 地址和相应的域名。要检查“发件人 ID”状态,请运行以下命令:

Test-SenderID -IPAddress <IPAddress>-PurportedResponsibleDomain <SMTPDomain>

如果该域不存在,您将会看到一个类似于图 7 的结果。

Exchange Server 2007通过发件人ID 抵御垃圾邮件-LMLPHP图 7 验证某个地址的发件人 ID 状态 (单击该图像获得较小视图) Exchange Server 2007通过发件人ID 抵御垃圾邮件-LMLPHP图 7 验证某个地址的发件人 ID 状态 (单击该图像获得较大视图) 发件人 ID 的优点

除了在对电子邮件进行身份验证和减少用户接收的垃圾邮件数量方面的明显优点外,作为一种协议,SIDF 还具有其他优势。在其开发期间,Microsoft 重点关注几个主要目标,包括性能、成本、部署和可伸缩性及可互操作性。

SIDF 会首先对电子邮件发件人进行身份验证,并会考虑到使用发件人的名声分值。因此,它可能会使垃圾邮件和欺骗性的电子邮件明显减少,并提高来自已知发件人和受信任发件人的合法电子邮件的传输能力。SPF 记录的创建是免费的,所以任何想要遵从 SIDF 的组织都可以轻易实现此操作。希望遵从新标准中的规定的组织应该可以实现此操作。有了 SIDF,实现遵从性就像发布 SPF 记录一样简单。

SIDF 已开发成尽可能在现有软件中运行。它可与大范围的电子邮件体系结构及客户端和服务器软件配合使用。为使其发挥作用,任何身份验证服务在满足最大的 ISP 需求时,都必须能够像满足最小的家用邮件服务器的需求那样容易。SIDF 可以支持一到数千个电子邮件服务器,以及那些将其电子邮件服务器外包给其他组织的邮件服务器。

2007 年 4 月 18 日和 19 日,Microsoft 和包括 30 多个组织和合作伙伴的行业协会将在马萨诸塞州的波士顿举办“身份验证和在线身份提交”。这一活动为期两天,期间将回顾案例研究和发件人 ID 技术,同时详细说明电子邮件身份验证的商业价值。有关详细信息,请访问 aotalliance.org/summit2007。此外,可访问 microsoft.com/senderid 和 microsoft.com/exchange 站点获取有关工具和资源的信息。

Craig Spiezle 是 Microsoft Windows Live Safety 技术策略和规划方面的主管。作为电子邮件身份验证的产品经理,Craig 已成为将发件人 ID 引入该行业的驱动力。Craig 于 1992 年加盟 Microsoft,曾担任过多种管理职务,包括国际市场推广、产品支持策略、OEM 和新市场开发。

Alexander Nikolayev 是 Microsoft 的程序经理,主要负责 Exchange Server 和 Windows Server 的服务器端协议、传输核心和反垃圾邮件组件。他拥有玛莉大学的 MBA 学位。请阅读 Alexander 在 Exchange 团队博客上发表的文章,网址为 blogs.technet.com/exchange。

摘自 December 2006 期刊 TechNet Magazine.  

03-14 22:03