重要提示:谷歌和雅虎将从 2024 年 4 月起要求使用 DMARC。
加密tls

邮件传输代理-严格的传输安全(MTA-STS

MTA-STS,就像它的名字一样,是一个能够在两个SMTP邮件服务器之间加密传输信息的协议。MTA-STS向发送服务器说明,邮件只能通过TLS加密连接发送,如果没有通过STARTTLS命令建立安全连接,则根本不应该被发送。通过加强电子邮件在传输过程中的安全性,MTA-STS有助于减轻中间人攻击(MITM),如SMTP降级攻击和DNS欺骗攻击。

MTA-STS如何确保对传输中的信息进行加密?

让我们举一个简单的例子来了解邮件流转过程中邮件是如何被加密的。如果一个MTA要发送一封邮件到 [email protected],MTA执行一个DNS查询,以找出该邮件必须发送到哪些MTA。发送DNS请求是为了获取powerdmarc.com的MX记录。发送的MTA随后连接到DNS查询结果中发现的接收MTA,询问该接收服务器是否支持TLS加密。如果支持,则通过加密连接发送电子邮件,然而,如果不支持,则发送MTA无法协商安全连接,并以明文发送电子邮件。

通过未加密的途径发送电子邮件,为MITM和SMTP降级等普遍的监控攻击铺平了道路。让我们来看看是怎么回事。

剖析MITM攻击的原理

从本质上讲,当攻击者替换或删除STARTTLS命令,使安全的连接回滚到不安全的连接,没有TLS加密时,就会发生MITM攻击。这被称为降级攻击。在成功执行降级攻击后,攻击者可以毫无障碍地访问和查看电子邮件内容。

MITM攻击者也可以用他们可以进入并控制的邮件服务器替换DNS查询响应中的MX记录。在这种情况下,邮件传输代理将电子邮件传送到攻击者的服务器上,使他能够访问和篡改电子邮件的内容。该邮件随后可以被转发到预定收件人的服务器,而不被发现。这就是所谓的DNS欺骗攻击。

SMTP降级攻击

确保用MTA-STS进行加密

每当你使用Gmail或微软等电子邮件服务提供商的SMTP服务器发送电子邮件时,电子邮件是通过简单邮件传输协议(SMTP)从发送服务器传输到接收服务器。然而,SMTP允许机会性加密,这意味着SMTP服务器之间的通信可能会也可能不会被加密,以避免对电子邮件内容的操纵或窃听。MTA-STS使用HTTPS发布,保护其免受MITM攻击。

MTA-STS通过以下方式确保电子邮件的交付。 

  • 强制执行TLS加密

  • 从一个HTTPS安全的服务器上提供MX记录

托管的MTA STS服务
主办的MTA STS

MTA-STS协议的部署是通过一个DNS记录,指定邮件服务器可以从一个特定的子域获取策略文件。这个策略文件是通过HTTPS获取的,并通过证书验证,同时还有收件人的邮件服务器的名字列表。该协议向SMTP服务器指定,与其他SMTP服务器的通信必须是加密的,而且证书上的域名应该与策略文件的域名相匹配。如果MTA-STS被强制执行,在无法协商出加密通道的情况下,信息根本不会被传递。

MTA-STS政策文件

MTA-STS策略文件本质上是一个简单的文本文件,它看起来像下面这样。

版本。STSv1
模式: 强制执行
mx: mx1.powerdmarc.com
mx: mx2.powerdmarc.com
mx: mx3.powerdmarc.com
max_age:604800

注意: 版本字段必须包含在文本文件的开头,而其他字段可以按任何顺序纳入。

该策略文件使用键值配对,每个值都在文本文件中的单独一行中编码,如上图所示。这个文件的大小可以扩展到64KB。策略文件的名称必须是 mta-sts.txt。 每次你在你的域中添加或改变邮件服务器时,策略文件都需要更新。

注意:在强制模式下设置MTA-STS,可能会导致一些邮件无法投递给你。因此,建议将策略模式设置为测试模式,并选择一个较低的max_age,以确保在转移到强制策略之前,一切工作正常。我们建议在测试模式下为你的策略设置TLS-RPT,以便在邮件以明文形式发送时获得通知。 

MTA-STS 政策

发布MTA-STS策略文件

为了发布MTA-STS策略文件,托管你的文件的网络服务器必须。

  • 支持HTTPS/SSL
  • 服务器证书必须由第三方根证书机构签署和验证。

为了发布你的域名的策略文件,你应该建立一个公共网络服务器,在你的域名中添加子域 "mta-sts"。创建的策略文件必须发布在子域中创建的.知名目录中。你上传的MTA-STS策略文件的URL可能看起来像这样。

https://mta-sts.powerdmarc.com/.well-known/mta-sts.txt

主办的MTA STS

MTA-STS的DNS记录

MTA-STS的TXT DNS记录发布在你的域名的DNS上,以指定你的域名支持MTA-STS协议,并在策略被改变的情况下为刷新MTA中的缓存值发出信号。MTA-STS的DNS记录被放置在子域 _mta-sts 如中。 _mta-sts.powerdmarc.com。TXT记录必须以v=STSv1开始,并且 "id"值最多可包含32个字母数字字符,以下列方式包含。

 v=STSv1; id=30271001S00T000。

注意:每次你对政策进行修改时,TXT记录id值必须更新为一个新值。 

MTA-STS的DNS记录是用来。 

  • 指定对域的MTA-STS的支持
  • 发出信号,让MTA通过HTTPS重新获取政策,以防政策被改变。

请注意,有了MTA-STS TXT DNS记录,策略文件可以被MTA存储更长的时间,而不必重新获取策略,除非它被改变了,同时每次收到该域名的电子邮件时仍会进行DNS查询。

为您的域名配置MTA-STS

为了给你的域名启用MTA-STS,你需要:。

  • 添加一个cname类型的DNS记录在 mta-sts.example.com的位置,指向托管MTA-STS策略文件的启用HTTPS的网络服务器。

  • 添加一个txt或cname类型的DNS记录在 _mta-sts.example.com 添加一条txt或cname类型的DNS记录,指定对你的域名支持MTA-STS。

  • 设置一个启用HTTPS的网络服务器,并为你的域名提供有效的证书。

  • 为你的域名启用SMTP TLS报告,以检测由于TLS加密失败而导致的电子邮件交付问题。

spf记录查询图标powerdmarc

手动部署MTA-STS时面临的挑战

MTA-STS需要一个具有有效证书的HTTPS网络服务器、DNS记录和持续的维护,这使得部署过程变得冗长、费时和复杂。这就是为什么我们PowerDMARC只需在你的域名的DNS中发布三条CNAME记录,就能帮助你在后台管理大部分事情。

PowerDMARC的托管MTA-STS服务

PowerDMARC通过完全在后台为您处理这一切,使您的生活变得更加轻松。一旦我们帮你设置好了,你甚至都不用再去想它了。

  • 我们只需点击几下就能帮助你发布你的cname记录

  • 我们承担维护网络服务器和托管证书的责任

  • 通过我们的托管MTA-STS服务,您的部署只需简单地发布几条DNS记录即可。

  • 你可以通过PowerDMARC仪表板即时、轻松地进行MTA-STS策略更改,而无需手动对DNS进行更改。

  • PowerDMARC的托管MTA-STS服务符合RFC标准并支持最新的TLS标准。

  • 从生成证书和MTA-STS政策文件到政策执行,我们帮助你规避采用该协议所涉及的巨大的复杂性。

SMTP TLS报告(TLS-RPT)。

为了使两个通信的SMTP服务器之间的连接更加安全,并通过TLS进行加密,MTA-STS被引入,以执行加密并防止邮件以明文形式交付,如果其中一个服务器不支持TLS的话。然而,有一个问题仍然没有得到解决,那就是。如果远程服务器由于TLS加密失败而面临邮件发送问题,如何通知域名所有者?这就是TLS-RPT发挥作用的地方,它提供诊断报告,以便对服务器通信中的问题进行监控和故障排除,如过期的TLS证书,电子邮件服务器的错误配置,或由于缺乏对TLS加密的支持而导致的安全连接协商失败。

TLS报告通过JSON文件形式的报告机制,帮助检测和应对电子邮件交付中的问题。这些JSON文件可能很复杂,对于非技术人员来说,是无法解读的。

PowerDMARC帮助简化JSON文件,以简单.全面和可读的文件形式,并配有图表和表格,为您提供方便。你的领域的诊断报告也以两种格式显示在PowerDMARC仪表板上:每个结果和每个发送源。

权力的马克 TLS RPT
json图表

为您的域名启用TLS-RPT

启用SMTP TLS报告的过程非常简单。你所需要做的就是在正确的位置添加一个TXT DNS记录,前缀为 _smtp._tls。 到你的域名。然而,有了PowerDMARC,这可以直接从PowerDMARC用户界面进行设置,而不需要对您的DNS进行任何修改

一旦你启用TLS-RPT,默许的邮件传输代理将开始发送关于通信服务器之间的电子邮件交付问题的诊断报告到指定的电子邮件域。这些报告通常每天发送一次,涵盖并传达发件人观察到的MTA-STS策略、流量统计以及电子邮件交付失败或问题的信息。

常见问题

PowerDMARC的控制面板允许你通过在域名的DNS中发布三条CNAME记录,为你的域名自动设置MTA-STS和TLS-RPT。从托管MTAS-STS策略文件和证书到维护网络服务器,我们都在后台进行处理,而不需要你对你的DNS做任何改动。使用PowerDMARC部署MTA-STS,您只需点击几下就可以了。

你可以从你的PowerDMARC账户中,通过一个单一的玻璃窗,为你的所有域名部署和管理MTA-STS。如果这些域使用的接收邮件服务器不支持STARTTLS,只要你为这些域启用了TLS-RPT,它就会反映在你的TLS报告中。

建议将你的MTA-STS策略模式设置为 测试这样你就可以监测活动,并在转向更积极的策略(如强制)之前获得对你的电子邮件生态系统的可见性。这样一来,即使电子邮件没有通过TLS加密连接发送,也会以明文形式发送。 然而,请确保你启用TLS-RPT,以便在发生这种情况时得到通知。

TLS-RPT是一个广泛的报告机制,允许你在安全连接无法建立和电子邮件无法交付给你的情况下获得通知。这可以帮助你发现电子邮件交付中的问题或通过不安全的连接交付的电子邮件,以便你可以及时缓解和解决这些问题。

你必须注意,虽然MTA-STS确保电子邮件是通过TLS加密连接传输的,但如果没有协商好安全连接,电子邮件可能根本无法交付。然而,这是必要的,因为它可以确保电子邮件不会通过未加密的途径传递。为了避免这样的问题,建议在测试模式下设置MTA-STS策略,在进入MTA-STS强制模式之前,首先为你的域名启用TLS-RPT。 

你可以在PowerMTA-STS仪表板上轻松改变你的MTA-STS模式,选择你所需要的策略模式并保存更改,而不需要对你的DNS做任何改变。

你可以关闭你的域名的MTA-STS,方法是将策略模式设置为无,从而向MTA指定你的域名不支持该协议,或者删除你的MTA-STS DNS TXT记录。 

MTA-STS策略文件的MX记录应该包括你的域名所使用的所有接收邮件服务器的条目。

今天安排一个演示
安全的电子邮件 powerdmarc