AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1064955
Accepted
Choppa dude
Choppa dude
Asked: 2021-05-29 01:53:58 +0800 CST2021-05-29 01:53:58 +0800 CST 2021-05-29 01:53:58 +0800 CST

为什么在 SMTP 中端口 587 优先于端口 465?

  • 772

我最近一直在开发一个通过 SMTP 服务器发送电子邮件的 C# 客户端。但是,我一直在了解不同的术语,例如:STARTTLS/TLS/SSL ......

经过进一步调查,我发现 SMTP 客户端以 2 种不同的方式(2 种加密方式)与服务器通信;显式 SSL/TLS 和隐式 SSL/TLS。

据我了解,显式 SSL/TLS 是 STARTTLS 的工作方式,它会在不安全的连接上询问服务器是否支持 TLS,如果支持,它会继续使用加密连接。然而,隐式 TLS 从连接开始到结束都是安全的,它永远不会不安全。

我可能对此有误,如果我错了,请纠正我。

问题是为什么端口 587(显式 SSL/TLS)是端口 465(隐式 SSL/TLS)的首选端口。

我知道端口 465 已被弃用,我可以看到端口 587 的用处,它可以在加密和未加密的情况下工作,并且由客户端来找出服务器支持的内容。

但是我很少看到有利于易用性的安全更新,这就是我感到困惑的原因。为什么我们从完全安全变为仅在某些方面安全?

我希望我的问题是有道理的。

email smtp ssl starttls
  • 3 3 个回答
  • 3108 Views

3 个回答

  • Voted
  1. Best Answer
    anx
    2021-05-31T10:26:41+08:002021-05-31T10:26:41+08:00

    为什么首选端口 587?

    任何声称如此的文件都是历史性的。今天,首选端口 465。

    它曾经是首选的原因(一些,不是所有的运营商):

    • STARTTLS 正式化后,兼容性和安全性考虑不同
    • 一个合适且已使用的 TCP 端口号已被重新分配IANA

    我们现在都应该更喜欢隐式 TLS 的原因:

    • 将不必要的变通方法和兼容性层添加到原本强大的安全机制中被认为是不可取的
    • 已分配备用端口使用 来解决端口冲突
    • 我们现在几乎没有提供可选传输安全的用例了

    建议大家迁移到隐式 TLS。请仅使用安全传输方式发送邮件。请阻止或删除不必要的复杂性和故障模式。

    • 5
  2. Esa Jokinen
    2021-05-31T11:09:09+08:002021-05-31T11:09:09+08:00

    目前情况正好相反。关于为什么,RFC 8314, 3的问题是:

    尽管STARTTLS已经部署了这种 [ ] 机制,但在连接开始时在单独的端口上立即协商 TLS 的替代机制(在本文档中称为“隐式 TLS”)已被更成功地部署。为了鼓励更广泛地使用 TLS 并鼓励在如何使用 TLS 方面保持更大的一致性,本规范现在建议将隐式 TLS 用于 POP、IMAP、SMTP 提交以及 MUA 和 MSP 之间使用的所有其他协议。

    • 1
  3. Simon Richter
    2021-05-29T02:52:54+08:002021-05-29T02:52:54+08:00

    SMTP 使用端口 25 进行服务器到服务器的通信,使用端口 587 进行客户端到服务器的通信。

    这里的协议没有真正的区别,但是较大站点的管理员可能想要不同的策略来接收来自其他域的邮件与接收可能发送到其他域的自己客户的邮件,这就是存在两个不同端口的原因:它允许防火墙规则容易区分。

    用于传入邮件的邮件服务器永远不需要验证用户的凭据,因此不需要授予他们对该数据库的访问权限,而用于传出邮件的邮件服务器需要对本地用户进行身份验证,因此他们确实需要该访问权限——但是他们不需要从世界任何地方都可以到达。

    端口 465 是端口 25 的仅 SSL 变体,但这已经通过通过对命令的STARTTLS响应协商的机会加密进行了很好的处理EHLO,并且STARTTLS命令比先尝试端口 465 更快,遇到超时然后尝试端口25.

    端口 587 从未分配过仅 SSL 的变体端口,它的用例仍然相关。

    服务器到服务器的传输使用机会加密,如果失败,可能会退回到未加密的传输——通过加密邮件本身提供端到端安全性,因为即使在服务器之间使用加密连接,邮件也会在每个服务器上处理.

    客户端应该使用端口 587,协商加密并制定一个合理的策略,当协商失败时该怎么做,例如,继续使用质询-响应身份验证方法并以未加密方式传输邮件是可以接受的,而密码身份验证方案将如果没有下面的加密层,就会变得不安全。

    • -3

相关问题

  • 如何绕过 ISP 的限制性电子邮件政策?

  • SharePoint 传入电子邮件出现“未知别名”错误

  • 电子邮件帐户的角色名称与人名

  • 如何在笔记本电脑上使用 Tobit David?[关闭]

  • 随行人员通过 VPN 连接到 Exchange 2007

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve