中继是指一封邮件从一个SMTP服务器传送到另外一台服务器,当接受邮件的SMTP服务器不是目标服务器。如果没有限制的话,Internet 上的SMTP服务器的匿名中继是一个严重的安全隐患,未经请求的商业电子邮件、垃圾邮件会利用它来隐藏自己的源地址。因此应该在面向Internet的邮件服务器上禁止它来阻止中继到非授权的目标地址。
在Exchange 2007中,中继是通过接受域来处理。可以在中心传输服务器或者边缘传输服务器上配置接受域,我们在这里不详细介绍接受域的概念。
您也可以根据进来的消息的源地址来限制匿名中继。如果一个没有经过认证的程序或者消息服务器必须使用中心传输服务器或者边缘传输服务器来作为中继服务器的话,该方法很有用。
执行前的准备
在执行该操作之前,您使用的账号必须具有具有下面的权限:
• Exchange Server Administrator 和目标服务器的本地管理员组
创建接收连接器并将匿名中继授予特定IP
当您创建接受连接器并允许匿名中继的时候,您应该在该接受连接器上配置下面的限制:
• Local network settings 在中心传输服务器或者边缘传输服务器上限制接受连接器只在某个特定的网卡上侦听
• Remote network settings 限制接受连接器只指定的服务器或者服务器组,该限制是必须的,因为接收连接器接受匿名用户的中继,通过IP地址来限制源服务器是在接收连接器上唯一的保护方法。
要将接收连接器上的中继权限授权给匿名用户,您可以使用下面的两种方法中的任何一种,每种方法都有好处和坏处。
方法一 授权中继权限给匿名连接
该方法涉及到下面的几个任务:
• 创建一个接收连机器并将使用类型设置为custom
• 增加匿名权限组给该接收连接器
• 在接收连接器上指派中继权限给匿名登录 的安全主体
在接收连接器上,匿名权限组授予下面的权限给匿名登录的安全主体:
• Ms-Exch-Accept-Headers-Routing
• Ms-Exch-SMTP-Accept-Any-Sender
• Ms-Exch-SMTP-Accept-Authoritative-Domain-Sender
• Ms-Exch-SMTP-Submit
然后要在接收连机器上允许匿名中继,您必须在接收连接器上将下面的权限授予匿名登录的安全主体
• Ms-Exchange-SMTP-Accept-Any-Recipient
使用该方法的好处是,只授予最小的中继权限给特定的远程主机IP地址
该方法有下面几个坏处:
• 在创建接收连接器后,您只能单独使用Exchange Management Shell来指派中继权限给接收连接器上的匿名登录的安全主体
• 那些来自特定IP地址的消息被认为是匿名消息,因此,这些消息不会绕过反垃圾邮件的检查,不会绕过消息大小限制 的检查,也不能解析匿名发件人。对于匿名消息,解析匿名发件人企图强制匹配发件人的邮件地址和全局地址簿中对应的显示名称。
使用Exchange Management Console创建一个新的接收连接器,并授权中继权限给匿名连接,具体的方法如下:
1、 打开Exchange Management Console,然后执行下面的步骤:
注意:这里我们举例说明在安装了中心传输服务器角色的服务器上的配置过程。
2、 定位到Server Configuration---Hub Transport,点击New Receive Connector,如图1所示,
3、 The New SMTP Receive Connector 的向导将会启动,在Name 中输入名称,在Select the intended use for this connector 中选择Custom,如图2所示,
4、 点击下一步,
5、 在Local network settings设置中,选中“All Available”点击删除,如图3所示,
6、 然后点击增加,输入该服务器上的某个指定的IP地址和端口,如图4所示,
7、 点击OK,然后点击下一步,
8、 在Remote network settings设置中,选中“0.0.0.0-255.255.255.255”,选择删除,如图5所示,
9、 然后点击增加,输入指定的远程主机的IP地址,点击OK,如图6所示,
10、 然后点击下一步,
11、 在New Connector的页面上,检查该连接器的摘要信息,确认无误后,点击New,
12、 在完成的页面上点击Finish,如图8所示。
13、 右键选中该接收连接器,选择属性,如图9所示,
14、 然后点击Permission Groups。选中Anonymous users,点击确定,如图10所示,
15、 然后进入Exchange Management Shell,输入下面的命令,如图11所示,
Get-ReceiveConnector "Anonymous Relay" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" –ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"
当然,我们也可以通过下面的命令行来创建接收连接器:
New-ReceiveConnector -Name <Name> -Usage Custom -PermissionGroups AnonymousUsers -Bindings <LocalIPAddress:25> -RemoteIpRanges <SourceServer>
然后在通过下面的命令行来设置匿名中继权限:
Get-ReceiveConnector "Anonymous Relay" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"
方法二 将接收连接器配置为Externally Secured
该方法涉及到下面的几个任务:
• 创建一个接收连机器并将使用类型设置为custom
• 增加Exchange Servers权限组给该接收连接器
• 增加ExternalAuthoritative认证机制给该接收连接器
当您选中ExternalAuthoritative认证机制的时候,Exchange Servers权限组是必须的。该认证机制和权限组的组合将下面的权限授予接收连接器上的任何进入连接:
• Ms-Exch-Accept-Headers-Routing
• Ms-Exch-SMTP-Accept-Any-Sender
• Ms-Exch-SMTP-Accept-Authoritative-Domain-Sender
• Ms-Exch-SMTP-Submit
• Ms-Exch-Accept-Exch50
• Ms-Exch-Bypass-Anti-Spam
• Ms-Exch-Bypass-Message-Size-Limit
• Ms-Exch-SMTP-Accept-Any-Recipient
• Ms-Exch-SMTP-Accept-Authentication-Flag
该方法有下面这些好处:
• 容易配置
• 那些来自特定IP地址的消息被认为是经过认证的消息,这些消息会绕过反垃圾邮件的检查,会绕过消息大小限制 的检查,也能解析匿名发件人。
该方法的坏处是,远程IP地址被认为是完全信任的,被授予权限的IP允许远程主机提交消息,好象它们来自您的组织的内部发件人一样。
使用Exchange Management Console创建一个新的接收连接器,并授权中继权限给匿名连接,并配置外部安全。
有关创建接收连接器的步骤和前面的一样,在此就不在叙述了。我们重点介绍如何配置外部安全:
1. 假设您已经创建好了一个接收连接器,名称为external secure,
2. 在EMC中,右键选中该接收连接器,选择属性,如图12所示,
3. 点击Permission Groups,选中Exchange servers,如图13所示,
4. 点击Authentication,选中Externally Secured (for example, with IPSec),如图14所示,
5. 点击确定,保存该设置。
我们也可以通过运行下面的命令来将创建一个新的接受连接器,然后为它设置外部安全设置,具体的命令如下:
New-ReceiveConnector -Name <Name> -Usage Custom -AuthMechanism ExternalAuthoritative -PermissionGroups ExchangeServers -Bindings <LocalIPAddress:25> -RemoteIpRanges <SourceServer>