MTA 使用的端口 25(smtp)是否在纯文本/非加密下工作?
我找不到任何资源表明默认情况下 25 的 smtp 是纯文本。
(参见代码部分S: <waits for connection on TCP port 25>...
)
,似乎端口 25(smtp) 支持 STARTTLS,那么这是否表明
- MTA 使用的 smtp 端口 25 默认是非加密的?
- 并且它只能通过 STARTTLS 方式进行保护吗?
答案1
几个月后,我阅读了更多材料和一些 RFC,但我并不赞同@Overmind 的某些回答。
机会型 TLS或者启动TLS,我认为他们指的是一件事。也就是说,如果服务器支持 TLS 连接,那么客户端将优先使用 TLS 连接,如果不支持,客户端可以使用纯文本连接。
MTA 使用的端口 25 可能支持 TLS,也可能不支持。这完全取决于邮件服务器。(如果服务器支持 TLS,您可以在和STARTTLS
后面看到选项。)telnet
EHLO
如果服务器 MTA
a
支持TLS
,并且客户端 MTAb
请求 TLS 连接,那么将建立 TLS 连接。如果服务器 MTA
a
不支持TLS
,则可以将客户端 MTAb
配置为继续以纯文本进行通信或中止传送。(例如,MTA 软件Postfix
似乎支持此类设置,并且可以将其设置为仅对某些用户指定的域请求 TLS 连接。)
引入端口587
最初是为了取代25
MUA(终端用户邮件客户端,例如 ThunderBird)中的端口到 MTA 邮件提交。它的设计理念是 机会型 TLS方式。如果服务器支持TLS
,那么就用 交谈TLS
。如果不支持,那么我可以用纯文本。
正如你所看到的机会型 TLS或者启动TLS只是一种机制。此模式可用于MTA
to MTA
、MUA
toMTA
或任何其他通信。它与协议无关。
而且我不认为默认提交端口应该587
像@Overmind 所说的那样。邮件提交应该是强制实施 TLS代替机会型 TLS。 强制实施 TLS是:如果服务器不支持TLS
连接,那么客户端将不会与服务器通信。端口465
用于强制实施 TLS要求。
因此,在您的邮件客户端中,您应该始终使用465
来提交邮件。
查看这篇好文章了解更多信息https://www.fastmail.com/help/technical/ssltlsstarttls.html
答案2
SMTP 流量有两种情况:
- 服务器到服务器
- 客户端到服务器。
服务器到服务器的电子邮件通信通过端口 25 进行。此端口继续主要用于 SMTP 中继。SMTP 中继是指将电子邮件从电子邮件服务器传输到电子邮件服务器。您必须在端口 25 接受 SMTP 流量才能接收来自其他域的通信。这是无担保,信息发送为明文/ ASCII。它不通过 SSL 发送。
客户端到服务器场景:在服务器上,您可以配置不同的提交端口(开放您将接受电子邮件的端口)。这些可以是任何端口,但客户端必须知道如何使用它们。
最常用的端口是 25 和 587,但客户端-服务器系统不应使用 25。如果您想要安全的传出通信,请使用带 TLS 的 587。这是默认的电子邮件提交端口。当电子邮件客户端或服务器提交电子邮件以由适当的电子邮件服务器路由时,它应始终使用此端口。此端口与 TLS 加密相结合,将确保电子邮件安全提交并遵循 IETF 规定的准则。
不要将端口与通信协议混淆。
SMTP 是一种协议,它指定了信息传输的方式。它可以安全或不安全地传输信息。
SMTP 端口实际上是一个监听端口,客户端连接到该端口才能使用服务器的功能。
另一方面,SMTP 服务器是与实际执行传输的协议本身分离的。
所以是的,您所读到的是正确的:在客户端-服务器场景中,端口 25 被认为是不正确的用法。