1中国联通河北省分公司 河北省石家庄市 050011
2中国联通河北省分公司 河北省石家庄市 050011
3中国联通秦皇岛市分公司 河北省秦皇岛市 066000
4国联通河北省分公司 河北省石家庄市 050011
摘要:随着互联网应用的飞速普及,各种网络安全事件不断发生,国家对网络安全的要求也相应提高,作为互联网基础设施的DNS系统,同样面临各种安全威胁。提升DNS系统的安全性,更是在系统设计和日常维护工作的重中之重。
关键词:DNS DDOS攻击 递归攻击
正文
DNS(Domain Name System)是互联网中的一项基础服务,其作用是将域名转换为IP地址,如www.sina.com,qq.net均为域名。互联网三层网络上只能识别IP地址并对其进行路由和访问,这就需要用到DNS系统进行域名与其IP地址进行转换,并提供给互联网用户使用。
除少量的DNS系统是供内网特定客户使用外,大部分的DNS系统都是挂在互联网上,供公众使用,随着互联网上的安全风险不断增多,DNS系统面临的安全威胁也越来越多,其防护策略也变成了关乎系统稳定运行至关重要的手段。
DNS系统面临的主要安全威胁包括DOS/DDOS 攻 击、缓存中毒和劫持、递归式攻击等,下面分别介绍各个攻击的原理和其防护方法。
一、DOS/DDOS 攻 击
1、原 理
攻击者向受控的用户终端发布攻击指令。
受控终端同时向目标DNS服务器发送大量的查询请求数据包。
目标DNS服务器同时收到大量的DNS请求数据包。
操作系统kernel占用了大量的资源用来接受这些大量的数据。
操作系统接受下来的数据包会继续转给DNS的服务进程来进行回应,这样DNS服务进程又会消耗掉很多的系统资源来对其进行响应。
前2步中任何一步占用的资源或者两者占用资源的总和超过了系统的限度就会导致用户正常的请求无法被响应,甚至整个操作系统都会崩溃
图1、DDOS攻击原理图
2、防护方法
首先需要明确的是,没有任何的软件或硬件能完全解决这个问题,目前主要采取的方法包括:
系统采用分布式集群架构,将攻击的查询量进行分散,削弱攻击力度,目前一般采用anycast架构,在分散攻击的同时,也保护了其他系统能正常提供解析能力;
提高系统容量,增加系统能力的冗余度,一般3倍冗余为佳;
消除系统的性能瓶颈,性能瓶颈如同木桶的短板,必须补齐,才不会在攻击中变成最薄弱的环节,尽量替换系统中处理能力较弱的4层交换机、 防火墙等设备;
限定客户端单位时间内的查询次数,对于普通客户和集团客户IP地址,限制不同等级的解析请求量,既保证客户正常应用,又避免客户端因中毒发起攻击流量。
二、缓存中毒和劫持
1、原理
DNS系统的服务器大致分为两类,一类直接为终端客户提供解析服务的,称为缓存/递归服务器;一类为递归服务器提供域名解析结果的,称为授权服务器(或者权威服务器);递归服务器到授权服务器拿到域名解析结果后,存在本地的缓存服务器,在TTL值为0前不再出去重新递归该域名;
缓存污染指的是递归服务器的查询请求过程被劫持,拿到并缓存了错误的解析结果,从而使客户最终拿到的解析结果错误。
图2、缓存污染原理图
2、防范措施
使用最新版本的BIND软件,扩展QueryId ⻓度, 减小cache中毒匹配概率
启用DNSSEC,DNSSEC是DNS的安全扩展,是由IETF提供的一系列DNS安全认证的机制(可参考RFC2535)。它提供了一种来源鉴定和数据完整性的扩展,需要在递归的完整过程中启用;
启用ANYCAST系统架构,节点越多、服务器越多越安全;
三、递归攻击
1、原理
攻击者可以通过伪造源IP地址来进行DNS递归查询攻击,发送大量的请求给DNS服务器,其中请求的域名或者域并不存在。DNS系统对并不存在的域名或者域没有缓存结果,必须出去进行递归。递归过程比较消耗系统资源,大量的递归导致DNS系统受到严重压力负担,资源耗尽,不能提供正常解析服务。
2、防护措施
监控递归clients异常,发现异常情况,及时停止对其提供服务,避免对系统造成压力;
建立容错机制,容错机制是指建立本地域名解析结果的数据库备用,一旦出现互联网广泛分布的应用(如360)授权服务器出现问题,广泛的客户端程序会发起海量的请求,这时DNS系统可调用容错数据库,避免海量的递归查询造成系统崩溃。
当然,DNS系统面临的安全威胁和防范措施不止以上几种,随着互联网安全事件不断增多,作为系统的架构设计和维护人员,必须时刻保持警惕,关注安全事件动态和安全技术发展,警钟长鸣,才能使DNS系统保持安全稳定运行。
参考资料:《DNS系统原理》润通公司