1、运营商DNS系统面临的主要风险
对于普通企业DNS服务器,面临的主要风险可能是服务器操作系统漏洞、DNS软件漏洞等被黑客发现并侵入。
但是对于运营商来说,因为有专业的管理部门和专门部署的防火墙、入侵检测等安全设备,因此上面的威胁并不是DNS系统面临的主要威胁。
对于运营商DNS面临的最大威胁是大规模的分布式的拒绝服务攻击,不论这种攻击是黑客故意为之还是因为软件设计缺陷而意外触发。
拒绝服务攻击主要是通过耗尽DNS服务器资源,导致DNS服务器不能接受正常的DNS请求或不能正常应答DNS请求。
DNS服务器可被耗尽的资源有两类,分别是网络带宽资源和处理能力资源。
DNS服务器接入线路带宽是有限的,如果攻击流量超过线路带宽,则正常DNS请求无法到达DNS服务器,我们称为线路流量过载。因为DNS线路带宽一般只有1~2G,黑客还是比较容易调集到足以堵塞线路带宽的攻击资源。
DNS服务器单位时间内能够处理的DNS请求量是有限的,如果攻击者单位时间发出的请求数超过服务器能够处理的请求数,则正常DNS请求无法被DNS服务器响应,我们称为线路负荷过载。
虽然DNS服务器软件通过域名缓存、否定缓存等机制提高处理能力,运营商通过DNS服务器的集群再次提高服务器处理能力,但是攻击者通过调动更多攻击资源以及改进编程技巧来提高DNS服务器资源消耗,还是有可能耗尽DNS服务器处理能力。特别是递归服务器的递归能力受到多种因素影响,很难大幅度提高,更成为DDoS攻击的重要目标。
2、DNS系统安全防护策略
2.1带宽提升
为了避免带宽堵塞,有两个方面的策略可以进行,一个方面扩展DNS节点带宽,一个方面在网络前端进行有效流量控制,防止有效带宽被攻击流量堵塞。
作为DNS节点带宽扩展策略,可以将DNS节点从双GE链路升级到多GE链路或10GE链路,这样可以大幅度提升DNS带宽,对攻击者造成很大攻击难度。(比如移动就是把带宽升级到10GE链路)。
2.2 缓存容量提升
对于DNS查询,如果查询内容在缓存中,服务器可以立刻应答,消耗资源很少,而如果查询内容不在缓存中,则服务器需要递归查询,消耗资源较多。
服务器缓存容量越大,则缓存应答率越高,递归查询率越低,服务器资源消耗越小,对抗攻击能力越强。
如果缓存容量达到3000万域名资源记录以上,可以保证正常用户绝大部分请求域名都在缓存中,即使递归功能一段时间失效用户也不会有明显感知。
2.3 缓存应答能力提升
提升缓存应答能力,可以有效对抗DDoS攻击。
有高性能的缓存应答能力和大容量缓存,即使在高流量DDoS攻击情况下,系统也能够对正常用户的缓存请求进行有效应答,不会影响正常用户的服务,可以极大提高DNS服务的稳定性和可用性。
一般GE链路上,缓存应答能力达到80万QPS即到达带宽上限。
2.4 递归能力提升
递归能力提升代价比较高,而且一般很难通过提升递归能力来防御攻击。递归攻击时负载是不对称的,攻击者使用一台攻击服务器发送递归攻击报文,要对这些递归攻击报文正常递归查询应答,需要几十台同等服务器资源。
因此提升递归能力主要是服务正常用户,防御递归DDoS攻击主要通过递归流量清洗。