有可能有一个既可互操作又安全的电子邮件服务器?

RFC 2847声明

公开引用的SMTP服务器不得要求使用STARTTLS扩展来在本地传送邮件。 此规则防止STARTTLS扩展损坏互联网SMTP基础结构的互操作性。 公开引用的SMTP服务器是一个SMTP服务器,它运行在Internet邮件地址右侧的MXlogging(或Alogging,如果MXlogging不存在)中列出的Internet主机的端口25上。

因此,为了符合RFC,我必须考虑到另一个代理可能会尝试连接到我的电子邮件服务器而不使用TLS,然后以纯文本格式发送密码,是吗?

如果我违反这个规则,只允许encryption的电子邮件连接(即在端口454,993和995,但没有其他人),其他电子邮件服务一般能够发送到我的服务器?

您可以configuration您的服务器,使其接受来自不同端口(587)的用户的外发电子邮件,并且只允许在那里使用TLS。 在标准端口25上,防止任何types的用户login,以免有人不小心使用它并在明确发送密码。

据我了解,这不会中断RFC,因为它谈到了其他服务器如何与您的服务器交谈,向用户发送电子邮件。 在面向用户的方面,您并不受任何RFC的约束,并且可以自由地执行任何希望实施TLS的策略,因为它在所有主要客户端上都受支持。

为获得最佳兼容性,您应允许未encryption的一般邮件连接,因为某些客户端不支持STARTTLS

对于用户的邮件客户端(发送密码的地方),您应该要求尽可能最好的encryption。

如果我违反这个规则,只允许encryption的电子邮件连接(即在端口454,993和995,但没有其他人),其他电子邮件服务一般能够发送到我的服务器?

不,他们不会。 邮件服务器之间的邮件传递是通过使用DNS查找MXlogging来查找负责收件人域的邮件服务器来完成的。 这个logging包含一个主机名,然后这个主机将在端口25被联系。没有办法以某种方式configuration一个不同的端口,即如果端口25上没有服务器,那么交付将失败。

有两件事可以区分:

  • 邮件传输代理(MTA) ,通常使用TCP端口25,465和587将邮件从发件人中继到收件人
  • MDA(邮件传送代理)允许用户下载/同步他们的电子邮件,通常使用POP3(S)的TCP端口110和995以及IMAP(S)的TCP端口143和993,

RFC谈到A publicly-referenced SMTP server ,意思是一个MTA。

MTA通常在3个不同的TCP端口上侦听SMTP(S):

  • 25 :可以支持STARTTLS的简单SMTP,也是用于将邮件从MTA发送到另一个MTA的唯一端口
  • 465 :通过TLS的SMTP,由用户用来发送他们的电子邮件
  • 587 :普通SMTP,可以支持STARTTLS,用户可以使用它发送电子邮件

对于STARTTLS,如果我们以Postfix为例,你可以有3种不同的configuration:

  • none :服务器将不使用STARTTLS
  • 可能 :服务器将build议并使用机会encryption(STARTTLS)(如果可用)
  • encryption :如果不能使用STARTTLS,服务器将断开连接

现在真正的问题是:目前太多的MTAconfiguration不当,不支持STARTTLS,这意味着在你的服务器上要求它可能会导致你的一些电子邮件没有被交付,或者你的服务器将无法接收来自发件人的电子邮件MTA不支持STARTTLS。

为了加速此举,Google在其透明度报告中显示了在传输中encryption的电子邮件的百分比。 他们甚至走得更远 ,现在显示红色的挂锁,当他们没有encryption。

但是,太多的服务器仍然不支持STARTTLS,这意味着您可能会面临太多的问题,因为要求在端口25上。因此,我可以为您configuration的build议如下:

  • SMTP端口25 :“可能”,作为客户端和服务器
  • SMTPS端口465 :打开它为您的用户
  • SMTP端口587 :不是真的需要
  • POP3端口110 :不是真的需要
  • POP3S端口995 :为您的用户打开它
  • IMAP端口143 :不是真的需要
  • IMAPS端口993 :为您的用户打开它