Caloogy 文章
English

DNS 与域名劫持

日期
2025 年 4 月 30 日
系列
基础设施
阅读
3 分钟
主题
InfraDnsDomain hijackingRegistrar

一句话版本

用户访问一个网站,第一步是通过 DNS 把域名翻译成服务器地址。谁控制了这一步,谁就能把用户带到任何地方:服务器、代码、证书全都没被攻破,用户却打开了一个假网站。 劫持的方式有三类:攻破域名注册商账号(改掉域名服务器)、攻破 DNS 服务商账号(改掉解析记录)、子域名接管(你的某条记录指向了一个已经不属于你的云资源)。对 DeFi 网站来说,这意味着用户在"官方网址"上签下了恶意交易。

全文分三层:

  1. 通俗理解:改了路牌
  2. 实际用处:DeFi 前端被劫持事件、子域名接管
  3. 原理与工程要点:DNS 的信任链、注册商锁、DNSSEC、CAA、监控

第一层:通俗理解

1.1 改了路牌

你每天开车去同一家银行。某天有人把路口的路牌改了,指向另一栋装修得一模一样的楼。你照常走进去,存了钱。

银行本身完好无损,但你的钱没了。DNS 就是互联网的路牌。

1.2 谁能改路牌

层级 谁控制 被攻破的后果
域名注册商 你在哪里买的域名 可以把整个域名的 DNS 服务器换成攻击者的
DNS 服务商 托管解析记录的平台 可以修改任意一条记录
解析记录本身 你自己配置的记录 如果指向的资源已不属于你,别人可以"认领"它

第二层:实际用处

DNS 劫持的特别危险之处在于:攻击者还可以为被劫持的域名申请合法的 HTTPS 证书(证书机构通过 DNS 或 HTTP 验证域名控制权),所以浏览器地址栏里的小锁照样显示。


第三层:原理与工程要点

3.1 保护注册商账号

措施 说明
强两步验证 最好是 passkey 或硬件密钥(见《Passkey与防钓鱼》)
注册商锁 禁止转移和修改域名服务器
注册局锁(registry lock) 更高一级:任何修改都需要注册局人工核实,适合高价值域名
联系邮箱 用于域名的管理邮箱不要用同一个域名下的地址(否则域名丢了,邮箱也丢了)
续费 开启自动续费,避免过期后被抢注

3.2 保护 DNS 记录

3.3 防子域名接管

3.4 监控

监控什么 为什么
域名的 NS 记录和关键 A / CNAME 记录 一变就告警
证书透明度日志 发现意外签发的证书
从外部定期访问网站并比对内容哈希 即使 DNS 被改,也能发现用户看到的内容不对(见《Bybit事件与前端完整性》)

3.5 对用户的建议


总结

层次 要点
直觉 改了路牌,银行完好,人却走进了假楼
三类 注册商账号、DNS 服务商账号、子域名接管
防护 强两步验证 + 注册商 / 注册局锁;CAA;证书透明度监控
局限 DNSSEC 防不了账号被盗;被劫持后攻击者仍能拿到合法证书