2

在 ACM 中,我总是必须注册 ACM 提供的 CNAME 记录。它说它使用此 CNAME 记录检查域所有权,但它实际上如何检查我在 ACM 中指定的域是否实际上归我所有?任何解释都会很棒!

4

2 回答 2

1

简而言之,证书颁发机构(例如 ACM)将尝试通过公共 DNS 为您的域解析 CNAME 记录。之后,它将从 DNS 检索到的值与其内部存储的值(即发送给您的值)进行比较。如果它们匹配,则验证您的域。

用外行的话来说,它会告诉你一个秘密,然后要求你把这个秘密展示在你家的窗户上。之后,它会通过您的窗口来检查显示的秘密是否正确。如果是,则意味着您拥有房屋(或至少可以使用房屋)。

最好的,斯特凡

于 2021-06-25T08:38:15.793 回答
1

luk2302 已经在评论中解释了这个想法,我会详细说明一下。

正如您正确观察到的,ACM 可以使用 DNS 验证来确认特定域的所有权。在这种情况下,所有权大致定义为“对官方 DNS 记录进行更改的能力”,因此它更像是控制权,而不是技术上的所有权。

您如何检查是否有人能够控制域?

您要求他们在包含您创建的值的域上设置一些记录,然后检查这些记录是否存在。如果他们这样做,他们就控制了域。

为什么这行得通?

DNS 是一个分层的分布式数据库。像这样的 DNS 记录stackoverflow.com.(最后一个点是有意的,但通常省略)由从右到左读取的多个级别组成。.右侧的 表示根区域。根区域包含直接位于其下方的所有记录,即所谓的顶级域 (TLD) .com,例如.net.org. TLD背后的名称服务器.com保存其正下方的所有记录,因此他们知道谁控制stackoverflow.com..

如果您从层次结构的顶部开始,一直到底部,您会发现哪些服务器拥有一个域。

您可以设置自己的 DNS 服务器并创建记录stackoverflow.com,但没有人会与它交谈并明确查询它,因为它不是层次结构的一部分。您可以将本地 DNS 解析器配置为与您自己的 DNS 服务器通信,但亚马逊(验证所有权)不会这样做。

于 2021-06-25T08:40:32.593 回答