当我们为SMTP协议使用自签名证书时,即当SMTP服务器使用自签名证书时,会出现什么问题?
只要用户接受由自签名证书引起的异常警告(在Thunderbird邮件客户端可以是这种情况),我认为没有问题。
有人能告诉我还有什么问题吗?
发布于 2019-10-28 04:18:44
在服务器到服务器之间的通信中,没有问题,因为SMTP服务器接受任何证书,甚至返回到未加密的连接。从这个意义上说,MX服务器没有公钥基础设施。针对降级攻击,有基于DNS的命名实体身份验证( DANE ) (请参阅RFC 7672 on SMTP安全通过机会主义的DNS),利用在DNS中发布的公钥对由CA签名的公钥。自签证书是可以的。
对于客户端到服务器的通信,拥有可信的CA签名证书至少更方便。如果用户学会接受异常,那么即使存在MitM攻击,他们也更有可能接受异常。此外,例如Android客户端只允许需要可信证书或接受任何证书,这使得MitM攻击更加容易。这就是为什么我建议在客户端通信中使用CA签名的证书。
我们甚至可以为SMTP/IMAP服务器获得免费的加密证书,因为它不限于在多个协议中使用相同的证书。这基本上消除了对带有公共引用邮件服务器的自签名证书的任何需求。(后缀的示例配置.)
发布于 2019-10-28 04:50:50
自签名证书可能会阻止拦截邮件的琐碎尝试,但由于它们可能是MITM获得的,因此其价值有限。如果您确实想走这条路线,您应该创建一个CA并让您的用户接受CA。不幸的是,对于您的用户来说,这可能是一个糟糕的主意(因为您可以签署流氓证书),而且价值有限,因为其他MTA和您的MTA之间的流量仍然可以被截获。
其他人没有评论过的东西--虽然加密传送不是SMTP协议的一部分,但一些提供商(如GMAIL)会将电子邮件标记为已加密或未加密--我推测(我不使用gmail,所以也不确定)使用自签名证书的MTA不会被视为安全。
正如其他人所提到的,使用LetsEncrypt通常不是一个很大的要求,也是一个更好的解决方案。
发布于 2019-10-28 04:09:07
与您所遇到的每个自签名证书相同的问题,客户端不能也不能信任服务器。如果您是smtp服务器的唯一客户端,则可以添加CA,甚至不必接受异常。如果我是您服务器的用户之一,我肯定不会使用它。没有保证我连接到正确的服务器,我将假设它是一个流氓服务器。
加密部分还可以,流量被加密
https://serverfault.com/questions/989597
复制相似问题