使用 STARTTLS 扩展确保 SMTP 会话安全
通过标准的 TCP/IP 通道进行的 SMTP 会话易被偷听,因为未加密的传输很容易被截取。为了确保 SMTP 通讯的安全性,服务器可以使用 TLS(传输层安全性,即通常所说的 SSL 加密)提供保密和认证。
某些服务器通过仅发送和接收通过 SSL 端口(缺省为端口 465)的通讯,从而支持将 SSL 用于 SMTP 流量。但是,由于这样会要求发送服务器和接收服务器都支持 SSL 上的 SMTP,因此该解决方案并不总是可行。
为了对通过 TCP/IP 进行的 SMTP 传输提供 SSL 安全性,Domino® 支持使用协商 SSL。在可协商的 SSL 方案中,每一个发送和接收主机都使用在 RFC 2487 中定义的 SMTP STARTTLS 扩展,以便向连接方发出信号,表示已准备就绪,可以协商进行 SSL 连接。接收方服务器会显示 STARTTLS 关键字以响应发送方服务器的 EHLO 命令。发送方服务器发出 STARTTLS 命令以请求创建安全连接。在成功完成初始的 TLS 握手后,连接双方接着会设置相互之间的 SSL 通道。发送方服务器和接收方服务器都必须拥有 SSL 证书。
支持对外发 SMTP 会话使用 STARTTLS
配置为针对外发邮件使用协商 SSL 的 Domino® 服务器连接到接收方服务器的 SMTP TCP/IP 端口(缺省为端口 25)。如果来自接收方服务器的初始 SMTP 响应表明其支持 STARTTLS 扩展,那么 Domino® 会发出 STARTTLS 命令以请求使用 SSL 来加密会话的其余部分。
如果接收方服务器在响应 Domino® 服务器的 EHLO 命令时未宣称支持 STARTTLS,那么发送方 Domino® 服务器会继续进行未加密的 SMTP TCP/IP 会话。
要启用外发 STARTTLS 支持,请将 SMTP 外发 TCP/IP 端口状态设置为:协商 SSL。
支持对外来 SMTP 会话使用 STARTTLS
可以将 Domino® 配置为支持对外来 SMTP 事务使用 STARTTLS 命令。如果 Domino® SMTP 服务器设置为对外来会话使用协商 SSL,那么此服务器会在响应 TCP/IP 端口从连接主机接收到的 EHLO 命令时宣称支持 STARTTLS。然后,连接主机可以发出 STARTTLS 命令以请求加密的会话。
如果 Domino® 配置为对通过 TCP/IP 进行的 SMTP 会话要求使用 STARTTLS,而连接主机无法满足此要求,那么不会通过该连接发送邮件。
要启用外来 STARTTLS 支持,请执行下列设置:
- 启用 SMTP 侦听程序任务。
- 启用 SMTP 外来 TCP/IP 端口。
- 启用 STARTTLS ESMTP 扩展。这会使 Domino® 在 ESMTP EHLO 问候语答复中将 STARTTLS 宣称为其所支持的某个扩展。
- (可选)启用对 SSL 端口的名称和密码认证。虽然使用协商 SSL 的 SMTP 会话是通过 Domino® TCP/IP 端口执行的,但 Domino® 仍使用您为服务器的 SSL 端口设置的认证选项来决定如何处理名称和密码冲突。
对 SMTP STARTTLS 会话要求名称和密码认证
对可协商的 SSL 启用 ESMTP 支持将允许服务器接受以下请求:匿名连接的远程服务器要通过 TCP/IP 使用 SSL。但是,并非所有的外来连接都是匿名的。连接 SMTP 服务器可以配置为使用 ESMTP AUTH 命令向 Domino® 发送名称和密码。
要在协商 SSL 会话期间支持从发送名称和密码的 SMTP 客户机建立的连接,请将用于 SMTP 外来 SSL 端口的“名称和密码”字段的值设置为“是”。不必启用 SSL 端口。如果 SSL 端口不支持名称和密码认证,那么 Domino® SMTP 服务器会拒绝来自远程服务器的 AUTH 命令,并返回错误以指示此命令未实现。
尽管 Domino® 通过 TCP/IP 端口接收 AUTH 命令,Domino® 仍使用 SSL 名称和密码认证设置来决定是否接受 AUTH 请求,因为它在 SSL 会话的上下文中接收此命令。对 TCP/IP端口的名称和密码认证设置会被忽略。