终端的dns服务器的监控方法及系统的制作方法
【技术领域】
[0001]本发明属于网络安全技术领域,涉及终端的DNS服务器的监控方法及系统。
【背景技术】
[0002]作为互联网的重要基础设施,域名系统(Domain Name System, DNS) 一直为全球互联网的运行提供关键性的基础服务。随着互联网规模爆炸式增长,DNS相关的各种新技术相继出现,如IPv6、多语种域名和DNS安全扩展协议(DNS Security Extens1n,DNSSEC)等,DNS系统也由此变得越来越庞杂。由于在设计之初对安全性和扩展性考虑欠缺,域名系统在协议、实现和操作上在着固有的不足与脆弱,进而使其面临着很多安全威胁。
[0003]作为一个DNS系统的重要组成部分,递归服务器不仅容易遭受缓存中毒和DDOS等的外部攻击,而且容易因为人为配置错误等内部原因而发生故障。另外,一些不良的递归服务器还可能会篡改域名数据,重定向用户的域名请求,影响DNS应用的正常使用。不管是哪种问题,都会造成终端用户无法正常上网,或影响到用户的上网安全。
[0004]不仅终端预设的DNS服务器容易遭受攻击,而且即使递归服务器是安全且稳定的,但也不能完全保证从它到终端之间的安全。虽然越来越多的顶级域和二级域部署了DNSSEC,但是至今DNSSEC却无法保障从DNS服务器到终端之间的安全。
[0005]现在,当预设的DNS服务器发生安全故障或终端到它之间遇到攻击时,用户上网受到一定的影响,但用户没有有效的手段发现问题和了解故障。
【发明内容】
[0006]针对上述问题,本发明的目的是提供终端的DNS服务器的监控方法及系统,通过对终端的DNS服务器进行监测和控制,以解决终端配置的DNS服务器安全故障影响终端上网的问题,从DNS角度帮助减少访问网络的时延和提高访问网络的安全性,最终提高终端访问网络的体验。
[0007]为了实现上述技术目的,本发明采用以下技术方案:
[0008]终端的DNS服务器的监控方法,具体包括以下步骤:
[0009]I)分别获取由客户机本机发出的和接收到的DNS数据;
[0010]2)对DNS数据进行分析,分析解析时延统计和检测返回的DNS数据的安全性,如果解析超时或者DNS数据异常,跳转到3);否则,跳过此步骤而继续I)的监测;
[0011]3)通过操作系统的DNS修改接口用一个DNS服务器的IP地址列表替换当前的DNS,将新的DNS作为系统的DNS。
[0012]进一步地,步骤I)中通过从网卡上抓包或者通过其他手法(包括本机的请求日志或系统日志)获取DNS数据。
[0013]进一步地,步骤I)中获取的DNS数据可能有:终端请求解析的域名和DNS服务器相应的应答数据,解析域名所用时延,请求失败的次数和机率,请求命中的次数和机率,DNS停服务的机滤和频率等。
[0014]进一步地,步骤2)中解析时延统计的方法包括:将终端每次的域名解析请求所花费的时间记录下来,统计过去一段时间内的或自从开始统计时刻起平均解析时延。
[0015]进一步地,步骤2)中DNS数据的安全性的检测方法包括:向一台或多台预留DNS服务器请求同类型资源记录集的域名数据,并将要检测安全性的域名数据与之相比对,按照一定的标准判断其安全性;或者将要检测的域名数据发送到一个域名数据安全性检测平台或系统,请求它帮助检测其安全性。
[0016]进一步地,步骤3)中所述的DNS服务器的IP地址列表中包含一个或多个解析时延比原DNS服务器更小和DNS解析数据正确安全的DNS服务器的IP地址。
[0017]进一步地,步骤3)中所述的DNS服务器的IP地址列表是基于DNS请求域名对预留服务器进行探测得到的,包括:向预留服务器发送有关使用本机请求域名的DNS请求,统计DNS解析时延和DNS解析数据的安全性和完整性,并从中选出解析时延比原DNS服务器更小和DNS解析数据正确安全的DNS服务器。
[0018]进一步地,上述方法还包括在替换DNS之前向用户或相关系统发送DNS变更消息,并等待用户的反馈,如果在规定的时间里有反馈,则采取用户反馈的解决方案,否则就直接完成替换工作。
[0019]其中,上述DNS变更消息包括操作系统当前配置的DNS存在的问题描述和解析时延比原DNS服务器更小和DNS解析数据正确安全的DNS服务器的IP地址。
[0020]终端的DNS服务器的监控系统,包括监测模块和控制模块,其中:
[0021]所述监测模块用于监测终端的DNS请求和DNS响应的系统流量,计算DNS的响应时延,检测返回的DNS响应数据的安全性,如果超时或者DNS响应数据异常,那么就通知控制模块以做DNS变更;
[0022]所述控制模块接收监测模块的通知,调用操作系统的接口修改操作系统的DNS设置,用解析时延比原DNS服务器更小和DNS解析数据正确安全的服务器进行替换。
[0023]进一步地,上述系统还包括探测模块,所述探测模块接收监测模块发来的域名探测请求,向探测模块预留的DNS服务器请求该域名,并获取DNS服务器的解析时延和检测返回的DNS响应数据的安全性;同时,探测模块还可以将探测结果存储起来,以备查询。
[0024]另外,当监控系统设置探测模块时,所述监测模块还会将监测到的终端请求的域名定期或不定期地发送给探测模块。
[0025]进一步地,当监测模块检测到客户机系统设置的DNS的响应时延过大和响应数据异常,就向探测模块请求阈值个数的(如2个)响应时延比原DNS服务器更小、响应数据正确安全的DNS服务器的IP地址。当探测模块接收到此类请求时,就检索之前的探测结果,查找请求数量的响应时延比原DNS服务器更小、响应数据正确安全的DNS服务器的IP地址,并将将探测结果中排名在前面的服务器返回给监测模块。
[0026]进一步地,上述系统还包括提醒模块,所述提醒模块接收监测模块发送来的DNS变更通知,并向终端发送提醒消息;同时,还接收用户的反馈。如果用户有反馈,那么将用户反馈发送给控制模块。
[0027]另外,当监控系统设置提醒模块时,所述控制模块接收提醒模块发送来的用户反馈信息,根据用户反馈维护操作系统。
[0028]本发明的优点如下:
[0029]由于采用了以上的方案,可实现以下优点:
[0030](I) DNS解析高可用性。由于以往操作系统配置的DNS服务器是固定的且数量有限(一般来说就设置一两个)和对这些服务器的选择方法简单(如轮寻),所以DNS解析性能会容易受到影响。本方法不仅增加了 DNS服务器可以选择的余地,而且通过向服务器探测收集到的用户的请求域名和一些加权等合理手法针对性地获取性能更优良的服务器。这样的服务器可用性和稳定性必然相对更高。
[0031](2)安全系数高。由于探测模块对服务器返回的数据做了一些安全检查,如DNSSEC验证,所以相比以往操作系统完全信任服务器返回的请求结果本系统设置的服务器安全系数必然更高。在DNSSEC方面,解决了服务器和终端之间的“最后一英里”安全性问题。
[0032](3)部署简单。本监控系统不用更改DNS协议和操作系统代码,只要将监控系统部署在客户机终端上并让操作系统授权给该系统修改DNS的权限即可。
【附图说明】
[0033]图1是本发明终端的DNS服务器的监控系统架构图。
[0034]图2是本发明终端的DNS服务器的监控系统模块图。
[0035]图3是本发明另一终端的DNS服务器的监控系统模块图。
[0036]图4是本发明终端的DNS服务器的监控方法流程图。
【具体实施方式】
[0037]本发明提出一种终端的DNS服务器的监控方法及系统,用以提升终端的DNS解析的安全性,其系统架构如图1所示。
[0038]监控终端的DNS服务器的方法是:监测预设的DNS服务器的性能(如响应时延)和安全特性(DNSSEC验证),如果发现安全隐患和性能故障,那么就提醒用户做处理、提醒用户并提供合适的解决方案或者以默
认倒计时等提醒方式半自动化地帮助用户处理等,或者在不告知用户的情况下自动修改。
[0039]本发明终端的DNS服务器的监控系统如图2和3所示,主要包括监测模块和控制模块,还可以进一步包括提醒模块和探测模块。具体功能如下所述。
[0040]监测模块
[0041]监测终端的DNS请求和DNS响应的系统流量,计算DNS的响应时延,如果当过去一定长度时间(如I分钟)内阈值数量的DNS解析的平均时延超出设定阈值,监测模块就将相关情况通知控制模块。
[0042]另外,当监控系统设置探测模块时,还会将监测到的终端请求的域名定期或不定期地发送给探测模块。
[0043]提醒模块
[0044]接收监测模块发送来的DNS变更提醒通知,并向用户发送提醒消息,并将从探测模块获取的更高性能、更安全的DNS服务器发送给终端。同时,接收终端的反馈。
[0045]探测模块
[0046]从监测模块接收到终端请求的域名,向一些预留的DNS服务器发送DNS请求,并检测返回的DNS请求的安全性和获取DNS服务器的性能。响应监测模块的请求,并返回给其更好的DNS服务器IP地址列表。
[0047]控制模块
[0048]根据终端的反馈和设定,调用操作系统的接口修改操作系统的DNS设置,用更好的DNS服务器替换掉有问题的DNS服务器。
[0049]本发明终端的DNS服务器的监控方法的工作流程如图4所示,具体如下:
[0050](I)监测模块嗅探网卡上的DNS流量,对由本机发出的DNS请求和相应的DNS响应做数据统计工作和安全验证工作,如计算过去T时间长度的一段时间里的平均时延Ttl等。只要平均时延Ttl在从刚刚过去的、连续的一段时间里T JT1CT)里都超过阈值Th,那么就将通知控制模块,并跳转到(2)。否则,就继续进行这样的嗅探工作。
[0051](2)当监测模块监测到解析超时或者DNS响应数据异常时,就向探测模块发送请求,请求获取一个或多个性能系数和安全系统更高的DNS服务器的IP地址。如果接收不到,那么就报错并退出。
[0052](3)当探测模块接收到监测模块发送的请求时,它就将计算获得的性能系数和安全系数最高都相对较高的DNS服务器的IP地址返回给监测模块。如果计算不出或计算出的服务器的性能和安全性都不达标,那么就报错并退出。
[0053](4)当控制模块接收到监测模块发来的IP地址时,就通过调用操作系统的接口修改DNS设置,用这些地址替换原有的地址。如果修改失败,那么报错。退出。
[0054]以上流程是该方法和系统的主要流程。除此之外,还有一些小的辅助流程,如探测流程和提醒流程。
[0055]探测流程
[0056](I)监测模块从DNS请求中提取出请求域名并发送给探测模块。
[0057](2)探测模块接收到监测模块发送来的请求域名,向其预留的各个DNS服务器请求该域名,统计其解析时延和验证返回的DNS响应数据的安全性。如果该域名已有一些探测统计结果(如响应时延和响应数据安全信息),那么就用更新这些统计结果,否则将该域名及其探测统计结果保存起来。
[0058]这个统计结果就可以提供给监测模块使用。每当监测模块请求性能和安全系数更高的DNS服务器时,将排名在前面的DNS服务器返回给它。
[0059]提醒流程
[0060](I)当监测模块监测到解析超时或者DNS响应数据异常时,就向提醒模块发送DNS变更提醒。
[0061](2)提醒模块收到DNS变更提醒后,将DNS变更提醒中的新DNS服务器的IP地址和操作系统当前配置的DNS的问题描述告知用户。向用户告知哪些服务器出了问题,可以用哪些其他服务器替代它们。
[0062](3)等待用户的反馈,并将用户的反馈发送给控制模块。
[0063]这个流程是可选的,用户可以授权该系统自主地选择相对表现更优的服务器,从而不用主动提醒用户。
[0064]以上实施例仅仅是举例说明,不能认定本发明的【具体实施方式】仅限于这些实施例的说明。对本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演和变换,都应当视为属于本发明的保护范围。
【主权项】
1.终端的DNS服务器的监控方法,包括以下步骤: 1)分别获取由客户机本机发出的和接收到的DNS数据; 2)对DNS数据进行分析,分析解析时延统计和检测返回的DNS数据的安全性,如果解析超时或者DNS数据异常,跳转到3);否则,跳过此步骤而继续I)的监测; 3)通过操作系统的DNS修改接口用一个DNS服务器的IP地址列表替换当前的DNSJf新的DNS作为系统的DNS。2.如权利要求1所述的终端的DNS服务器的监控方法,其特征在于,步骤I)中通过从网卡上抓包或者通过客户机本机的请求日志或系统日志获取DNS数据。3.如权利要求1所述的终端的DNS服务器的监控方法,其特征在于,步骤3)中所述的DNS服务器的IP地址列表中包含一个或多个解析时延比原DNS服务器更小和DNS解析数据正确安全的DNS服务器的IP地址。4.如权利要求1所述的终端的DNS服务器的监控方法,其特征在于,步骤3)中所述的DNS服务器的IP地址列表是基于DNS请求域名对预留服务器进行探测得到的。5.如权利要求1所述的终端的DNS服务器的监控方法,其特征在于,还包括在替换DNS之前向用户或相关系统发送DNS变更消息,并等待用户的反馈,如果在规定的时间里有反馈,则采取用户反馈的解决方案,否则就直接完成替换工作。6.如权利要求5所述的终端的DNS服务器的监控方法,其特征在于,所述的DNS变更消息包括操作系统当前配置的DNS存在的问题描述和解析时延比原DNS服务器更小和DNS解析数据正确安全的DNS服务器的IP地址。7.终端的DNS服务器的监控系统,包括监测模块和控制模块,其中: 所述监测模块用于监测终端的DNS请求和DNS响应的系统流量,计算DNS的响应时延,检测返回的DNS响应数据的安全性,如果超时或者DNS响应数据异常,那么就通知控制模块以做DNS变更; 所述控制模块用于接收监测模块的通知,调用操作系统的接口修改操作系统的DNS设置,用解析时延比原DNS服务器更小和DNS解析数据正确安全的服务器进行替换。8.如权利要求7所述的终端的DNS服务器的监控系统,其特征在于,还包括探测模块,所述监测模块将监测到的终端请求的域名定期或不定期地发送给探测模块,所述探测模块接收监测模块发来的域名探测请求,向探测模块预留的DNS服务器请求该域名,并获取DNS服务器的解析时延和检测返回的DNS响应数据的安全性,探测模块将探测结果存储起来,以备查询。9.如权利要求8所述的终端的DNS服务器的监控系统,其特征在于,当监测模块向探测模块请求解析时延比原DNS服务器更小和DNS解析数据正确安全的服务器时,所述探测模块将探测结果中排名在前面的服务器返回给监测模块。10.如权利要求7所述的终端的DNS服务器的监控系统,其特征在于,还包括提醒模块,所述监测模块向所述提醒模块发送DNS变更通知;所述提醒模块向终端发送提醒消息,同时接收并将用户反馈发送给控制模块;所述控制模块根据用户反馈维护操作系统。
【专利摘要】本发明公开了终端的DNS服务器的监控方法及系统,属于网络安全技术领域。通过对终端用户配置的DNS服务器的监测和控制的方法解决DNS服务器安全故障影响终端用户上网的问题。本发明通过获取由客户机本机发出的DNS请求数据和接收的相应的DNS数据,统计系统配置的DNS服务器的解析时延,检测其返回的DNS响应数据的安全性,如果超时或者DNS响应数据异常,则通过操作系统的DNS修改接口修改DNS。本发明从DNS角度帮助用户提高了网络访问的速率时延和安全性。
【IPC分类】H04L29/06, H04L12/26
【公开号】CN104883282
【申请号】CN201510345858
【发明人】刘明星, 刘昱琨, 张跃冬
【申请人】中国互联网络信息中心
【公开日】2015年9月2日
【申请日】2015年6月19日
转载请注明原文地址:https://www.famiwei.com/read-8136295.html