Defaults.Exposed › 设置 › DNSSEC
如何在 Cloudflare 上设置 DNSSEC
在 Cloudflare 中开启 DNSSEC,并在注册商处添加 DS 记录,让任何人都无法伪造你的 DNS 应答。
这对你的业务意味着什么
当有人输入你的域名或给你发邮件时,他们的电脑会向 DNS 系统询问正确的地址。这些应答通常未经签名传输,这意味着能够篡改它们的攻击者可以悄悄把你的访客引向假冒网站,或把你的邮件改道到他自己的服务器上。在整个过程中,你的客户在地址栏里看到的都是你真实的域名。
DNSSEC 弥合了这道缺口。它用密码学方式为你的 DNS 应答签名,于是查询你的人能够证明应答确实来自你、且在途中未被改动。说得直白一点:它能阻止犯罪分子劫持你的域名、或对那些把人们引向你的查询投毒。它免费,而且是你能为这一切赖以建立的根基开启的最强保护之一。
DNSSEC 究竟是怎么运作的(这样后面的步骤才好理解)
DNSSEC 有两半,分别存在于两个地方:
- 你的 DNS 托管方(Cloudflare)为你的记录签名,并发布公钥(一条 DNSKEY)以及一个被称为 DS 记录的小型指纹。
- 你的注册商(你购买并续费域名的地方)把那条 DS 记录向上发布到父级区域(例如
.com)。
注册商处的 DS 记录是信任链上的那一环。Cloudflare 可以一直签名,但在匹配的 DS 记录登记到你注册商之前,更广阔的互联网没有经过签名的途径去信任这些签名。所以这项工作分两步:在 Cloudflare 里开启它,然后把 DS 记录交给你的注册商。
真正的风险——请谨慎操作
做错时,DNSSEC 可能让你的整个域名下线。导致这种情况的两种方式:
- 在注册商处发布的 DS 记录与你 DNS 托管方实际签名所用的不匹配。
- 把 DNS 迁往另一家托管方(或关闭 Cloudflare)时,没有先在注册商处移除 DS 记录——旧的 DS 记录会继续索要早已不存在的签名,于是查询开始失败。
只要你按下面的流程依序操作,并且在 Cloudflare 仍是你的签名托管方期间绝不删除注册商处的 DS 记录,这两种情况都不会发生。如果你打算离开 Cloudflare,请先关闭 DNSSEC 并在注册商处移除 DS 记录,再迁移。
先确认 Cloudflare 在为你解析 DNS
这只有在 Cloudflare 负责回应你域名的 DNS 时才有效。Cloudflare 是你的 DNS 托管方,不一定是你购买域名的那家公司。只有当你域名的**域名服务器(nameservers)**指向控制台中显示的 Cloudflare 域名服务器时,Cloudflare 的 DNS 才会生效。在 Cloudflare 中打开你的域名,查看 Overview 页面以确认 Cloudflare 处于激活状态。如果你的域名服务器指向别处,请到真正负责你 DNS 的服务商那里启用 DNSSEC。
Cloudflare 上的操作步骤
- 登录 Cloudflare,选择你的域名。
- 在左侧菜单中进入 DNS,再到 Settings(较旧的控制台会在 DNS 下直接显示 DNSSEC 区域)。
- 找到 DNSSEC,点击 Enable DNSSEC。
- Cloudflare 会显示一组值——其中关键的是 DS 记录。你通常会看到诸如 Key Tag、Algorithm、Digest Type、Digest 等字段,以及一条现成的单行 DS 记录。让这个面板保持打开;你需要把这些复制到注册商。
- 现在登录你的注册商(你为域名续费的那家公司——它可能是、也可能不是 Cloudflare)。
- 在注册商处找到你域名的 DNSSEC 或 DS 记录区域,用 Cloudflare 给你的确切值添加一条新的 DS 记录:
- Key Tag — Cloudflare 显示的那个数字。
- Algorithm — 通常是
13(ECDSA P-256 SHA-256)。 - Digest Type — 通常是
2(SHA-256)。 - Digest — 那一长串十六进制字符串,原样复制。
- 在注册商处保存。如果你的注册商允许你粘贴一条合并好的单行 DS 记录而非分开填写,请使用 Cloudflare 显示的完整 DS 行。
- 回到 Cloudflare,一旦注册商接受了 DS 记录,Cloudflare 的 DNSSEC 状态就会转为 active(这可能需要一点时间才能确认)。
Cloudflare 上人们常踩的坑
- 是两个系统,不是一个。 仅在 Cloudflare 里启用 DNSSEC 本身什么也不做——DS 记录还必须登记到你的注册商。人们在第 3 步之后就停下,然后纳闷为什么它始终不变 active。
- 原样复制 digest。 Digest 里哪怕错一位或漏一个字符,注册商的 DS 记录就会与 Cloudflare 的签名不匹配,而这正是导致域名下线的那种配置错误。请复制粘贴,绝不要手敲。
- 算法和摘要类型的数字要对上。 如果你的注册商要求分开填写这些,请使用 Cloudflare 显示的值——不要猜。
- 如果 Cloudflare 同时也是你的注册商,DS 这一步会在内部处理,你可能看不到单独的注册商表单——但在认定完成之前,请确认 DNSSEC 显示为 active。
- Cloudflare 仍在签名时,绝不要移除 DS 记录。 而且如果你要把 DNS 从 Cloudflare 迁走,请在迁移前先关闭 DNSSEC 并在注册商处清除 DS 记录。
- 给它一点时间。 DNSSEC 变更完全传播并显示为 active 需要几分钟到一天不等。
验证是否生效
当 Cloudflare 中 DNSSEC 显示为 active、且注册商处 DS 记录已就位后,运行本站的免费检测。它会用通俗的语言告诉你 DNSSEC 是否已正确发布并对你的域名受信。
完成了? 免费检查您的域名 以确认设置已生效——并查看您在全部 34 项检查中的完整评级。