当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Exchange 2016 和 Exchange 2019 SMTP 中继

作者:精品下载站 日期:2024-12-14 07:09:41 浏览:13 分类:玩电脑

Exchange 2016 和 Exchange 2019 SMTP 中继


最近几天,在从 Exchange 2010 迁移到 Exchange 2016 的过程中,我一直在与多个客户合作处理 Exchange 2016 中的 SMTP 中继。我上次这样做是在 Exchange 2010 上,大约 9 年前 https://jaapwesselius.com /2012/05/25/smtp-relay-in-exchange-2010/ 这些年来事情已经发生了变化。 Exchange 2016 中的更改已在 Exchange 2019 中延续...。哦,这对于 Exchange 2013 也是如此,但由于 Exchange 2013 已经不再支持,而且我的客户都没有使用 Exchange 2013,所以我将跳过这一点……

Exchange 2010 具有 SMTP 集线器传输服务,该服务使用端口 25 与其他 SMTP 主机进行通信。 Exchange 2016 和 Exchange 2019 有两项用于 SMTP 传输的服务:

  • 前端传输服务 (FETS) 侦听端口 25。这是其他 SMTP 主机连接的位置。在 Exchange 2016 管理中心中,FETS 接收连接器被标识为 默认前端 。在 Exchange 2013 中,此服务在客户端访问服务器上运行。
  • 集线器传输服务在端口 2525 上侦听。这是 FETS 和其他 Exchange 集线器传输后端服务使用的后端服务。客户端不应使用端口 2525 上的集线器传输服务。在 Exchange 管理中心中,此接收连接器被标识为 默认 。在 Exchange 2013 中,此服务在邮箱服务器上运行。

这些连接器如以下屏幕截图所示。选择默认前端接收连接器(端口 25 上),红色箭头指向端口 2525 上的集线器传输接收连接器。

[玩转系统] Exchange 2016 和 Exchange 2019 SMTP 中继

注意。屏幕截图中的客户端前端接收连接器正在侦听端口 587,用于经过身份验证的 SMTP 客户端,例如 Mozilla Thunderbird。

Exchange 2016 和 2019 中的 SMTP 中继

默认前端接收连接器允许所有 SMTP 客户端连接到它并丢弃电子邮件以进行本地传送。您不想配置此连接器将 SMTP 消息中继到外部域,这称为“开放中继”,这是被列入 Internet 上每个可用黑名单的首要原因。您可以执行此操作并根据 IP 地址限制访问,但我强烈建议不要更改默认连接器。将入站 SMTP 流量保留在默认前端接收连接器上,并为 SMTP 中继流量创建专用连接器。

有两种方法可以创建这样的中继连接器:

  • 创建专用接收连接器(在前端传输上,而不是在传输服务上),按 IP 地址进行限制,并在 NT AUTHORITY\ 上添加 Ms-Exch-SMTP-Accept-Any-Recipient 权限匿名登录安全主体。这就是我在前面提到的博客中展示的内容,并且这只能使用 Exchange PowerShell 实现。发送主机被视为匿名,并且应用反垃圾邮件和邮件大小限制
  • 创建专用接收连接器(同样在前端传输上),按 IP 地址进行限制,并将 Exchange 服务器外部安全 身份验证机制添加到连接器。在这种情况下,发送主机被视为经过身份验证的发件人,并且电子邮件绕过反垃圾邮件和邮件大小限制。使用 Exchange 管理控制台可以轻松配置。

由于第一个选项已经记录,我将继续第二个选项。就我个人而言,我喜欢使用 PowerShell 来执行此操作,创建此类连接器并配置它的命令如下所示:

[PS] C:\>New-ReceiveConnector -Name "SMTP Relay EXCH01" 
-Server EXCH01 -TransportRole FrontendTransport -Custom 
-Bindings 0.0.0.0:25 -RemoteIpRanges 10.38.96.15

Identity                 Bindings     Enabled
--------                 --------     -------
EXCH01\SMTP Relay EXCH01 {0.0.0.0:25} True


[PS] C:\>Set-ReceiveConnector "EXCH01\SMTP Relay EXCH01" 
-AuthMechanism ExternalAuthoritative 
-PermissionGroups ExchangeServers

[PS] C:\>

当您使用 Exchange 管理中心检查连接器时,您可以看到身份验证机制设置正确,如以下屏幕截图所示:

[玩转系统] Exchange 2016 和 Exchange 2019 SMTP 中继

还可以使用 Exchange 管理中心创建新连接器。在 EAC 中,导航到邮件流并选择接收连接器选项卡,然后单击+ 图标。按照向导操作,为新连接器指定适当的名称,选择前端传输和自定义,并按 IP 地址进行限制,如以下屏幕截图所示:

[玩转系统] Exchange 2016 和 Exchange 2019 SMTP 中继

创建后,打开新的接收连接器,选择安全并将身份验证机制配置为外部安全Exchange 服务器,如上一个屏幕截图所示。

现在可以从 IP 地址为 10.38.96.15 的服务器中继 SMTP 消息。在端口 25 上使用 Telnet,您将看到如下内容:

[玩转系统] Exchange 2016 和 Exchange 2019 SMTP 中继

当尝试从另一台服务器(未在远程网络设置中列出)进行中继时,它将失败并显示 550 5.7.54 SMTP;无法在不接受的域中中继收件人错误,如以下屏幕截图所示:

[玩转系统] Exchange 2016 和 Exchange 2019 SMTP 中继

概括

简而言之,不要将默认接收连接器配置为在 Exchange 服务器外部中继消息。当您需要使用 SMTP 中继时,请创建专用连接器。

第一个也是最安全的选项是创建一个新的接收连接器,通过 IP 地址进行限制并配置 Ms-Exch-SMTP-Accept-Any-Recipient 权限。应用了反垃圾邮件和邮件大小限制,但只能使用 PowerShell 进行配置(因此更复杂)。

第二步是创建一个新的接收连接器,通过 IP 地址进行限制并配置身份验证机制。配置更容易(使用 EAC),但安全性较低:不应用反垃圾邮件和邮件限制。

使用哪一个取决于您。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯