我正在开发一个应用程序,它必须能够发送带有潜在敏感信息的电子邮件。 我想知道是否有什么SMTP服务器通常在公司设置中使用的数据(例如除了Exchange以外还有其他什么东西?)以及它们是否支持SSL连接?
许多SMTP服务器支持机会性的TLS,但是它不能很好地满足你的需求。
相反,您应该考虑像PGP或S / MIME这样的端到端encryption解决scheme,或者像HTTPS门户那样可以读取消息(通过明文SMTP通知消息之后)的用户更友好的东西。
是的,大多数现代邮件提交/转移代理( MSA,MTA )支持通过SSL / TLS和STARTTLSencryption连接,包括Exim,Postfix和Sendmail。 由于您专注于发送而不是接收,因此设置起来相对容易 – 您不必获取或生成安全证书。 但是,不能保证收件人的MSA将支持encryption,并且您可能会遇到需要在发送服务器上安装的自签名证书。
电子邮件通常不是一个安全的消息传递平台,你可能会更好地使用不同的解决scheme,如Shane Madden所build议的。
我不反对迄今为止所说的任何事情,但我想我会添加我的2p值和一些数据。 与所有安全function一样,SSL / TLS旨在防范威胁。 是否具有良好的保护取决于特征的性质和威胁模型。
如果您的威胁模型包含服务器pipe理员的攻击,那么线上的任何SSL都不会为您节省; 端到端的encryption是必要的。 如果您的威胁模型仅限于随机窥探者,则未经身份validation的SSL将有所帮助; 但是如果你的威胁模型包括装备精良的对手进行侦听,那么中间人攻击就成了一个问题,authentication也是需要的。
如果您没有威胁模型,则安全性将不会有所帮助。 你需要知道你想要保护什么,以及谁可以决定你需要什么安全。
为了提供关于无处不在的encryption的一些数据,我去了一下邮件服务器上一个合理的特征周。
它试图在这个星期内build立4411个外向连接。 1392对没有提供encryption的服务器。 3019对那些做过的服务器; 其中有838个证书是无法validation的(要么是因为没签名,要么是因为我不信任签名者,我怀疑绝大多数是前者)。 2121的证书已经过validation。
因此,通过这种分解,32%的服务器不提供encryption,19%的服务器提供自签名证书,48%的服务器提供了正确的签名证书。
在互联网上有关于不同品牌的邮件服务器的研究。 这个来自2012年1月,并且表明sendmail和Exchange都变得同样不受欢迎。 我真的不能决定是笑还是哭。
恕我直言,如果你发送敏感,那么你需要端到端(MUA到MUA)encryption,例如使用GnuPG。
正确部署的SSL // STARTTLS可能在SMTP传输过程中保护数据,但不能保护“在两者之间”的服务器上的数据。
安全性和易用性/部署之间的妥协取决于您。
Facebook于2014年5月13日发布了关于SMTP STARTTLS改编的调查结果:
SMTP STARTTLS部署的当前状态: https : //www.facebook.com/notes/protect-the-graph/the-current-state-of-smtp-starttls-deployment/1453015901605223