亚马逊AWS官方博客

针对 Amazon CloudFront 请求的增强域保护

在未来几周,我们将为 Amazon CloudFront 添加增强的域保护功能。简单说明如下:新的措施旨在确保 CloudFront 处理的请求是代表合法的域所有者处理的。

使用 CloudFront 接收您未获授权使用的域流量已经违反了 AWS 服务条款。在注意到此类活动后,我们会通过在后台禁用存在滥用行为的账户予以处理。现在,我们也会将检查直接集成到 CloudFront API 和内容分发服务之中。

针对悬挂的 DNS 条目的增强保护
要将 CloudFront 与您的域一起使用,您必须将域配置为指向 CloudFront。您可以使用传统 CNAME,也可以使用 Amazon Route 53“别名”记录。

如果您删除 CloudFront 分配,但 DNS 仍然指向 CloudFront,则可能会出现问题,这种问题通常称为“悬挂的”DNS 条目。幸运的是,这种情况非常罕见,因为此类域已不再有效,但我们偶尔会看到客户任由其旧域处于休眠状态。如果您将这种“悬挂”的 DNS 条目指向不再由您控制的其他基础设施,也会发生这种情况。例如,如果您将域指向并非由您控制的 IP 地址,则可能存在这样的风险:有人冒名顶替,“认领”本应以您的域为目标的流量。

在更为罕见的情况下,滥用者可能会利用您所使用的域的子域。例如,如果客户将“images.example.com”保留为悬挂状态,并指向已不再使用的已删除 CloudFront 分配,但仍然在使用父域“example.com”,那么滥用者可能会冒名注册“images.example.com”,作为其自己的分配的替代名称,并“认领”他们原本无权获得的流量。这也意味着也许会为其中可能包含父域的 HTTP 流量设置和拦截 Cookie。如果您删除了与原始 CloudFront 分配关联的证书,HTTPS 流量仍然会受到保护。

当然,对于这种类型的风险来说,最好的解决办法首先就是不要留下悬挂的 DNS 条目。在 2018 年 2 月初,我们为系统添加了一个新警告。通过此警告,如果您从分配中删除替代域名,则系统会提醒您删除可能仍指向 CloudFront 的所有 DNS 条目。

我们还在 CloudFront API 中设置了长期检查,确保您在使用通配符域时不会出现这种域认领。如果您尝试将 *.example.com 添加到您的 CloudFront 分配中,但另一个账户已经注册了 www.example.com,则您的添加尝试将会失败。

借助新的增强域保护,CloudFront 现在还会在您删除替代域时检查 DNS。如果我们确定该域仍指向您的 CloudFront 分配,API 调用将会失败,并且将来不会再有其他账户可以认领此流量。

针对域前置的增强保护
CloudFront 还会在不久之后实施针对所谓“域前置”的增强保护。域前置是指非标准客户端与某个特定名称建立 TLS/SSL 连接,然后向不相关名称发出 HTTPS 请求。例如,TLS 连接可能会连接到“www.example.com”,但会针对“www.example.org”发出请求。

在某些情况下,这很正常而且符合预期。例如,浏览器可以针对同一 SSL 证书中列出的任何域重用持久连接,这些域将被视为相关域。但在其他情况下,包括恶意软件在内的各种工具可以在完全不相关的域之间利用这种技术,规避可能在 TLS/SSL 层实施的限制和拦截。

需要明确的是,这种技术不能用于模拟域。客户端是非标准的,会绕过普通客户端利用的普通 TLS/SSL 检查。但显然,没有客户希望发现自己的普通域无故被人冒认。尽管这些情况均已按照违反 AWS 服务条款得到处理,但在未来几周内,我们将检查拥有我们为特定连接提供的证书的账户,确保其始终与拥有我们在该连接上所处理的请求的账户相匹配。一如既往,我们视客户安全为头等大事,并将继续提供增强保护,防止不相关方造成的错误配置和滥用。

对其他 AWS 安全性方面的新闻感兴趣?在 Twitter 上关注 AWS 安全性方面的博客。