4.缓存服务器
缓存服务器相当于授权服务器的一个代理,可以缓解授权服务器的压力。我们每次上网的时候,域名解析的请求都被发给缓存服务器了。缓存服务器第一次收到用户请求的时候,会向授权服务器请求域名和IP地址的解析表,然后将其储存到本地,等后续再有用户请求相同的域名时,就会直接答复,不再向授权服务器请求,毕竟一个网站的IP地址不是经常变化的。当然,这个解析表是有一定有效期的,等有效期到了,这个解析表就会自动老化,下次有用户请求时缓存服务器就会重新询问授权服务器。这个定期老化机制可以保证缓存服务器上的域名解析能定期更新。
① DNS客户端查询通常采用递归方式,缓存服务器首先会判断本地是否有这个域名的解析缓存。
② 如果本地没有该域名的解析缓存,缓存服务器就会把域名发送到根服务器。根服务器收到某网址的请求后,会判断.com 是由谁授权管理的,并返回.com 所在的顶级域名服务器IP地址。
③ 缓存服务器继续向顶级域名服务器发送某网址解析请求,顶级域名服务器收到请求后,会返回某网址下一级的递归服务器IP地址。
④ 缓存服务器继续向递归服务器发送某网址解析请求,递归服务器收到请求后,返回某网址的解析IP地址。如果域名层级较多,递归服务器层级也会越多。
⑤ 缓存服务器得到某网址的解析IP地址后,将IP地址发送给客户端,同时在本地缓存。
⑥ 后续一段时间内,当有客户端再次请求某网址的域名解析时,缓存服务器直接回应解析的IP地址,不再重复询问。
2.1.4 针对关键环节的解决方案思路
我们继续回到“龙卷风”软件这件事上。在当年,运营商对DNSPod采用的是粗暴式的黑洞处理,显然这种方式是不合适的,其直接影响了其他域名的解析业务。
DNS递归(授权)服务缺少有效的保护,运营商IDC和SP缺少应用层清洗能力,无法识别应用层的攻击流量针对性地清洗攻击流量。
2.1.5 华为Anti-DDoS系统的解决方案
华为Anti-DDoS专业防御系统对DNS服务器提供精细化的防御。精细化的意思是针对不同的DNS服务器、不同的攻击类型、不同的应用场景,该系统会提供不同的防御手段。华为Anti-DDoS针对这次事件可以从两方面进行部署。
1.授权服务器防护
DNSPod服务器的防护可以作为第一道防线。由于DNSPod服务器所遭受的攻击其实都是僵尸主机发送的DNS请求,属于虚假源攻击,所以它可以采用重定向方式进行防御
2.缓存服务器防护
如果 DNSPod 服务器不幸失效了,那我们还可以通过保护 DNS 缓存服务器来对其进行保护,这是阻止事件继续恶化的第二道防线。
DNS缓存服务器和DNSPod服务器所遭受的攻击不同,毕竟“龙卷风”软件的用户都是真实存在的源,这种攻击属于真实源攻击。源认证防御方式对这种真实源攻击无效,所以我们可以采用以下应对方法。
首先,Anti-DDoS系统支持针对DNS服务的Top N统计,并提供报表。如图2-4所示。从报表中,我们可以获知访问最多的Top N域名,在这么大的访问量下,“龙卷风”软件一定是名列前茅的
然后,我们对被攻击的域名进行指定域名限速,即限速“龙卷风”软件的域名。这样就可以避免其他域名服务受影响,也不会导致DNS缓存服务器瘫痪。
域名作为广大民众访问互联网的起点和入口,是全球互联网通信的基础。域名解析系统作为承载全球亿万域名正常使用的系统,是互联网的基础设施。而域名系统又是一种公开服务,很容易成为被黑客攻击的对象。域名系统的故障会导致互联网陷入瘫痪,所以域名系统的保护也变得至关重要。
“龙卷风”软件攻击事件的第二阶段,也就是DNS缓存服务器拒绝服务,导致大面积Internet接入瘫痪的过程,才是本次攻击的“威力点”。这个结果虽然不是攻击者的本意,但是一连串的连锁反应,使它成为DDoS攻击史上具有里程碑意义的关键事件。它给了 DDoS 攻击者新的方向,使其知道了如何利用庞大的网络基础设施架构制造更强大、更真实的DDoS攻击。后面的NTP反射攻击,视频签名嵌入式攻击等都是源于这个思路,此次事件是DDoS发展的里程碑事件。




