从阿里云域名解析异常事件看下域名解析过程

近日阿里云核心域名aliyuncs.com解析异常,涉及众多依赖阿里云服务的网站和应用,故障从发现到修复耗时5个多小时。本文简要分析下整个事件的过程,并分析域名解析的过程,了解根域名服务器在其中的作用,以了解。


1、aliyuncs.com域名解析异常

2025年6月6日,阿里云核心域名 aliyuncs.com 被劫持并重定向至 sinkhole.shadowserver.org,导致其对象存储服务(OSS)、内容分发网络(CDN)以及云解析DNS等多项核心云服务出现大范围故障,波及众多依赖阿里云服务的网站和应用。从发现故障到完成修复,耗时5小时43分。

在这里插入图片描述

1.1 事件背景

1)被劫持域名

aliyuncs.com是阿里云核心服务的关键域名,其子域名承载了对象存储(OSS)、内容分发网络(CDN)、容器镜像服务(ACR)等核心功能。

2)劫持目标

域名被指向sinkhole.shadowserver.org——这是非营利安全组织Shadowserver用于接管恶意流量的“安全黑洞”地址,通常用于隔离僵尸网络、钓鱼网站等威胁。

3)技术操作

劫持是通过修改域名的NS记录(权威域名服务器)实现的。原本指向阿里云自有DNS服务器(如 ns3.aliyun.com)的记录被改为Shadowserver的服务器,导致全球DNS递归查询均被导向安全黑洞。

1.2 事件原因

关于事件的原因,目前还没有官方的澄清,主流观点集中在两种:

1)安全合规性接管论

Shadowserver是一个网络安全机构,长期配合FBI等机构打击网络犯罪,曾接管勒索软件域名。此次可能因aliyuncs.com下某子域名涉及恶意活动(如托管病毒、钓鱼页面、违规内容等),被认定为“高危域名”。因此,Shadowserver向域名注册商 VeriSign(.com域名管理者)提交证据,VeriSign依据ICANN条款紧急修改NS记录,然后将域名控制权移交Shadowserver。但是阿里云作为主流云服务商,若因个别子域名违规遭整体接管,显得“过度执法”,缺乏分级响应机制。具体原因尚未得到阿里云或Shadowserver的官方证实。

2)地缘政治干预论

美国注册商VeriSign可基于本国司法命令快速冻结域名(如“紧急接管条款”)。结合中美科技竞争背景,不排除政治动机操作。不过事件未伴随任何政府声明,且修复需与VeriSign协商,而阿里云很快完成了修复,这种可能性不大。

1.3 事件影响

由于aliyuncs.com是阿里云核心服务的基础域名,解析异常导致大量依赖阿里云基础设施的网站和应用无法正常运行,包括cnblog博客园等知名平台因此受到波及。此次事件暴露域名系统在安全管理上的潜在风险:核心业务域名若受制于国际注册商(如VeriSign),可能因政策、司法或安全干预瞬间崩坏。因此需要有相应的应对措施,比如域名去国际化、建立根域名服务器镜像、使用备用域名避免单一依赖等。

面对IPv4时代根域名服务器的被动局面,国内早已采取了“双轨并行”的战略:首先是在国内部署镜像根服务器,通过专用硬件设备实时同步全球域名数据,一旦国际链路中断,国内镜像服务器可在5秒内完成切换,保障基础网络服务;另外在2015年,中国联合日本、美国等16国发起全球IPv6根服务器部署计划,截至2025年全球已架设25台IPv6根服务器,其中4台部署在中国(1台主根、3台辅根)。

2、域名解析过程
2.1 什么是根域名服务器

互联网的底层逻辑始终围绕着根域名服务器(Root Server)展开。在IPv4体系下,全球仅13组根服务器构成了互联网的“中枢神经”,其中1个为主根域名服务器在美国,其余12个均为辅根域名服务器,其中9个放置在美国,欧洲2个位于英国和瑞典,亚洲1个位于日本,而国内是没有IPv4根域名服务器的。

这13组根服务器对应的是13个IP地址,对应了A-M共13个编号(如a.root-servers.net到m.root-servers.net)。其背后使用了任播(Anycast)技术,任播最初由RFC1546提出,主要用在DNS根服务器上,具体的解释如下:

任播是指在IP网络上通过一个IP地址标识一组提供特定服务的主机,服务访问方并不关心提供服务具体是哪一台主机提供的,访问该地址的报文可以被IP网络路由到“最近”的一个(最好也只是一个,别送到多个)服务器上。这里“最近”可以是指路由器跳数、服务器负载、服务器吞吐量、客户和服务器之间的往返时间(RTT,round trip time)、链路的可用带宽等特征值。

这意味着在全球范围内部署了数百台物理服务器,它们共享这13个IP地址。当向其中一个IP发送查询时,网络路由会将你的请求引导到离你地理位置最近、网络状况最好的一个物理服务器实例上。这种部署极大地提高了根服务器的性能、可靠性和抗攻击能力。

1)根域名服务器作用

  • DNS查询的起点: 当本地DNS解析器不知道某个域名的权威服务器在哪里时,它首先会查询根域名服务器。
  • 提供顶级域(TLD)服务器的指引:根服务器本身通常不存储具体域名(如 www.aliyun.com)的IP地址信息。它们存储的是所有顶级域(Top-Level Domains, TLDs)的权威服务器信息。这些顶级域包括:通用顶级域(gTLD):如.com, .net, .org, .edu, .gov, .mil, .int, 以及后来的 .info, .biz, .name, .xyz 等新gTLD;国家和地区代码顶级域(ccTLD):如 .cn, .uk, .jp, .de 等。
  • 引导解析器:根服务器在收到查询后,会告诉解析器:“你要找的域名属于.com 这个顶级域,负责.com域的权威服务器的地址是这些”。解析器接着就去查询.com的权威服务器。
2.2 域名和DNS区别

域名是人类可读、便于记忆的互联网地址标识符。它是一个层次化的字符串,用于唯一标识一台服务器、服务或网络资源在互联网上的位置。例如:www.aliyun.com、www.baidu.com。

DNS是一个分布式数据库系统和一个服务协议,它会将人类可读的域名转换成机器可用的IP地址 。DNS采用树状层级结构,根服务器在顶端,下面是顶级域(TLD)服务器,再下面是二级域(如 aliyun.com)的权威服务器,依此类推。同时DNS中定义了客户端(解析器)如何向服务器查询信息,以及服务器如何响应的规则。

在这里插入图片描述

2.3 域名解析过程

当从客户端输入某个域名地址如www.aliyun.com,整个域名解析过程如下所示:

1)用户输入与本地缓存检查

用户在浏览器中输入https://www.aliyun.com并回车。浏览器首先检查自己的缓存中是否有www.aliyun.com对应的IP地址,并且该记录是否未过期(TTL未超时)。如果有且有效,则直接使用该IP建立连接,跳过后续所有DNS查询步骤。

2)操作系统缓存检查

如果浏览器缓存没有,浏览器会询问操作系统的DNS缓存。操作系统缓存可能保存着之前其他程序查询过的结果。如果找到有效记录,则返回给浏览器使用。

3)本地Hosts文件检查

如果操作系统缓存也没有,操作系统会检查本地的hosts文件(如Linux的/etc/hosts)。这个文件可以手动配置域名到IP的映射。如果找到匹配项,则使用该IP。

4)查询本地DNS解析器

如果以上缓存和hosts文件都没有所需记录,操作系统会将DNS查询请求发送给配置的本地DNS解析器。这个解析器通常是路由器(192.168.x.x)、ISP 提供的DNS服务器(如 8.8.8.8, 114.114.114.114),或者公共 DNS(如 8.8.8.8, 1.1.1.1)。

5)本地DNS解析器的缓存检查

本地DNS解析器首先检查自己的缓存中是否有www.aliyun.com的记录且未过期。如果有,则直接返回结果给客户端操作系统,操作系统再给浏览器。

6)递归查询开始(向根域名服务器)

如果本地DNS解析器的缓存里没有www.aliyun.com的记录,它必须开始一个递归查询过程来找到答案。首先解析器知道根域名服务器的IP地址列表(这些地址通常是硬编码在解析器软件中或通过配置获得),然后解析器向13组根域名服务器中的某一个(通常是随机选择一个,或者根据网络状况选择最快的)发送一个DNS查询请求,询问 www.aliyun.com 的A记录。

注意: 根服务器只负责顶级域(TLD)的信息,它不知道aliyun.com或www.aliyun.com的具体地址。

7)根域名服务器的响应

根服务器收到查询后,查看请求的域名www.aliyun.com。它识别出这个域名的顶级域(TLD)是 .com,它不会给出www.aliyun.com的IP,而是给出一个 “引荐”(Referral)响应。这个响应包含:负责.co这个顶级域的权威域名服务器(TLD Nameservers)的域名列表以及这些域名对应的IP地址列表。通常响应里会直接包含这些TLD服务器的IP地址(称为“胶水记录” Glue Records),以避免解析器再去查询这些TLD服务器域名的IP。

8)查询 TLD(.com)权威服务器

本地DNS解析器收到根服务器的引荐响应后,选择其中一个.com TLD权威服务器的IP地址(如192.xx.xx.xx-a.gtld-servers.net)。解析器向这个.com TLD权威服务器发送查询请求,同样询问www.aliyun.com的A记录。

9)TLD(.com)权威服务器的响应

.com TLD 权威服务器收到查询后,查看请求的域名www.aliyun.com。它识别出这个域名的二级域(Second-Level Domain)是aliyun.com。TLD服务器也不知道www.aliyun.com的具体地址,但它知道负责aliyun.com这个域的权威域名服务器(Authoritative Nameservers)的域名列表(如 dns9.hichina.com, dns10.hichina.com)。TLD服务器返回一个引荐响应给本地DNS解析器,包含 aliyun.com 的权威服务器的域名列表,通常也会包含这些权威服务器的IP地址(胶水记录)。

10)查询 aliyun.com 的权威服务器

本地DNS解析器收到TLD服务器的引荐响应后,选择其中一个aliyun.com权威服务器的IP地址。解析器向这个aliyun.com的权威服务器(例如 dns9.hichina.com)发送查询请求,询问www.aliyun.com的A记录。

11)aliyun.com 权威服务器的响应

aliyun.com 的权威服务器是最终掌握 aliyun.com 及其子域名(如 www.aliyun.com)真实记录的服务器。它查找自己的区域文件(Zone File),找到 www.aliyun.com 对应的A记录(IP地址)。它将该IP地址(如 203.xx.xx.xx)作为 “权威应答”(Authoritative Answer)返回给本地DNS解析器。

12)本地DNS解析器缓存并返回结果

本地DNS解析器终于获得了www.aliyun.com的IP地址。解析器将这个结果以及相关的TTL(生存时间)值缓存到自己的内存中,以便后续相同的查询能快速响应。最后将这个最终的IP地址返回给发起查询的客户端操作系统。

13)客户端建立连接

客户端操作系统将IP地址交给浏览器。浏览器使用这个IP地址(203.xx.xx.xx)向阿里云的Web服务器发起TCP连接,开始传输网页内容。

在这里插入图片描述

2.4 DNS中几个概念

1)递归与迭代查询

客户端到本地DNS解析器为递归查询(解析器负责完整结果)。本地DNS解析器向根/TLD/权威服务器为迭代查询(逐步获取引荐)

2)胶水记录(Glue Records)

根/TLD服务器在响应中直接提供下一级服务器的IP,避免额外查询 。

3)TTL控制缓存

所有缓存均受TTL约束,确保及时更新。


参考资料:

  1. https://blog.csdn.net/techforward/article/details/131172230
  2. https://www.secrss.com/articles/79518
  3. https://status.aliyun.com/#/eventDetail?eventId=27

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/83236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

应用分享 | 精准生成和时序控制!AWG在确定性三量子比特纠缠光子源中的应用

在量子技术飞速发展的今天,实现高效稳定的量子态操控是推动量子计算、量子通信等领域迈向实用化的关键。任意波形发生器(AWG)作为精准信号控制的核心设备,在量子实验中发挥着不可或缺的作用。丹麦哥本哈根大学的研究团队基于单个量…

基于规则的自然语言处理

基于规则的自然语言处理 规则方法形态还原(针对英语、德语、法语等)中文分词切分歧义分词方法歧义字段消歧方法分词带来的问题 词性标注命名实体分类机器翻译规则方法的问题 规则方法 以规则形式表示语言知识,强调人对语言知识的理性整理&am…

Vue Fragment vs React Fragment

文章目录 前言🧩 一、概念对比:Vue Fragment vs React Fragment📦 二、使用示例对比✅ Vue 3 中使用 Fragment✅ React 中使用 Fragment 🔍 三、差异解析1. **使用方式**2. **传递属性(如 key)**3. **插槽系…

3D图像渲染和threejs交互坐标系入门知识整理

1. Games101 b站上面就有,看到第9节课基本对于图形渲染的原理和渲染过程有所了解。然后就可以使用openGL和GLSL。 点输入->投影到二维(生成三角形面)->光栅化为像素->z-buffer深度缓存判断层级->着色shading 2. openGL和GLSL 参…

跨平台架构区别

文章目录 重编译时轻运行时(uniapp)轻编译时重运行时(Taro) 重编译时轻运行时(uniapp) 对 vue 语法直接进行编译转换成对应平台代码,再通过添加运行时代码去补充能力,比如 nextTick…

windows系统MySQL安装文档

概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…

HarmonyOS 应用开发学习记录 - 从Windows开发者视角看鸿蒙开发

起始 2024年6月21日召开的华为开发者大会2024上宣布Harmony OS NEXT(即鸿蒙星河版)面向开发者启动Beta版,这也被人们称为“纯血鸿蒙”,它基于鸿蒙内核,不再兼容安卓开发的APP应用。 时至今日近一年了,我也有…

MySQL 事务管理与锁优化:确保数据一致性和并发性

在多用户并发访问的数据库系统中,如何确保数据的**一致性(Consistency)和并发性(Concurrency)**是一个核心挑战。**事务(Transaction)和锁(Lock)**是 MySQL 应对这一挑战的两大利器。事务保证了操作的原子性、一致性、隔离性和持久性,而锁机制则在并发环境下协调不同…

OpenPrompt 有没有实现连续提示词和提手动示词一起优化的

OpenPrompt 有没有实现连续提示词和提手动示词一起优化的 OpenPrompt 中连续提示词与手动提示词的混合优化 OpenPrompt 确实支持同时优化连续提示词(Soft Prompt)和手动设计的离散提示词(Manual Prompt)。这种混合优化策略可以结合两者的优势: 连续提示词:通过梯度下降…

Android添加语言列表

方式一 frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java Settings.System.putString(context.getContentResolver(),Settings.System.SYSTEM_LOCALES, "ru-RU,en-US"); 方式2 packages/apps/Settings/src/co…

解决uniapp开发app map组件最高层级 遮挡自定义解决底部tabbar方法

subNvue,是 vue 页面的原生子窗体,把weex渲染的原生界面当做 vue 页面的子窗体覆盖在页面上。它不是全屏页面,它给App平台vue页面中的层级覆盖和原生界面自定义提供了更强大和灵活的解决方案。它也不是组件,就是一个原生子窗体。 …

如何保障服务器的安全

如何保障服务器的安全 以下是保障服务器安全的核心措施及实施建议: 一、基础设施层防护 物理安全 机房设置防火/防水/防雷系统,部署门禁监控设备。 服务器固定于抗震机架,避免物理损坏。 网络防护 防火墙规则:仅开放业务必要端…

C语言 学习 C程序的内存模型 2025年6月10日08:55:13

堆栈与内存管理 堆栈(Stack) : 后进先出(LIFO) 线性数据结构 包含压栈(Push) ,弹栈(Pop) 用途:临时存储数据(函数调用,局部变量) 管理:由系统自动分配和回收 速度快 ,容量有限! 堆栈代码示例: //堆栈示例 :局部变量 void getText() {int text20;//储存在堆栈中 } 内存管理…

CppCon 2015 学习:Implementing class properties effectively

这段内容讲的是C中“属性”(Property)的实现及其设计理念,并结合一个实际类Text来说明。中文理解如下: 关于“属性”(Property) 属性:介于类的字段(field)和方法&#…

[electron]预脚本不显示内联script

script-src self 是 Content Security Policy (CSP) 中的一个指令,它的作用是限制加载和执行 JavaScript 脚本的来源。 具体来说: self 表示 当前源。也就是说,只有来自当前网站或者当前页面所在域名的 JavaScript 脚本才被允许执行。"…

基于安卓的文件管理器程序开发研究源码数据库文档

摘 要 伴随着现代科技的发展潮流,移动互联网技术快速发展,各种基于通信技术的移动终端设备做的也越来越好了,现代智能手机大量的进入到了我们的生活中。电子产品的各种软硬技术技术的发展,操作系统的不断更新换代,谷歌…

MySQL主从复制实现指南

MySQL主从复制实现指南 一、主从复制原理 #mermaid-svg-i1zOswdD4OORQ35t {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-i1zOswdD4OORQ35t .error-icon{fill:#552222;}#mermaid-svg-i1zOswdD4OORQ35t .error-text…

spring jms使用

文章目录 一、背景介绍二、注意点说明三、代码pom.xmlmq.propertiesActiveMqConfigJmsSenderActiveMqInfoActivemqProtocolEnum生产者消费者 一、背景介绍 <dependency> 标签中列出的 spring-jms 是 Spring Framework 提供的一个模块&#xff0c;用于简化 Java Message …

笔记——学习HTTP协议

HTTP协议 文章目录 HTTP协议一、统一资源定位符&#xff08;url&#xff09;&#xff1a;URL编码格式&#xff1a; 二、HTTP报文结构&#xff1a;三、HTTP请求方法&#xff1a;四、HTTP常见请求头&#xff1a;五、HTTP状态码&#xff1a;六、HTTP常见响应头&#xff1a;七、HTT…