论文部分内容阅读
【摘 要】DNS作为互联网的基础服务,其安全性、稳定性具有举足轻重的地位。本文主要分析现有DNS系统存在的安全问题,以及传统DNS加强方案的不足,提出能够有效提升互联网安全性能的DNS加强系统解决方案。
【关键词】DNS 安全 加强系统
一、背景
DNS(Domain Name System)系统是一种多层次的分布式数据库系统,其基本功能是提供易于记忆的域名和不易记忆、但技术上真正使用的IP地址之间的映射,便于用户或网络应用访问网络资源。DNS采用客户端/服务器方式工作,在服务器中存放域名信息,允许客户端访问所需的数据。
由于网页浏览、电子邮件、即时通讯、网络游戏等各种互联网服务都依赖于DNS实现,一旦DNS出现故障,将导致大量互联网应用无法正常使用,DNS故障基本等同于网络中断。因此,DNS作为互联网的基础服务,其安全问题具有举足轻重的地位,域名解析的准确程度和响应速度对网络服务质量都具有重要影响。
近年来,与DNS相关的安全事件越来越多,影响也越来越大。而传统的DNS加强方案提高系统安全性的能力有限,且建设、维护成本都较高,能耗较大,提高DNS系统安全性的性价比较低。正是基于DNS系统安全的重要性和存在的问题,2010年2月工业和信息化部以政府公告的形式,要求基础电信运营商及相关单位对DNS系统进行加强。因此,亟需有效提升DNS系统安全可靠性的解决方案。
二、现有DNS系统存在的主要问题
(一)建设、运维成本高,可扩展性差
随着互联网应用的不断发展和宽带的快速普及,DNS系统的规模越来越大,网络结构也越来越复杂。从过去的集中式部署逐步发展为分布式部署,从单机逐渐演进成多机负载分担的方式。之前,DNS系统能力的提升只能通过服务器数量的增加方式来实现。服务器数量的大量增加一方面导致扩容投资增长,另一方面造成管理困难,运行维护成本上升。
(二)缺陷、漏洞多,防攻击能力差
由于DNS在设计之初并没有考虑安全问题,层次化的树状结构中通往每个节点的路径都是唯一的。任何一个节点出现问题,都将造成其子节点不可达。原理本身的局限性导致了DNS防范攻击的能力较弱。同时,由于目前应用最为广泛的DNS服务软件—Bind是开放式的免费系统。Bind在提供高效服务的同时也存在较多安全漏洞,并且漏洞修复的及时性难以得到保证。DNS的关键地位也使它成为网络攻击的显著目标,加之攻击防御能力较弱,因此拒绝服务攻击、缓冲区中毒、域名劫持等各种针对漏洞的攻击方法对DNS造成严重威胁。
三、传统DNS加强方案存在的缺陷
由于DNS系统的重要性和脆弱性,近年来各互联网运营商一直致力于DNS系统的加强和防护。一般通过以下两种方法实现:
(一)增强法
增强法是通过在现有DNS系统前增加防火墙、流量清洗等传统网络安全设备,依据IP地址、端口、流量等条件限制访问DNS服务器数据包,过滤掉非DNS请求,在保持现有系统网络结构的前提下,达到加强DNS的效果。但随着DDOS攻击方式的出现,仅根据IP地址、端口已无法区分出攻击流量与正常请求。一方面,大量的攻击流量无法识别,被允许通过,安全设备形同虚设。另一方面,大量的攻击流量导致安全设备性能严重下降,本身成为影响系统正常服务的瓶颈。因此,增强法加强系统安全性的能力有限,并且不能提升DNS系统性能。
(二)分担法
分担法是通过增加四层交换机或采用Anycast技术,利用将DNS请求分担到多台服务器的方式扩展DNS系统。其核心仍然是依靠增加DNS服务器数量的方法来提升系统性能,同时凭借DNS服务器集群的处理能力淹没攻击来提高系统安全性。由于单台服务器的能力有限,随着网络规模的增长和攻击流量的增加,服务器的数量必将大量增加。因此,分担法虽然能够有效提升DNS系统性能,但建设、维护成本都较高,能耗较大,提高DNS系统安全性的性价比较低。
四、提升互联网安全性能的DNS加强系统的主要做法
针对DNS系统存在的问题及传统DNS加强方案的不足,结合运营商DNS实际特点,提出了高效的DNS加强系统解决方案:
(一)采用前端部署方式,保持原有DNS系统结构不变
DNS加强系统采用串行方式部署在原有DNS系统上联电路中,对现有系统及用户透明,对递归、非递归解析服务没有影响,不依赖原有DNS服务器运行的DNS服务软件版本。在不改变现有系统网络结构的前提下,有效提高系统性能和安全可靠性。
(二)改变DNS系统服务能力提升模式
针对现有DNS系统依赖增加服务器数量提升系统性能,可扩展性差的问题,通过部署DNS加强系统,有效提高系统性能。传统的DNS服务软件(Bind),同时要完成比较复杂的DNS递归功能和相对简单的DNS缓存应答功能,由于DNS服务软件都是工作在应用层的,因此其性能比较低,单台服务器进行缓存应答的能力一般不超过4万次/秒。而DNS加强系统只完成相对简单的DNS缓存应答,它将DNS服务软件的递归结果缓存下来,由操作系统内核进行处理并配合硬件加速,直接响应客户的DNS解析请求,从而可将单台服务器进行缓存应答的能力提升到80万次/秒。
依靠增加DNS服务器的数量,只能让DNS服务能力线性缓慢增加。而通过在现有DNS系统中部署加强系统,可在不改变现有系统网络结构的前提下,将服务能力成倍提高。大量节省服务器数量,一方面大大降低了能耗,符合绿色低碳、节能减排的政策要求;另一方面大幅降低了扩容、建设成本和人员、管理、维保等维护成本。
(三)优化DNS系统解析响应模式
传统的DNS服务软件(Bind)要完成DNS递归功能,由于DNS递归服务逻辑复杂、消耗的资源比较多,因而其可靠性远不如仅完成简单的缓存功能的DNS加强系统。DNS加强系统改变了完全依靠DNS服务软件(Bind)响应客户解析请求的模式。通过向DNS服务软件(Bind)请求域名信息并将返回结果缓存下来,利用缓存的域名信息代替DNS服务软件(Bind),基于硬件响应用户解析请求。 当传统DNS服务软件(Bind)出故障之后,DNS加强系统能以缓存中的内容继续应答客户的DNS解析请求;当用户域名授权服务器出现故障之后,传统DNS系统无法获得域名的授权解析记录,导致用户无法正常访问。而此时DNS加强系统能够使用故障前缓存下来的记录继续响应用户解析请求,保证该域名能够正常访问。通过DNS加强系统与DNS服务软件(Bind)相结合的模式,提高响应速度,改善用户感知,大幅度提升DNS系统的可用性。
(四)基于DPI的DNS系统攻击防范技术
DNS系统本身和传统的网络安全设备(如防火墙)都无法有效防范针对DNS的DOS和DDOS攻击。当攻击者发出攻击IP包时,由于该IP包完全符合DNS协议标准,DNS系统本身及传统的网络安全设备没有任何抵御能力,攻击者很容易将DNS攻击瘫痪。实验中,40Mbps带宽的攻击流量导致解析能力为4万次/秒的传统DNS系统瘫痪。
DNS加强系统利用DPI技术,结合密集计算,能从攻击包中准确识别出攻击者发出的“DNS攻击指纹”。DPI 技术就是通过对应用流中的数据报文内容进行探测,从而确定数据报文的真正应用。因为非法应用可以隐藏端口号,但目前较难以隐藏应用层的协议特征。不同的应用都有其特殊的指纹,这些指纹可以是特定的字符串或者特定的Bit 序列。DPI识别技术通过对业务流中特定数据报文中的“指纹”信息的检测以确定其真实的内容。并且,通过对“指纹”信息的升级,DPI识别技术可以很方便的进行功能扩展,实现对不断变化内容的实时检测。
通过高效准确的识别攻击流量,DNS加强系统抛弃不合规范的DNS请求,实现限制单位时间内指定宽带帐号/IP DNS请求总量、限制单位时间内指定域名的DNS请求总量、对指定的域名进行特别应答等功能,将抵御DOS和DDOS攻击性能大幅度提升,提高现有DNS系统的健壮性和可靠性。
(五)提高DNS系统数据挖掘能力
传统的DNS服务软件(Bind)对解析量以日志文件的方式进行记录,很不直观,并且当DNS解析量增大的时候,记录日志工作给系统造成沉重的负担。DNS加强系统直接在内存中对DNS解析进行统计后,将统计结果直接写入数据库,降低CPU开销的同时实现更详细的分析统计。通过对域名解析量、解析成功率、解析速度、域名、用户、时间等数据深度挖掘,多维统计分析,提供详细的报表,为业务发展提供参考和依据。
五、实施效果
通过部署提升互联网安全性能的DNS加强系统,大幅提高了DNS系统服务能力,平均解析响应时延缩短为原来的1/4,平均查询成功率从90.5%提高到99%,用户感知明显改善。同时,有效加强了系统防攻击能力,提高了DNS系统安全可靠性,保障了宽带用户的服务质量,满足了网络稳定、信息安全的迫切需要。
参考文献:
[1]Saadat Malik.网络安全原理与实践.人民邮电出版社
[2]Cricket Liu Paul AlbitzDNS与BIND.人民邮电出版社
作者简介:
王大深,1978年9月,男,山东济南,大学本科,工程师,IP网络规划、维护、优化方向,中国联合网络通信有限公司山东省分公司网管中心[email protected]
【关键词】DNS 安全 加强系统
一、背景
DNS(Domain Name System)系统是一种多层次的分布式数据库系统,其基本功能是提供易于记忆的域名和不易记忆、但技术上真正使用的IP地址之间的映射,便于用户或网络应用访问网络资源。DNS采用客户端/服务器方式工作,在服务器中存放域名信息,允许客户端访问所需的数据。
由于网页浏览、电子邮件、即时通讯、网络游戏等各种互联网服务都依赖于DNS实现,一旦DNS出现故障,将导致大量互联网应用无法正常使用,DNS故障基本等同于网络中断。因此,DNS作为互联网的基础服务,其安全问题具有举足轻重的地位,域名解析的准确程度和响应速度对网络服务质量都具有重要影响。
近年来,与DNS相关的安全事件越来越多,影响也越来越大。而传统的DNS加强方案提高系统安全性的能力有限,且建设、维护成本都较高,能耗较大,提高DNS系统安全性的性价比较低。正是基于DNS系统安全的重要性和存在的问题,2010年2月工业和信息化部以政府公告的形式,要求基础电信运营商及相关单位对DNS系统进行加强。因此,亟需有效提升DNS系统安全可靠性的解决方案。
二、现有DNS系统存在的主要问题
(一)建设、运维成本高,可扩展性差
随着互联网应用的不断发展和宽带的快速普及,DNS系统的规模越来越大,网络结构也越来越复杂。从过去的集中式部署逐步发展为分布式部署,从单机逐渐演进成多机负载分担的方式。之前,DNS系统能力的提升只能通过服务器数量的增加方式来实现。服务器数量的大量增加一方面导致扩容投资增长,另一方面造成管理困难,运行维护成本上升。
(二)缺陷、漏洞多,防攻击能力差
由于DNS在设计之初并没有考虑安全问题,层次化的树状结构中通往每个节点的路径都是唯一的。任何一个节点出现问题,都将造成其子节点不可达。原理本身的局限性导致了DNS防范攻击的能力较弱。同时,由于目前应用最为广泛的DNS服务软件—Bind是开放式的免费系统。Bind在提供高效服务的同时也存在较多安全漏洞,并且漏洞修复的及时性难以得到保证。DNS的关键地位也使它成为网络攻击的显著目标,加之攻击防御能力较弱,因此拒绝服务攻击、缓冲区中毒、域名劫持等各种针对漏洞的攻击方法对DNS造成严重威胁。
三、传统DNS加强方案存在的缺陷
由于DNS系统的重要性和脆弱性,近年来各互联网运营商一直致力于DNS系统的加强和防护。一般通过以下两种方法实现:
(一)增强法
增强法是通过在现有DNS系统前增加防火墙、流量清洗等传统网络安全设备,依据IP地址、端口、流量等条件限制访问DNS服务器数据包,过滤掉非DNS请求,在保持现有系统网络结构的前提下,达到加强DNS的效果。但随着DDOS攻击方式的出现,仅根据IP地址、端口已无法区分出攻击流量与正常请求。一方面,大量的攻击流量无法识别,被允许通过,安全设备形同虚设。另一方面,大量的攻击流量导致安全设备性能严重下降,本身成为影响系统正常服务的瓶颈。因此,增强法加强系统安全性的能力有限,并且不能提升DNS系统性能。
(二)分担法
分担法是通过增加四层交换机或采用Anycast技术,利用将DNS请求分担到多台服务器的方式扩展DNS系统。其核心仍然是依靠增加DNS服务器数量的方法来提升系统性能,同时凭借DNS服务器集群的处理能力淹没攻击来提高系统安全性。由于单台服务器的能力有限,随着网络规模的增长和攻击流量的增加,服务器的数量必将大量增加。因此,分担法虽然能够有效提升DNS系统性能,但建设、维护成本都较高,能耗较大,提高DNS系统安全性的性价比较低。
四、提升互联网安全性能的DNS加强系统的主要做法
针对DNS系统存在的问题及传统DNS加强方案的不足,结合运营商DNS实际特点,提出了高效的DNS加强系统解决方案:
(一)采用前端部署方式,保持原有DNS系统结构不变
DNS加强系统采用串行方式部署在原有DNS系统上联电路中,对现有系统及用户透明,对递归、非递归解析服务没有影响,不依赖原有DNS服务器运行的DNS服务软件版本。在不改变现有系统网络结构的前提下,有效提高系统性能和安全可靠性。
(二)改变DNS系统服务能力提升模式
针对现有DNS系统依赖增加服务器数量提升系统性能,可扩展性差的问题,通过部署DNS加强系统,有效提高系统性能。传统的DNS服务软件(Bind),同时要完成比较复杂的DNS递归功能和相对简单的DNS缓存应答功能,由于DNS服务软件都是工作在应用层的,因此其性能比较低,单台服务器进行缓存应答的能力一般不超过4万次/秒。而DNS加强系统只完成相对简单的DNS缓存应答,它将DNS服务软件的递归结果缓存下来,由操作系统内核进行处理并配合硬件加速,直接响应客户的DNS解析请求,从而可将单台服务器进行缓存应答的能力提升到80万次/秒。
依靠增加DNS服务器的数量,只能让DNS服务能力线性缓慢增加。而通过在现有DNS系统中部署加强系统,可在不改变现有系统网络结构的前提下,将服务能力成倍提高。大量节省服务器数量,一方面大大降低了能耗,符合绿色低碳、节能减排的政策要求;另一方面大幅降低了扩容、建设成本和人员、管理、维保等维护成本。
(三)优化DNS系统解析响应模式
传统的DNS服务软件(Bind)要完成DNS递归功能,由于DNS递归服务逻辑复杂、消耗的资源比较多,因而其可靠性远不如仅完成简单的缓存功能的DNS加强系统。DNS加强系统改变了完全依靠DNS服务软件(Bind)响应客户解析请求的模式。通过向DNS服务软件(Bind)请求域名信息并将返回结果缓存下来,利用缓存的域名信息代替DNS服务软件(Bind),基于硬件响应用户解析请求。 当传统DNS服务软件(Bind)出故障之后,DNS加强系统能以缓存中的内容继续应答客户的DNS解析请求;当用户域名授权服务器出现故障之后,传统DNS系统无法获得域名的授权解析记录,导致用户无法正常访问。而此时DNS加强系统能够使用故障前缓存下来的记录继续响应用户解析请求,保证该域名能够正常访问。通过DNS加强系统与DNS服务软件(Bind)相结合的模式,提高响应速度,改善用户感知,大幅度提升DNS系统的可用性。
(四)基于DPI的DNS系统攻击防范技术
DNS系统本身和传统的网络安全设备(如防火墙)都无法有效防范针对DNS的DOS和DDOS攻击。当攻击者发出攻击IP包时,由于该IP包完全符合DNS协议标准,DNS系统本身及传统的网络安全设备没有任何抵御能力,攻击者很容易将DNS攻击瘫痪。实验中,40Mbps带宽的攻击流量导致解析能力为4万次/秒的传统DNS系统瘫痪。
DNS加强系统利用DPI技术,结合密集计算,能从攻击包中准确识别出攻击者发出的“DNS攻击指纹”。DPI 技术就是通过对应用流中的数据报文内容进行探测,从而确定数据报文的真正应用。因为非法应用可以隐藏端口号,但目前较难以隐藏应用层的协议特征。不同的应用都有其特殊的指纹,这些指纹可以是特定的字符串或者特定的Bit 序列。DPI识别技术通过对业务流中特定数据报文中的“指纹”信息的检测以确定其真实的内容。并且,通过对“指纹”信息的升级,DPI识别技术可以很方便的进行功能扩展,实现对不断变化内容的实时检测。
通过高效准确的识别攻击流量,DNS加强系统抛弃不合规范的DNS请求,实现限制单位时间内指定宽带帐号/IP DNS请求总量、限制单位时间内指定域名的DNS请求总量、对指定的域名进行特别应答等功能,将抵御DOS和DDOS攻击性能大幅度提升,提高现有DNS系统的健壮性和可靠性。
(五)提高DNS系统数据挖掘能力
传统的DNS服务软件(Bind)对解析量以日志文件的方式进行记录,很不直观,并且当DNS解析量增大的时候,记录日志工作给系统造成沉重的负担。DNS加强系统直接在内存中对DNS解析进行统计后,将统计结果直接写入数据库,降低CPU开销的同时实现更详细的分析统计。通过对域名解析量、解析成功率、解析速度、域名、用户、时间等数据深度挖掘,多维统计分析,提供详细的报表,为业务发展提供参考和依据。
五、实施效果
通过部署提升互联网安全性能的DNS加强系统,大幅提高了DNS系统服务能力,平均解析响应时延缩短为原来的1/4,平均查询成功率从90.5%提高到99%,用户感知明显改善。同时,有效加强了系统防攻击能力,提高了DNS系统安全可靠性,保障了宽带用户的服务质量,满足了网络稳定、信息安全的迫切需要。
参考文献:
[1]Saadat Malik.网络安全原理与实践.人民邮电出版社
[2]Cricket Liu Paul AlbitzDNS与BIND.人民邮电出版社
作者简介:
王大深,1978年9月,男,山东济南,大学本科,工程师,IP网络规划、维护、优化方向,中国联合网络通信有限公司山东省分公司网管中心[email protected]