微软公司针对已验证身份的连接和匿名连接的 SMTP 配置方法

IT 技术说明

IT Showcase Logo


为减轻管理负担,微软信息技术(微软 IT)部门需要改变 Microsoft® Exchange Server 2003 建立内部简单邮件传输协议 (SMTP) 连接的方式。微软 IT 将 SmtpIpRestrictionFlag 属性设为 1 以配置一台 SMTP 虚拟服务器,允许与某个 IP 地址显式列表中的地址建立匿名连接,同时也允许与其他 Exchange 服务器建立经过身份验证的连接。

*
**
**
文档定义

“IT 技术说明”是针对与微软 IT 相关的特定主题撰写的简短技术内幕说明,通常还与某个现有的 IT Showcase 文档相关联。“说明”可能会分步骤描述微软 IT 如何执行某个具体的操作任务或如何配置硬件设备或软件应用程序。它可能还会详细介绍某个最佳实践,或者提供与微软 IT 的运营有关的常见信息。

目标读者

Microsoft Exchange Server 2003 管理员

产品和技术

Exchange Server 2003

SMTP

本页内容
简介简介
背景背景
更改后的行为更改后的行为
实施实施

简介

许多邮件环境使用内部网关服务器传送来自各种来源的邮件。这些来源可能包括本地电子邮件环境内的服务器、电子邮件环境之外的应用程序服务器以及其他电子邮件环境中的服务器。如果环境使用多种技术,允许匿名连接通常是必需的,因为对所有主机进行身份验证要么是不可能的,要么是不可行的。虽然也可以简单地允许所有匿名连接,但这样会使环境变得无法控制。反过来,管理允许连接列表又会带来不希望的管理负担。

微软 IT 将其 Exchange 基础结构中的 SMTP 传输手段视为一种宝贵资源,因此该部门希望控制和管理对该基础结构的访问。在某些情况下,微软 IT 需要允许某些特定 SMTP 客户端建立匿名连接,但同时继续允许来自所有通过身份验证的客户端的连接。

在使用 Microsoft Exchange 2000 Server 的环境中,如果只将一个 IP 地址添加到 SMTP 虚拟服务器的允许连接列表中,那么其他任何客户端(无论匿名还是已验证身份)都无法再建立连接。若要使通过身份验证的客户端(例如其他 Exchange 服务器)能够建立连接,必须将它们的 IP 地址添加到允许连接列表。在企业环境中,此项工作可能需要添加数十甚至数百 IP 地址。由于更改不是共享的——必须对每台虚拟服务器进行单独配置——在使用多台 SMTP 服务器的情况下问题就愈加复杂了。

微软 IT 希望确保只有授权实体(例如 Exchange 服务器或特定 SMTP 客户端)能够直接向部门的内部 Exchange 传输提交电子邮件,如图 1 所示。

SMTPConnectionsNoteF1

图 1. 微软 IT 部门 SMTP 需求的拓扑关系图

微软 IT 希望在保证 SMTP 路由环境安全的同时不显著增加管理负担,作为实现此目标所做工作的一部分,该部门需要更改其 SMTP 虚拟服务器的行为。微软 IT 执行的更改使得 SMTP 虚拟服务器不仅允许来自某个 IP 地址列表中地址建立的匿名连接,而且也允许来自所有其他 Exchange 服务器建立的验证了身份的连接。

本文面向 Exchange 管理员。文章假设读者已经具备 Microsoft Windows Server™ 2003 和 Microsoft Exchange Server 2003 SMTP 的操作知识,了解路由概念,熟悉各种系统工具的使用方法。本文并不详细介绍任何系统工具的使用细节,除非这是完成文中任务所必需的。

注意:出于安全考虑,本文中作为示例使用的目录林、域、内部资源、组织以及内部开发的程序和文件的名称仅是出于描述的目的,并不代表微软内部使用的实际名称。此外,本文还介绍了微软 IT 运行其企业数据中心的方法。本文中的步骤和过程并不是介绍如何运行通用数据中心的规范性指南,微软客户支持服务可能也不会为它们提供支持。

返回页首返回页首

背景

微软 IT 在其 Active Directory® 目录服务架构中管理着多个目录林。大多数微软员工使用主要的企业网络目录林。生产型用户构成了许多较小的目录林。

在某些情况下,微软 IT 需要允许有限数量的电子邮件客户端建立匿名连接,同时允许所有验证了身份的连接,而无论其源 IP 地址如何。允许此行为提供了必需的灵活性,使单台服务器可被用作目录林之间或目录林之内的连接中心,同时不会显著加重管理负担。

例如,微软 IT 使用 MSFT-HUB-xx 服务器作为微软 IT 管理的多个目录林之间的 SMTP 桥头服务器和部门间的路由中心。如果,作为向路由环境提供安全性所做努力的一部分,微软 IT 将非主要企业网络目录林中的指定 SMTP 桥头服务器的 IP 地址添加到允许连接列表,那么将只有这些服务器能够建立连接。主目录林中的所有 Exchange 服务器均无法连接到 MSFT-HUB-xx 服务器,除非它们的 IP 地址也被添加到列表中。因此,该列表的维护工作会显著增加管理负担。由于主企业网络目录林中的 Exchange 服务器已经因为它们的身份验证状态而成为了受信任实体,因此将它们添加到允许连接列表是多此一举。

可使用两个现成可用的配置设置允许它们与 SMTP 虚拟服务器建立连接,如表 1 所示。

表 1. 允许两种类型的 SMTP 连接的原始设置

连接控制设置

行为

以下列表除外(默认)

所列出 IP 地址以外的所有客户端均可连接到 SMTP 虚拟服务器。

仅以下列表

只有 IP 地址为所列出 IP 地址之一的客户端能够连接到 SMTP 虚拟服务器。

注意: 客户端也许可以连接到 SMTP 虚拟服务器,但是客户端是否能够向服务器提交电子邮件则要取决于其他设置,例如所支持的身份验证方法。

图 2 中的流程图描述了 SMTP 虚拟服务器在建立连接和提交邮件时的行为逻辑。

SMTPConnectionsNoteF2

图 2. 原始 SMTP 连接工作流的运行方式

图 2 所描述的默认行为没有利用组织中 Exchange 服务器已经通过了身份验证的 SMTP 状态,并且没有向这些经过身份验证的 Exchange 服务器授予将电子邮件提交给受保护的 SMTP 虚拟服务器的能力。

返回页首返回页首

更改后的行为

微软 IT 为解决此问题更改了相关配置,将 SMTP 虚拟服务器配置为将诸如此类的 IP 限制仅仅应用于匿名连接。这些限制不会影响服务器的连接和身份验证。

由于在建立连接之后才执行身份验证,配置更改会改变 SMTP 虚拟服务器的基础行为。但是,所有连接在最初之时都是被允许的,如果客户端的 IP 地址不在列表之中,而且客户端在尝试发出 mail from 命令之前没有进行身份验证,那么连接将终止,并且会导致 5.7.3 SMTP 响应(“客户端未经过身份验证“)。

微软 IT 在作为受保护 SMTP 虚拟服务器运行的服务器上修改了 Microsoft Internet 信息服务 (IIS) 6.0 版的元数据库参数,从而实现了对配置的更改。通过创建元数据库键 SmtpIpRestrictionFlag=1,微软 IT 修改了 SMTP 虚拟服务器的允许连接行为,如表 2 所示。

表 2. 经过修订的设置,既允许经过身份验证的 SMTP 连接,也允许来自特定 IP 地址的匿名 SMTP 连接

连接控制设置

行为

仅以下列表

所有 SMTP 服务器均可连接,只有该服务器具备以下条件:如果连接经过身份验证,客户端可以提交邮件*。如果连接未经身份验证,但是客户端位于受允许的 IP 地址列表中,那么客户端也可以提交邮件*否则客户端将得到 SMTP 错误响应“5.7.3 客户端未经身份验证。”

* 允许提交邮件并不能保证邮件被成功接受。提交的邮件可能需要接受进一步的限制和筛选。

图 3 描述了表 2 引用的连接控制设置。例如,在以下情景中,将接受来自主机 10.168.0.1 的匿名 SMTP 连接以及身份经过验证的 SMTP 连接。

SMTPConnectionsNoteF3

图 3. 指定的允许建立连接的 IP 地址

设置该标志只会影响允许哪些客户端提交电子邮件。该设置不会改变 SMTP 虚拟服务器在处理匿名中继和身份验证中继时的行为。例如,通过匿名连接提交的邮件仍然需要遵守服务器上“发件人显示名解析”、“发件人 ID”、“发件人/收件人筛选”和“Exchange 智能邮件筛选”设置,它们不会绕过这些功能。

图 4 中的流程图描述了在建立连接和提交邮件时 SMTP 虚拟服务器使用的逻辑。

SMTPConnectionsNoteF4

图 4. 修改后的 SMTP 连接工作流方式

返回页首返回页首

实施

实现此更改的过程分为两个步骤:

1.

在 IIS 元数据库中为 SmtpIpRestrictionFlag 属性创建一条新记录。

2.

设置属性值。

默认情况下,SmtpIpRestrictionFlag 属性在元数据库中不存在。但是,管理员可使用 IIS Metabase Explorer 创建新记录并更改属性值。IIS Metabase Explorer 是 IIS 6.0 Resource Kit 工具集的一部分,并且可通过以下地址安装:http://www.microsoft.com/downloads/details.aspx?FamilyID=56FC92EE-A71A-4C73-B628-ADE629C89499&displaylang=en. IIS Metabase Explorer 的用户界面 (UI) 类似于 Microsoft Windows® Explorer 的 UI。

若要创建记录并设置值:

1.

打开 IIS Metabase Explorer,连接到要修改的服务器。

2.

浏览到要修改的 SMTP 虚拟服务器的容器。

3.

编辑菜单中,指向新建,然后单击DWORD 记录

4.

新记录对话框中,在记录名或标识符列表中,选择SmtpIpRestrictionFlag,如图 5 所示。

SMTPConnectionsNoteF5

图 5. IIS Metabase Explorer 中的新记录对话框

注意: 图 5 中的“所有者键”(Owner Key) 列表中的 1 指出了 SMTP 虚拟服务器的数量。

5.

单击确定,保存新记录。

6.

双击新记录以打开属性。

SmtpIpRestrictionFlag属性有两个可能的值:

0:允许经过身份验证或受信任的 IP 地址建立连接(原始行为)。连接服务器必须位于 IP 列表之中,而无论其身份验证状态如何。

1:既允许经过身份验证的连接,也允许来自“连接控制”设置中列出的 IP 地址的匿名连接。

7.

将属性值更改为 1 (如图 6 所示),然后保存更改。

SMTPConnectionsNoteF6

图 6. 在 IIS Metabase Explorer 中更改 SmtpIpRestrictionFlag 属性的值

现在,除了允许来自“允许连接”列表中的 IP 地址的连接之外,SMTP 服务器还允许经过身份验证的连接。


更多信息

有关微软产品或服务的更多信息,请拨打 (800) 426-9400 联系微软销售信息中心 (Microsoft Sales Information Center)。在加拿大,请拨打 (800) 563-9048 联系微软加拿大信息中心 (Microsoft Canada information Centre)。在美国 50 个州和加拿大之外的地区,请联系当地的微软分支机构。若要通过万维网获得更多信息,请访问:


返回页首返回页首