阿里云差点被‘劫持’?你必须懂的 DNS 知识!

目录

背景

阿里云的重要域名 aliyuncs.com 的注册状态异常,部分 DNS 查询失败,引发广泛关注。

  • aliyuncs.com 是阿里云用于 对象存储 OSS、CDN、SLB 负载均衡等服务 的关键域名。
  • 该域名由阿里云旗下子公司持有,但注册商并非阿里自营,而是第三方(如 GoDaddy、Sedo 代理的 Name.com)。
  • 因为管理或续费疏忽,域名一度转为“待售”状态,这被视为严重的安全漏洞。
  • 并非 DNS 劫持、也没有遭到黑客攻击,而是由于“域名过期 + 未及时续费”引发的误报式 DNS 异常
  • 某些地区用户解析 *.aliyuncs.com 域名失败,影响了 CDN、OSS 资源访问。
  • 第三方依赖这些 OSS 链接的网站、App 也可能出现“资源加载失败”。
  • 安全从业者对「供应链安全」、「域名生命周期管理」问题提出严重警告。

有关此次的事件分析:

https://mp.weixin.qq.com/s/Tb3NM1g7CRBYjKTosCv0gQ

常见的记录类

🔹 A 记录(Address Record)

  • 作用:将域名映射到一个 IPv4 地址。
  • 简单理解:你访问 example.com,A 记录告诉浏览器这个域名对应的服务器 IP,比如 192.0.2.1。
example.com.     IN    A     192.0.2.1
  • 特点
    • 只适用于 IPv4。
    • 是最常用的一种记录类型。
    • 若是 IPv6,对应的是 AAAA 记录(四个 A)。

NS 记录(Name Server Record)

  • 作用:指定某个域名由哪几个 DNS 服务器来负责解析(权威服务器)。
  • 简单理解:NS 记录就像是“告诉别人谁负责回答这个域名的问题”。
example.com.     IN    NS    ns1.aliyun.com.
example.com.     IN    NS    ns2.aliyun.com.
  • 特点
    • 一般每个域名至少有两个 NS 记录,主备。
    • NS 记录会指向权威 DNS 服务器,它们里面才存有 A、MX、CNAME 等真实解析记录。

🧠 一个访问域名的完整流程(简化):

  1. 你访问 blog.example.com
  2. 系统去找 .com 的根 DNS → 查到 example.com 的 NS 记录
  3. 去 NS 服务器问:blog.example.com 是哪个 IP?
  4. NS 服务器返回 A 记录:blog.example.com 对应 192.0.2.123
  5. 浏览器连接这个 IP 地址,打开网页

✅ 3.CNAME 记录(Canonical Name Record)

  • 作用:为域名设置 别名,将一个域名映射到另一个域名。
  • 用途
    • 做域名跳转、统一管理解析。
    • 常用于 CDN、第三方平台接入。
  • *支持通配符 **,如:
*.example.com.  IN CNAME  www.example.com.
blog.example.com.   IN CNAME   myblog.github.io.

✅ 4.MX 记录(Mail eXchanger Record)

  • 作用:指定接收该域名邮箱的服务器地址。
  • 用途:用于邮件系统,决定邮件投递到哪个服务器。
  • 优先级:数字越小,优先级越高。
example.com.     IN MX 10 mail1.example.com.
example.com.     IN MX 20 mail2.example.com.

✅ 6.TXT 记录(Text Record)

  • 作用:在域名中存储文本信息。
  • 用途(最常见)
    • 域名所有权验证(如 Google、腾讯云)
    • 反垃圾邮件验证(如 SPF、DKIM、DMARC)
example.com.  IN TXT  "v=spf1 include:_spf.google.com ~all"
_dmarc.example.com. IN TXT  "v=DMARC1; p=none; rua=mailto:dmarc@example.com"

DNS 污染

DNS 污染(DNS Pollution),又称 DNS 投毒(DNS Spoofing 或 DNS Cache Poisoning),是一种网络攻击行为,攻击者伪造或篡改 DNS 响应数据,将用户请求的域名解析到错误或恶意的 IP 地址上,达到劫持流量、钓鱼攻击、内容屏蔽或监控等目的。

用户想访问 www.google.com,但却被“污染”解析到了一个根本不是 Google 的地址上,甚至是一个钓鱼网站。

防御方式
✅ 使用 加密 DNS:如 DoH(DNS over HTTPS)、DoT(DNS over TLS)
✅ 使用可信 DNS:如 8.8.8.8(Google)、1.1.1.1(Cloudflare)等
✅ 使用 VPN:绕过本地网络环境的污染
✅ 开启 DNSSEC:使用数字签名验证 DNS 响应(但目前支持较少)
✅ 本地 Hosts 文件配置:静态绑定可信 IP(适用于小范围绕过)

🧪 判断是否被污染(示例):

dig www.google.com @8.8.8.8

# 如果返回的 IP  203.98.x.x114.114.x.x 等陌生 IP可能就是被污染了
  • 某些海外网站(如 www.facebook.com)在中国境内解析时被污染,返回的是 127.0.0.1 或无效地址,导致无法访问
  • 一些 DNS 查询即使使用了 8.8.8.8 也可能被拦截污染,因为运营商层进行了中间人干预

DNS 污染就是“把你要访问的网址偷偷指向了一个假的地址”,本质是一种网络劫持,防御手段是加密、安全、可信和绕过本地环境。

域名解析劫持

域名解析劫持中,NS 被篡改(即权威 Name Server 被修改)是非常严重的一种攻击,通常发生在域名注册商层面,属于 域名劫持(Domain Hijacking)的一种类型。

NS(Name Server)记录是告诉全球 DNS 系统:“谁负责解析这个域名”。

如果攻击者成功把你的域名的 NS 记录改为他控制的服务器,那这个域名的所有解析权就落入攻击者手中。

你原本的域名解析托管在阿里云(如 ns1.aliyun.comns2.aliyun.com), 攻击者通过各种方式(如盗号、供应链漏洞)把 NS 改成了:

ns.evil-hacker.com

为什么会被篡改?

原因 解释
🔓 域名账户泄露 攻击者登录域名注册商后台,篡改 NS
🐞 注册商被攻破 攻击者直接攻破管理系统修改记录
🪝 社工攻击 假冒所有者身份发起转移/修改请求
🧩 API/自动化失误 程序 Bug 或 API 滥用导致 NS 被更改

🛡️ 如何防御 NS 被篡改?

防御手段 描述
✅ 启用域名锁定(Registrar Lock) 防止未授权的 NS/注册信息更改
✅ 使用 MFA(多因素认证) 域名管理平台绑定双重认证
✅ 设置 WHOIS 隐私保护 降低社工攻击风险
✅ 启用 DNSSEC(域名系统安全扩展) 防篡改 + 签名验证(需要支持)
✅ 定期检查 NS 记录变化 可配置监控 + 邮件提醒
✅ 使用大厂可信 DNS 托管 如 Cloudflare、阿里云、AWS Route53 等
# 查看当前域名的 NS 记录
dig NS yourdomain.com

# 或者使用 whois
whois yourdomain.com
问题 回答
阿里云 223.5.5.5 免费吗? ✅ 免费,适合个人使用,但有频控
会不会限制请求? 🚫 不公开,但高频/大规模会被限速或封禁
UDP DNS 查询免费吗? ✅ 完全免费,但带宽资源有限可能被限制
DoH 会不会更强? ✅ 加密更强,安全性更高,但处理成本更大
公共 DNS 每天请求量大吗? 📈 非常大,阿里云 223 系列日请求可能达几十亿
修改本地 DNS 有什么作用? 🛡️ 绕过被污染/劫持的链路,拿到权威解析结果

点赞一下

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦