简单邮件传输协议(SMTP)用于在邮件服务器之间进行邮件传输,并且传统上是不安全的,因此容易被黑客窃听。命名实体的基于DNS的认证(国家统计局)用于SMTP提供了邮件传输更安全的方法,并逐渐变得越来越流行。
在这篇文章中,我们将讨论与SMTP相关的风险以及DANE如何克服这些风险,并为您提供Internet.nl向那些在实施DANE时照顾邮件服务器的人建议的技巧。
关键点:
使用STARTTLS的机会性SMTP的风险
默认情况下,邮件传输以纯文本格式进行。通过引入STARTTLS扩展,机会安全性已添加到SMTP协议中。这意味着仅当接收邮件服务器请求发送邮件服务器使用加密的传输层安全性(TLS)连接时,邮件服务器之间的邮件传输才受到保护。如图1所示。
图1 —尽管与传统的未加密SMTP连接相比,STARTTLS被认为是一种改进,但仍使电子邮件传输容易受到风险的影响。
尽管STARTTLS可以对邮件传输进行加密,但是不会强制执行加密,并且发送邮件服务器不会对接收邮件服务器进行身份验证。这导致以下风险。
风险1:STRIPTLS /降级攻击
首先,发送邮件服务器无法预先确定接收服务器是否支持加密传输。仅在通信开始之后,发送服务器才可以从接收服务器支持的功能(在本例中为STARTTLS)中学习允许加密传输的功能。
结果,从一台邮件服务器到另一台邮件服务器的初始连接总是开始未加密,从而使其容易受到中间人(MITM)攻击。如果邮件服务器在SMTP握手期间不提供“ STARTTLS功能”(因为它已被攻击者剥离),则邮件传输将通过未加密的连接进行。
图2-此图显示了攻击者执行MITM攻击并通过从接收电子邮件服务器中剥离TLS功能来强制建立不安全的连接时会发生的情况。当攻击者控制发送服务器和接收服务器之间的网络通信时,攻击者可能会通过删除指示接收服务器支持加密传输的信息来降级会话。发送服务器将继续处理并传输未加密的消息,从而使攻击者可以看到消息中包含的所有数据。
风险2:将邮件流量转移到攻击者的邮件服务器
其次,默认情况下,邮件服务器不会验证其他邮件服务器证书的真实性;接受任何随机证书。尽管传统上认为邮件的传递比邮件的安全性更为重要,但从技术角度来看,尚不清楚要在证书中验证哪些名称。
邮件服务器的主机名是通过DNS邮件交换器(MX)查找获得的,但是如果没有DNSSEC,这些名称将无法被信任。结果,攻击者可以将任何随机证书插入连接过程。
图3 —该图显示了攻击者执行MITM攻击并将其自己的证书插入连接过程时会发生什么。这使攻击者可以解密发送和接收邮件服务器之间的通信。
需要更安全的邮件传输
据知名网络黑客安全专家,东方联盟创始人郭盛华的研究和事件表明,这些攻击不是理论上的,而是在日常实践中发生的,从而导致信息泄漏。我们需要一种更安全的邮件传输方法,以抵消攻击者推迟和/或篡改邮件传输的企图。这是DANE for SMTP出现的地方。
DANE for SMTP(RFC 7672)使用DNS TLSA资源记录的存在来安全地发出TLS支持信号,并发布发送邮件服务器可以成功验证合法接收邮件服务器的方式。这使安全连接可以抵抗降级和MITM攻击。
可以使用DANE减轻先前描述的带有机会性TLS的SMTP的风险。如图4所示,该图显示了使用DANE进行邮件传输。
图4-此图显示了接收域的邮件服务器的DNS TLSA记录的存在被发送邮件服务器解释为使用TLS的功能。因此,在与接收域的邮件服务器进行通信时,可以强制使用TLS。TLSA记录中嵌入的指纹可用于验证接收邮件服务器的证书。因此,在发送方进行DANE验证的情况下,具有已发布TLSA记录的接收服务器不再容易受到上述MITM攻击。
使用DANE时,最好的做法是在证书未通过验证时,发送邮件服务器中止连接并尝试另一台服务器或推迟发送消息。
对于那些想将MTA-STS替代DANE的人来说:这种相对较新的方法似乎最适合大型云邮件提供商,没有像DANE那样被广泛采用,并且由于“首先信任” 而被认为不如DANE安全。使用和缓存,这在RFC 8461中得到了认可。但是,您可以在DANE旁边使用它,因为两个标准可以有意地彼此并存。
实施DANE的提示和技巧
如果您打算实施DANE,请参考以下提示和技巧。
入门
首先在您的MX域上发布DANE记录,或要求您的邮件提供商这样做。
下一步是在您的发送邮件服务器上启用DANE验证(或要求您的提供商/供应商启用或实现它)。我们的方法可能对这些步骤有用。
注意:DANE向后兼容。因此,如果您的邮件服务器支持DANE而连接的邮件服务器尚不支持DANE,则通常仍将使用STARTTLS或纯文本。
发布DANE记录
验证DANE记录
欢迎转载分享