gmail或yahoomail之类的邮件服务是否有任何安全原因限制文件附件的大小?

信息安全 电子邮件 邮箱
2021-08-27 07:55:50

尽管 MIME 等电子邮件标准没有指定任何文件大小限制,但实际上电子邮件用户会发现他们无法发送非常大的文件(超过 20 或 25 MB)。

一些专家说,“您可以在任何电子邮件提供商之间安全地发送高达 10MB 的文件,而不必担心无法传递消息

我还听说,通过 Internet,一条消息通常会通过多个邮件传输代理到达收件人。其中每一个都必须在转发之前存储消息,因此可能需要施加大小限制

根据上述,我有三个问题,有一个方向:

  1. 为什么邮件传输代理需要施加大小限制?
  2. 这个限制有什么安全原因吗?
  3. 为什么到现在还没有超过 25 MB 的限制?

评论:使用 MIME,消息及其所有附件都封装在单个多部分消息中,使用 base64 编码将二进制转换为 7 位 ASCII - 或在运行扩展 SMTP 的现代邮件服务器上,可选择通过 8BITMIME 提供完整的 8 位支持扩展名。通常使用 Base64 的 MIME 编码增加了约 33% 的开销

更新:我认为原因不仅仅是为了减轻 DoS 攻击,因为:

攻击者不能用一个文件进行攻击!所以他需要足够的电子邮件传输,如果他有一个机制来执行他对许多电子邮件的攻击,并且他面临着文件限制,而不是发送 10000 封 50MB 的电子邮件,他执行 20000 封电子邮件和 25MB 大小的攻击。(例如)

3个回答

MTA 经常进行病毒扫描、DLP 扫描或执行其他需要 CPU 时间的扫描。有时 MTA 位于带宽受限的网络链路上。

Base64 编码使消息的二进制大小膨胀了 33%,这增加了磁盘和网络的压力。

超过这些限制将导致对 MTA 的拒绝服务攻击,甚至在 NDR 返回消息的情况下对主机本身进行攻击。

我可以想到以下限制原因:

  • 流量,邮件服务器很多时候都很忙(占用带宽)。并且大部分邮件都是垃圾邮件......大小限制也将垃圾邮件大小限制在该限制范围内。

  • 磁盘大小,链中的每个邮件服务器都必须能够存储消息,邮件大小越大,所有节点上的“缓存”就越大。10k 用户平均有 100 封邮件,如果邮件不是 BASE64 编码,那么它们已经达到 10 000 x 100 x 25 Mb = 25 000 000 Mb 或 25 TB 的存储空间(这增加了大约 1/3 到总计)标题信息(增加 10% 开销和日志记录),最终得到 25TB *1 1/3 * 1.1 = 36.67 TB 现在大多数人每个用户存储超过 100 封邮件,而 10k 用户用于邮件公司而不是巨额了。

  • 拒绝使用,邮件服务器通常只有 3 个传递端口(2 个用于用户,1 个用于服务器),这意味着许多人连接很长时间(大电子邮件和许多用户/来源)你用完了端口。执行 DoS。限制邮件大小通过限制“正常”传输的 pert 连接的位数来提供一种缓解形式。

  • 需要,对大于 25 MB 的邮件消息没有“全局”需求(限制是任意选择的)

  • 熵耗尽(不再那么常见) 安全连接会耗尽内核熵池。如今,大多数内核都有防止这成为真正问题的方法,或者可以将随机芯片添加到服务器中。

邮件大小限制是控制邮箱大小、保证服务可用性以及防止潜在 DoS 攻击的重要机制。