相明琼,魏媛,赵中辉,李月
域名系统DNS(Domain Name System)是现代各行各业使用最为广泛的IT基础服务之一,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使互联网用户、企业内部员工更方便的访问企业的任何信息系统 ,而不用去记住能够被机器直接读取的 IP地址。作为企业ICT(信息通信技术)基础设施,域名服务系统是影响互联网各项应用性能的重要环节,稳定的域名解析服务是确保互联网业务、企业内部业务系统正常运行的基础。域名解析的流程采取分布式树形结构,高效的实现数据的管理、更新、一致性具有一定的难度。因此,构建企业高可用域名解析服务,需要深入结合企业现有的网络布线情况,制定出完善的域名解析容灾和恢复机制,提升可控性和高效性。
目前,企业搭建域名解析服务分为两种方式:自建DNS平台和第三方托管。自建DNS服务平台存在因基础设施、技术力量及带宽资源投入有限而无法抵御 DDOS攻击等问题;第三方托管用户范围广,群体复杂,易成为攻击目标,且第三方的托管平台经常暴漏出安全和故障问题。目前,国内大多数企业采用自建 DNS平台的方式,但由于微传统DNS技术较为复杂,加之技术人员匮乏,DNS系统通常需要借助人工手段实现解析数据的一致性,费时费力,管理效率低;大型企业在不同地域的分支机构DNS平台复杂多样,存在较多的安全漏洞,难以实现一致的DNS响应能力,直接影响用户的体验和系统的推广;IT资源重复建设,浪费严重,且无法实现全网的智能灾备,存在DNS不可用风险。
集中式部署:集中式部署的特点是管理简单,但解析质量受企业内部网络互连互通影响,存在网络拥塞、单点故障、解析延时等风险,例如某企业在全国三十几个省级行政区均有分支机构,这些分支机构与总部的网络互通情况受网络运营商、网络带宽、网络延迟等多因素影响,与总部的 DNS互通情况并不理想,导致解析效率减慢、系统登陆不稳定等情况。另外,集中部署还存在单点故障的风险,一旦部署节点网络不可达或出现故障,整个企业依赖于域名解析的生产、办公业务都面临中断的风险。
传统分布式部署:企业的主DNS服务器部署在企业总部,同时在位于三十几个省级行政区的分支机构部署本地化服务节点,与集中式部署相比,可有效提高业务可用性及性能,但是大大的增加了成本,且存在安全风险,如分支机构缺乏专业的技术人员,导致管理风险。分布式部署采用主、辅更新方式,所有分支机构DNS的数据来自于主DNS,但缺乏反馈机制,存在如下隐患:
(1)数据同步效率低:主、辅DNS都需经过不断的交互来保证数据最新,效率较低,且在网络不畅的情况下,会出现数据丢帧,造成数据不一致。
(2)全网故障:辅DNS数据过期后,向主DNS申请更新,如果主DNS发生故障或网络不可达,辅DNS将停止服务,导致局部或者全网DNS不可用。
DNS作为网络翻译官,其作用至关重要,同时黑客掌握了对DNS造成安全威胁的种种手段,比如DDos攻击、DNS缓存投毒、域名劫持等,2014年1月21日,全国大范围出现DNS故障,下午15时20分左右,中国顶级域名根服务器出现故障,大部分网站受影响,试想如果企业内部 DNS出现故障,将导致内部系统域名无法解析,对外业务无法办理,近而严重影响盈利能力和公众形象。网络安全和管理解决方案顶级研究公司Arbor Networks统计的网络攻击数据,如图1所示:
图1 Arbor Networks统计的网络攻击数据
近年来针对DNS基础设施攻击增长迅猛,2014年达到200%,被攻击对象中企业占42%,其中金融业占13%,其遭受的损失排在第一位。从图中可以看出,DNS攻击仅此于http攻击,成为黑客的重点攻击目标,因此,企业应用安全、高效的DNS架构已迫在眉睫。
随着经济全球化发展,各企事业单位需要跨地域部署DNS服务器,对服务架构的可扩展性、网络服务安全性和高可用性有较高的要求,下面提出一种分布式部署机制,可以为企事业单位关键业务和支撑环境提供不间断的DNS服务。分布式部署由DNS中央管理设备和节点服务设备组成,设备之间相互配合,数据共享,其实也单位在各个地域具有多个营业点,管理方式各异,有的采用总部统一管理,有的总部只管理二级机构,由二级机构分管下属企业,对于以上情况,均可通过分布式部署机制实现。各区域管理设备可使用各个策略和配置来控制节点服务设备,中央管理设备可提供对各个区域管理设备的完全可见性,如图2所示:
图2 DNS的分布机构图
例如,新节点服务设备安装或者故障设备替换时,区域管理设备自动同步设备配置信息和数据信息至新设备,短时间内自动实现与被替换设备完全相同的部署,接管所有本地服务。另一方面,为了确保设备操作的安全性及故障可追溯性,中央管理设备、区域管理设备均需配备三个角色,分别为权限管理员、DNS管理员、审查员,权限管理员负责分配DNS管理员和审查员所拥有的操作权限,DNS管理员执行日常管理、配置操作,审查员负责定期检查DNS管理员的操作是否合规,如图1所示:
基于高可用分布式部署机制的各DNS服务器之间需要有智能、高效的数据同步机制,此机制采用基于消息总线的工业级分布式数据通信框架,利用实时的动态更新机制,使得所有共享资源能得到实时更新,保证了网络数据一致性,比主辅配置机制更加简便、安全。DNS节点服务设备和中央管理设备之间具有加密的双向配置同步功能,同时也能够交换报告信息和统计数据,如图3所示:
图3 DNS节点服务设备运行
当管理员对一个DNS服务设备或一组设备进行配置或策略变更时,中央管理设备自动将变更传播到所管理的每个服务设备。节点服务设备具有消息队列,保证服务设备即使在网络中断恢复后,也能收到消息,处于不可用状态、无法接收更新数据的DNS设备将在下次恢复使用时接收更新数据。下图描述了此机制的运行原理:
2.2.1 网络和节点正常,新增、删除或变更的数据由中央管理设备加密同步传输至目标节点设备,目标节点设备反馈同步情况。
2.2.2 网络或节点故障,新增、删除或变更的数据无法完成同步,中央管理设备会在每次发动数据同步时自动生成消息队列,将所需同步的数据存放在消息队列中。
2.2.3 网络或节点设备恢复,中央管理服务器将消息队列中的数据重新同步至目标节点设备,目标节点设备反馈同步情况。
随着信息技术的不断发展,连接企业网络的终端设备类别日益丰富,连接企业网络的人群也不断细分,出于安全需要,针对不同角色的权限控制急需加强,本文以“智能化、便捷化”为基础,应用轻量级协议LDAP和“指纹”识别技术,提出一种实现DHCP业务的方法,如图4所示:
图4 DHCP的实现过程
LDAP(Lightweight Directory Access Protocol)即轻量目录访问协议,以树状的层次结构来存储数据,存储结构类似于DNS树及UNIX文件目录树,对比传统数据库,LDAP的架构和优化主要是针对读取而不是写入,作为一个统一认证的解决方案,主要优点在于能够快速、高效的响应用户的查找需求。以实现“用户认证”为例,如果用数据库来实现,由于数据库结构分成了各个表,每次都需要搜索数据库并合成过滤,可能产生大量的并发。LDAP只是一张表,只需要用户名和口令,便可通过树形结构模式查找不同用户的访问权限,有“搭建便捷、容易维护、使用高效”等特点。“指纹”识别技术可智能显示 上网设备所使用的系统类别及版本号,如“Windows”、“Mac”“Redhat”、“Android”等;可只能识别网络设备品牌型号,如“Cisco”、“Huawei”、“H3C”等;可智能识别移动终端品牌型号,如“BlackBerry”、“Ipad Air2”、“Ipad Mini”、“IPhone 6”、“Samsung s6 edge”等详细信息。
2.3.1 前端认证系统登记新用户、修改用户信息,数据记入数据库。
2.3.2 用户信息中与开通入网权限相关的属性由数据库写入LDAP,例如用户MAC,身份证号、用户名等。
2.3.3 当数据库中的用户数据与LDAP中不一致时,自动执行从数据库到LDAP的同步过程。
2.3.4 用户使用各种终端开机入网,终端向DNS服务器发出DHCP请求。DNS服务器通过指纹识别功能识别设备详细信息,并根据用户设备信息(MAC)查询LDAP,LDAP服务器检查这个MAC对应的属性,确定用户是否存在和状态是否开通,如果用户存在并且状态为开通,那么将client-class-name传送给DNS的DHCP服务器,client-class中包括scope-selection-tag,通过这个标记使用这个MAC的设备对应的scope和相应的policy,获得相应的地址空间,支持静态IP地址分配和动态IP地址分配等多种分配方式,可实现MAC和IP地址的临时和永久绑定;如果用户不存在或者状态为不开通,那么DNS将使用默认的配置。
本文以国内外通用DNS服务架构为基础,提出分布式部署机制、工业级数据同步机制、智能DHCP实现等技术并搭建模拟环境进行测试,取得了良好效果,暂未发现数据同步失败、网络服务失效等问题,保持了较高的服务效率,可供大型企事业单位参考使用。
[1] 蒋剑鸣.互联网域名与商标冲突研究.[M]北京:中国人民公安大学出版社,2011,4.
[2] Cricket Liu Paul Albitz.DNS与BIND(第5版) [M],北京:人民邮电出版社,2014,1.
[3] 伊藤直也,张毅.服务器/基础设施核心技术 [M],北京:人民邮电出版社,2015,1.
[4] 段钢.加密与解密(第3版) [M],北京:电子工业出版社,2008,7.
[5] 王珊.数据库系统概论(第4版) [M],北京:高等教育出版社, 2008,6.