域名与 DNS 是官网上游,不是建站交付的赠品。像素科学(Pixscience)2014 年起在上海为长三角制造、生物医药与出海品牌交付企业官网,12 年交付里最常见的单点故障不在服务器、不在代码,而在一个没人负责的注册商账号:域名以服务商或某位离职员工的名义注册,注册邮箱挂在这个域名自己的邮箱上,NS 指向一台早已不续费的免费解析,任何一次到期、任何一次钓鱼,都能让整站瞬间消失,而恢复权限的路径恰好被同一个故障一起切断。这类故障的诊断不看日志、不看代码,只看五件事:谁持有、谁解锁、解析在哪、DNSSEC 是否自洽、邮件认证是否成立。六步接管治理做的事情是:把域名、解析、证书、邮箱四条控制链从「口头约定」搬进「企业名下 + 双人复核 + 可回滚变更」。
▲ 域名资产的四环控制链:账户 → 邮箱 → 解析 → 证书。断一环即全站失联,而能否十分钟内接回去,取决于这条链当初落在谁手里
官网出问题,第一反应通常是查服务器、查程序、查运营商。但真正让一家企业的官网在没有任何预警的情况下「整站消失」的,往往是一个从未被写进任何运维文档的账号——域名注册商后台的那一个。
一、故障现场:一次没有人「改过什么」的整站失联
故障通常以同一个句式开始:「我们什么都没动,早上打开就是这样了。」
打开控制台,服务器在跑,Nginx 进程正常,证书没到期,数据库连接正常,日志里没有任何 5xx 峰值——因为请求根本没到服务器。用户访问域名,解析指向一个陌生 IP;或者更糟,指向一个仿冒站点。这时候才有人想起:域名是五年前由一个已经离职的同事注册的,注册邮箱是 admin@公司域名——而那个邮箱的 MX 记录就架在这个域名上。
这就是域名故障最典型的形态:它的失败不是单点,而是「控制链上多个环节同时依赖同一个薄弱点」。注册邮箱依赖域名解析,域名解析依赖服务商账号,服务商账号密码在离职员工的旧手机短信里,续费提醒发到一个没人看的邮箱。四个环节互为前提,任意一个断掉,整条链一起死,而且找不到可以切入的入口。
按我们 12 年交付中反复出现的情形归纳,失控路径基本只有四条:
- 到期型:域名到期未续,进入赎回期(Redemption Grace Period),赎回费用从几十元变成数千元,且期间全站不可用;.cn 域名赎回窗口更短,逾期直接删除并进入公开释放流程。
- 账号型:注册商账号被钓鱼或撞库,攻击者改 NS 把流量整体切走。此类攻击不需要任何服务器权限,也不触发站内任何告警。
- 归属型:域名注册主体是服务商、个人或已注销的旧公司,企业需要用域名时才发现无法过户,或过户需要对方配合。
- 解析型:NS 指向免费 DNS 或某个已停止维护的自建 DNS,解析服务中断,权威服务器不可达,全网递归解析器统一返回 SERVFAIL。
四条路径的共同点:它们都不产生「网站错误」,只产生「网站不存在」。监控里显示的是解析失败,而解析失败的告警阈值通常被设成「连续 5 分钟」,也就是故障已经发生五分钟之后才开始响。
二、诊断树:五个信号,各自说明什么
域名诊断不需要登录服务器,全部动作在公网侧完成,十分钟内可以出结论。关键是把「能打开」和「所有权清晰」分开判断——前者是结果,后者才是资产状态。
| 诊断项 | 怎么看 | 健康值 | 异常意味着什么 |
|---|---|---|---|
| 注册商与到期日 | whois example.com / RDAP 查询 | 注册商为企业签约主体,到期日 ≥ 12 个月 | 主体是个人或第三方公司 → 归属风险;剩余不足 60 天 → 到期风险立即处理 |
| 转移锁与删除锁 | whois 中的状态字段 | clientTransferProhibited 常开;高价值域名加注册局锁(serverTransferProhibited / serverDeleteProhibited) | 无锁 → 一次后台误操作或被入侵即可转走,转出后原持有人无法单方面取回 |
| 注册邮箱独立性 | 核对 WHOIS 邮箱与域名 MX 记录 | 注册邮箱不依赖本域名解析(用另一域名或独立邮箱服务) | 邮箱挂在本域名上 → 域名一失效,找回密码的验证邮件同时失效,形成死锁 |
| 权威解析与一致性 | dig NS example.com、dig +trace、多递归器交叉查询 | NS 指向企业可控的托管 DNS,全网解析结果一致 | NS 指向个人免费解析或不明服务商 → 解析型故障;多地结果不一致 → 缓存投毒或分区不同步 |
| DNSSEC 与 CAA 状态 | dig DS、dig DNSKEY、dig CAA | DS 与 DNSKEY 自洽;CAA 只授权实际使用的 CA | 有 DS 无对应 DNSKEY(或反之)→ 全网 SERVFAIL;CAA 缺失 → 任何 CA 都可为该域签发证书 |
第五项最容易被跳过,也最容易造成「越修越坏」。DNSSEC 的信任链是自上而下的:注册局持有 DS,权威服务器持有 DNSKEY,两者必须成对。换 DNS 服务商时若只改 NS 不撤 DS,新权威服务器没有对应密钥,所有递归解析器都会返回 SERVFAIL——表现是「域名解析不存在」,比不改还严重。
域名失控从来不是技术问题,而是所有权与变更权没有被写清楚。技术只是让这个漏洞以「整站消失」的形式显性化。
三、六步接管:把口头约定变成可审计的资产
接管治理的目标不是「把域名迁到我们名下」,而是「迁到企业自己名下、由企业自己掌握变更权、有明确的第二人复核」。服务商代持域名在交付期看着省事,在合作终止、人员变动、公司重组这三个时刻都会变成最贵的一笔账。以下六步按依赖顺序排列,前三步只在文档和账号层面完成,后三步才动解析。
- 资产盘点,先做一张表把域名、子域名、证书、企业邮箱、DNS 托管商、注册商账号、续费方式逐行列出,标注持有人、注册邮箱、到期日、责任人。这张表是后续所有动作的唯一事实来源;填不出来的格子,就是当前的真实风险点。
- 控制权回收,账号先于域名注册商账号改为企业主体持有,绑定企业域名的管理邮箱(且该邮箱不依赖本域名解析),开启双因素认证,移除所有离职人员与外包方权限。先回收账号再谈过户,否则过户完成后控制权仍在别人手里。
- 打开锁,并区分两种锁注册商锁(clientTransferProhibited)挡住误转出与大部分自动化攻击;注册局锁(Registry Lock)需要注册商人工核验身份才能解锁,能挡住账号被入侵后的转出。前者免费常开,后者按年付费,主品牌域名值得上。
- 解析迁到可控的托管 DNS导出完整 zone 文件存档,再逐条在新托管商重建,不靠「记忆 + 后台截图」。迁移前 24~48 小时把 TTL 降到 300 秒,切换后确认多地解析一致,再恢复常规 TTL。全程保留旧解析可回切,回滚窗口不少于 72 小时。
- 补齐 DNSSEC 与 CAA先确认权威服务器已正确签名并输出 DNSKEY,再在注册商处提交 DS;换服务商时顺序相反:先撤 DS,等旧 DS 从缓存中过期,再改 NS。CAA 只授权实际使用的 CA(例如
issue "letsencrypt.org"),并单独声明issuewild,防止任何 CA 被说服签发通配证书。 - 变更管理与季度演练所有解析变更走「工单 + 双人复核 + 变更窗口」,禁止在周五下午或大促前改 NS。每季度做一次演练:从 zone 备份在新环境恢复一次解析、模拟一次注册商账号找回、核对一次证书 CT 日志中是否出现未授权签发。演练不做的备份,等于没有备份。
四、两种资产形态:差的是四小时,不是四个字
把两种常见形态并排放,差别不在「有没有做防护」,而在故障发生时企业手上有没有可执行的动作。
企业持有 + 托管解析 + 双人复核
注册主体是企业工商全称,注册邮箱独立于本域名;注册商锁常开,主品牌域名加注册局锁。
解析托管在有 SLA 的商业 DNS,zone 文件本地留档;变更走工单,TTL 预降、可回切。
故障发生时:能自己在十分钟内改回解析,不需要等任何人回复。
服务商代持 + 免费解析 + 单人掌握
域名挂在服务商或前员工个人名下,注册邮箱是本域名的企业邮箱,续费靠对方提醒。
解析在免费 DNS 上,zone 只在对方电脑里;没有人知道现在有几条记录。
故障发生时:先找人、再找账号、再找回密码,每一步都可能卡在同一个失效的邮箱上。
这张对比里没有一项属于「高深技术」。全部是所有权、账号、文档、流程。它们之所以长期缺失,是因为域名在项目里被当成「一次性采购的耗材」,而不是「需要年度审计的基础设施」。一个直观的检验方法:现在让团队里任意两个人,不看资料,分别说出公司主域名的注册商、到期日和 NS 服务商。三个人三个答案,就是三次潜在的全站故障。
五、邮件认证:域名失控的第二张账单
域名不只承载网站。企业邮箱、对客报价、发票通知、Google 与百度的站长验证、各类 SaaS 的域名所有权校验,全部系在同一个域名上。域名侧的配置缺陷会以「邮件进垃圾箱」「客户收到冒充我们财务的汇款通知」的形式出现,而这类损失往往比掉站更贵,也更难追溯。
三件套的职责要分清:SPF 声明「哪些 IP 有权用这个域发信」,DKIM 用非对称签名证明「这封信确实由域持有人签发且未被篡改」,DMARC 则告诉接收方「当 SPF 与 DKIM 都不通过时你该怎么处理」,并把报告回传给你。三者缺一,前两项就只是建议,不是约束。
| 阶段 | 关键配置 | 验收信号 | 周期 |
|---|---|---|---|
| 第 1 阶段 · 只观测 | v=DMARC1; p=none; rua=mailto:dmarc@… | 聚合报告(RUA)开始到达,能列出所有发信源 | 2~4 周,覆盖月末对账与营销群发周期 |
| 第 2 阶段 · 隔离可疑 | p=quarantine; pct=25 起步,逐步到 100 | 合法邮件不进垃圾箱,伪造邮件被投递到隔离区 | 4~6 周,每升一档观察一周 |
| 第 3 阶段 · 拒绝 | p=reject; adkim=s; aspf=s | 对齐失败的伪造邮件在 SMTP 阶段被拒 | 长期维持,新增发信源前先回归第 1 阶段 |
| 持续项 · SPF 预算 | 统计 include/a/mx 的 DNS 查询次数 | 不超过 10 次,超限即 permerror(等于没有 SPF) | 每次新增第三方发信服务前核算 |
| 持续项 · 密钥与选择器 | DKIM 选择器 TXT 记录、密钥轮换记录 | 2048 位密钥,至少年度轮换,旧选择器保留一个周期 | 年度,或供应商变更时 |
推进顺序不能反。直接从 p=reject 起步是最常见的自伤:企业往往有若干个自己都忘了的发信源(旧 CRM、门禁系统、外包短信平台、财务软件),一次性拒绝会把它们全部打掉,表现为「客户收不到报价单」。先用 p=none 把发信源盘干净,再逐档收紧,是唯一稳妥的路径。SPF 的 10 次查询上限同理:每加一个 include 都在消耗预算,超限后记录整体失效,而失效是静默的。
六、迁移窗口:把「掉站四小时」压到「掉站零分钟」
域名迁移真正的技术含量不在操作,而在时间线。DNS 的传播不是「切换完成」,而是「旧答案在全球缓存里逐条过期」。理解这一点,迁移就变成一道算术题:先降 TTL,再等一个完整的旧 TTL 周期,然后切换,最后回切窗口保留到新解析被主要递归器确认。
| 时间点 | 动作 | 通过标准 |
|---|---|---|
| T-72h | 导出 zone 备份,新解析环境全量重建,逐条比对记录值 | 两份 zone 逐条一致;差异项有明确处置说明 |
| T-48h | 把 TTL 从 3600/86400 降到 300 | dig 确认权威与递归两侧均为 300 |
| T-2h | 核对证书覆盖域名、CAA 授权、DNSSEC 状态 | 证书 SAN 含新旧解析下的所有主机名;DS 与 DNSKEY 成对 |
| T-0 | 切换 NS(或迁移权威服务),双人复核后执行 | 多地 dig +trace 结果一致;核心页面 200 |
| T+1h | 业务侧回归:首页、列表、表单、邮件收发、站长验证 | 全链路可用;无证书告警 |
| T+72h | 确认无回切需求,恢复常规 TTL,归档变更记录 | 变更单关闭;zone 快照入库 |
还有两个只在真实迁移里才会遇到的坑。其一,MX 与 SPF 的连带效应:改 NS 时若新 zone 漏了 MX 记录,网站正常、邮件全断,而没人会立刻发现,直到第二天客户说「发你们的邮件退回了」。其二,国内域名的行政链条:.cn 域名要求实名认证,企业主体变更需要过户而非改联系人;备案主体、域名持有人、网站主办者三者不一致时,后续无论是备案变更还是证书签发都会卡住。这类行政问题没有技术捷径,只能提前一个月启动。
域名的可靠性不取决于它有多贵,而取决于「出问题时,企业自己能不能在十分钟内改回来」。
域名与解析属于入口层的基础设施,和官网改版时的搜索流量保障、多语言站点的语言与区域定向治理是同一类工作:都不产生可见的界面改版,却决定后面所有内容投入能不能被机器看见。而源码与资产的独占交付讨论的是交付物的另一半——域名控制权与源码所有权,缺任何一半,企业拿到的都只是一个「暂时能打开的页面」。
七、常见问题
- 域名现在挂在建站服务商名下,迁回企业要走哪些步骤?
- 先确认当前注册商与注册主体,再在企业名下开通同注册商账号(同注册商内部过户最快,通常只需双方确认,不影响解析)。跨注册商迁移则先取转移码(EPP/Auth Code),解除转移锁后发起转入,转移期间解析与网站不受影响。全过程不需要改 NS,也不需要停机;真正需要提前处理的只有两件事:域名是否在到期前 60 天内(部分注册局禁止临近到期的转移),以及注册邮箱是否可收信。
- 迁移 NS 会不会导致网站中断?
- 按 TTL 预降流程操作,中断可以做到零。关键顺序是:先在 T-48h 把 TTL 降到 300,等旧 TTL 完整过期,再切换 NS;切换前把新解析的每一条记录与旧 zone 逐条比对,尤其是 MX、TXT(SPF/DKIM/DMARC)、CNAME(验证与 CDN)这几类不显眼但影响面大的记录。若新环境验证不通过,把 NS 改回旧值即可在 5 分钟内恢复。
- DNSSEC 配错真的会让整个域名打不开吗?
- 会。DNSSEC 的信任链要求注册局的 DS 与权威服务器的 DNSKEY 成对匹配,任一缺失或不匹配,递归解析器会返回 SERVFAIL,浏览器表现为「找不到服务器」,而源站一切正常。所以换 DNS 服务商时的正确顺序是:先撤 DS,等旧 DS 从缓存过期,再改 NS,最后在新环境重新签名并提交新的 DS。反过来操作,故障范围是全站,不是部分页面。
- SPF 记录写多了会怎样?
- 超过 10 次 DNS 查询(include、a、mx、ptr、exists 各自计数)会返回 permerror,接收方视同「该域没有 SPF」,伪造邮件照常进入收件箱,而你以为自己已经配好了。每新增一个第三方发信服务前都应核算预算,能合并的合并,能用子域独立发信的(如 marketing.example.com)就拆到子域,别全压在主域一条记录上。
- 域名到期、赎回和删除的时间窗口是怎么算的?
- 以 .com 为例,到期后有约 30~45 天的宽限期(Grace Period),仍可正常续费;随后进入约 30 天的赎回期(Redemption Grace Period),需支付赎回费且期间解析通常已停止;赎回期结束后进入约 5 天的待删除期,然后公开释放。.cn 的窗口更短,通常没有赎回缓冲。真实的风险不在费用,而在「释放后被他人注册」——品牌域名一旦被抢注,追回成本远高于十年续费。
- 建站合同里应该怎么写域名与解析的归属?
- 至少写清四条:域名注册主体为企业工商全称、注册商账号由企业持有、解析 zone 文件在交付时以文件形式移交、续费与变更的责任人写在合同附件里。这四条不涉及价格,却决定了合作终止时企业能否带走自己的入口。源码与内容可以在合同里约定归属,域名不行——域名只能在注册局层面属于谁,就属于谁。
