Dns区传送监测方法及系统的制作方法

xiaoxiao2020-10-23  11

Dns区传送监测方法及系统的制作方法
【技术领域】
[0001]本发明属于DNS系统安全技术领域,涉及DNS区传送监测方法及系统。
【背景技术】
[0002]作为互联网的重要基础设施,域名系统(Domain Name System, DNS) 一直为全球互联网的运行提供关键性的基础服务。DNS系统的安全和稳定,对于互联网是很重要的。
[0003]一个区有很多权威服务器,包括主服务器和辅服务器。这两种服务器一般来说要在地理位置上有点距离。如图1所示,区数据从主服务器通过区传送传输DNS数据,DNS数据的安全和稳定依赖区传送。但是因为网络故障或者网速过慢等原因,DNS数据的传输总会发生某些故障,如不及时等。区传送的安全和稳定对于DNS系统和DNS解析是至关重要的。
[0004]DNS主服务器更新某区的DNS数据的时候,就会增大该区的SOA号。反过来说,SOA号的增大意味着DNS数据的更新。通过对SOA号的更新变化可以一定程度上监控DNS数据的更新情况。但是SOA号的变化量和DNS数据变化量并不是线性变化的,也就是说有的时候主服务器增加一个SOA号的时候,会更新了很多域名数据,SOA号的差异阈值不能代表DNS数据的大小差异量和DNS记录的条数,所以通过这种方法是不太科学的。
[0005]作为辅服务器的DNS服务器不断地从主服务器那获取数据的同时,区传送日志里就会记录下传输情况,区传送日志记录了区传送的主服务器或(和)从服务器的地址、传输速度等,这些信息从一个角度上在一定程度上反应了 DNS服务器的工作状态和工作环境。通过对这些信息的分析、监控和展现,可以及时地了解DNS权威服务器的数据传输状态。

【发明内容】

[0006]针对上述问题,本发明的目的是提供DNS区传送监测方法及系统,通过实时分析DNS区传送的相关信息监测DNS区传送的安全和稳定。
[0007]为了实现上述目的,本发明采用以下技术方案:
[0008]DNS区传送监测方法,通过区传送数据收集子系统和监测分析子系统实现,具体包括以下步骤:
[0009](I)区传送数据收集子系统(周期性地或实时地)收集、分析本机DNS权威服务器区传送的相关信息,从中获取对应的区传送统计数据,如果有区传送记录,那么就将这些区传送统计数据插入到一个队列;
[0010](2)监测分析子系统获取到来自区传送数据收集子系统的区传送统计数据,并分析接收到的区传送统计数据是否存在异常情况。
[0011 ] 进一步地,所述区传送的相关信息包括区传送日志,区传送流量捕获数据,区数据的周期比对数据等。
[0012]进一步地,所述区传送统计数据包括过去一定时间内区传送的区名、消息数、资源记录数、字节数和传输用时等信息。
[0013]进一步地,每个队列元素里有两个数字变量一一上次代号和当前代号,当前代号作为本次统计数据的代号,上次代号是队列队尾元素的代号,队列里的所有元素的当前代号和上次代号形成一个首尾相连的“代号链”,每当区传送数据收集子系统分析获得了新的数据后,就用比队列当前最大代号大的数字作为该数据的当前代号,从这个队列里的最小代号到最大代号所指定的数据是本地DNS服务器区传送的完整统计数据;如果监测分析子系统采用主动请求的方式从区传送数据收集子系统获取区传送统计数据,那么区传送数据收集子系统在队列中查询是否有相应的区传送统计数据,如果有就将其返回给监测分析子系统,如果没有就返回空数据;区传送数据收集子系统可以主动将数据推送给监测分析子系统,当收集到新数据时就主动推送。
[0014]进一步地,监测分析子系统发起查询时,如果监测分析子系统没有给出查询代号,那么区传送数据收集子系统就返回本次最大代号对应的数据;如果监测分析子系统发送查询代号,区传送数据收集子系统就会从队列中查找当前代号大于等于查询代号的新的队列元素,并分别将该队列元素中的数据发送给监测分析子系统。
[0015]如果监测分析子系统发送的查询代号大于队列中的任何元素的代号时,就将返回一个包含队列中的最小代号和最大代号“空数据”;如果查询代号小于队列的任何元素中的代号,就将队列的所有数据传送给监测分析子系统;如果查询代号并不与任何元素的代号相等,但介于两个相邻元素的代号之间,那么就返回前一个元素的代号与队尾元素之间(包括队尾元素)的数据。
[0016]进一步地,如果某个权威服务器的某个区的区传送数据与其他服务器的差异超出一定的阈值,就认为是异常情况。
[0017]进一步地,如果分析发现有异常,那么就通知其他系统或者DNS服务联系人,如果通知的是其他系统,那么就遵循其他系统的接口 ;如果通知的是DNS服务联系人,那么可以以邮件或者弹出框等形式的方式告知。
[0018]DNS区传送监测系统,包括区传送数据收集子系统和监测分析子系统,其中:
[0019]所述区传送数据收集子系统包括:
[0020]区传送数据收集模块,用于周期性地或实时地收集、分析本机DNS权威服务器区传送的相关信息,并将其传给监控子系统的分析模块;
[0021]所述监测分析子系统部署在各级权威服务器上,包括:
[0022]分析模块,用于接收区传送数据收集模块发送过来的数据,综合分析各个权威服务器的区传送统计数据,并将异常报告给报警模块;
[0023]报警模块,用于接收分析模块发送来的异常报告,并向其他系统或人员反馈。
[0024]进一步地,所述区传送的相关信息包括区传送日志,区传送流量捕获数据,区数据的周期比对数据等。
[0025]进一步地,所述区传送统计数据包括过去一定时间内区传送的区名、消息数、资源记录数、字节数和传输用时等信息。
[0026]进一步地,如果通知的是其他系统,那么就遵循其他系统的接口 ;如果通知的是DNS服务联系人,那么以邮件或者弹出框等形式的的方式告知。
[0027]由于采用了以上的方案,可实现以下优点:
[0028](I)高扩展性。本系统对任意数量的DNS服务器进行监测,而且监测分析子系统可以随时随地加入或离开监测点集群。
[0029](2)高可靠性。通过区传送数据收集子系统和监测分析子系统之间的一致性协议,保证了可以获得完整的监测数据。相对通过SOA号变化监控区传送,通过区传送的相关信息的分析,获得的监测信息更全面,能够更加准确地监测DNS服务器之间的区传送。
[0030](3)部署简单。监测分析子系统可以随时随地加入或离开监测点集群,使部署简单易用O
【附图说明】
[0031]图1显示现有技术中DNS权威服务器的层级架构。
[0032]图2是本发明DNS区传送监测系统架构图。
[0033]图3是本发明DNS区传送监测系统模块图。
[0034]图4是本发明DNS区传送监测方法流程图。
【具体实施方式】
[0035]图1展示的是DNS权威服务器的层级架构,也展示了区传送的数据流。
[0036]如图2所示,DNS区传送监测系统包括区传送数据收集子系统和监测分析子系统。区传送数据收集子系统不断地分析本地DNS服务器产生的区传送相关信息(例如区传送日志),并将分析结果存储起来;监测分析子系统周期性地或实时地请求区传送数据收集子系统存储的数据,并根据获得的所有数据分析判断区传送的情况,如果有异常就报警。
[0037]如图3所示,区传送数据收集子系统被部署在一个任意相关的机器上,包括区传送数据收集模块;监测子系统包括分析模块和报警模块。
[0038]区传送数据收集子系统的功能模块的具体功能如下所述。
[0039]区传送数据收集模块
[0040]区传送数据收集模块周期性地或实时地分析本机DNS权威服务器区传送的相关信息,以产生的区传送日志(包括传入日志文件和传出日志文件)为例,从日志中获取在过去一定时间内区传送的区名、消息数、资源记录数、字节数和传输用时等统计信息。例如,BIND服务器的一行区传送日志如下所示,从该行中,可以获取cn区的一次区传送记录数据,传输了一条信息,10条资源记录,945字节的数据,共耗时0.073秒。如果有区传送记录,那么就这些数据整体作为一个元素存到一个队列里;否则,不将空数据存到队列里面。服务器端要维护一定分析次数(如X次)的数据。
[0041]08-Sep-2014 16: 26: 17.631 xfer-1n:1nfo: transfer of' cn/IN' from10.10.4.6#5353:Transfer completed:lmessages, 1records, 945bytes, 0.073secs(12945bytes/sec)
[0042]每个队列元素里有两个数字变量一一上次代号和当前代号,当前代号是本次分析的数据的代号,上次代号是队列里最后一个元素的本次代号。队列里的所有元素的当前代号和上次代号形成一个首尾相连的“代号链”,从这个链条里的最小代号到最大代号所指定的数据是本地DNS服务器区传送的完整统计数据。换句话说,代号链保证了区传送数据收集子系统区传送统计数据的完整性,也为后来区传送数据收集子系统和监测分析子系统之间传输数据的完整性做好了准备。
[0043]区传送数据收集模块每次分析都从区传送文件的上次分析结束的地方开始分析,并记录本次结束的位置。注意,被探测的DNS权威服务器可以是一个或者一个以上的服务器。
[0044]当接收到监测分析子系统的查询请求,就查询数据队列中搜索是否有最新的数据。如果有,就将获取的数据返回给监测分析子系统。监测分析子系统会发送查询代号,区传送数据收集模块就会从队列中查 找当前代号大于等于查询代号的新的队列元素,并分别将该队列元素中的数据发送给监测分析子系统。
[0045]如果监测分析子系统查询时没有给出查询代号或者给出的查询代号小于等于0,那么这些数据保存在一个元素个数为X的循环队列里,队列中的数据用以回答用户的请求。如果给出的查询代号大于队列中的任何元素中的代号时,就将返回一个包含队列中的最小代号和最大代号的“空数据”;如果给出的查询代号小于队列中的任何元素中的代号,就将所有元素中的数据传送给监测分析子系统;如果给出的查询代号并不与任何元素的代号相等,但介于两个相邻元素的代号之间,那么就返回前一个元素的代号与队列队尾元素之间的数据。
[0046]如果没有给出代号,那么就返回最新的一次数据。
[0047]监测分析子系统的各个子模块的功能如下。
[0048]分析模块
[0049]分析模块接收到区传送数据收集模块(子系统)发送过来的数据后,就综合分析各个权威服务器的区传送的统计数据。如果发现某个(些)权威服务器的区传送发生异常,就将异常报告给报警模块。
[0050]针对每个区,各级权威服务器的区传送统计数据应答是一致的。如果某个权威服务器的某个区的区传送数据比其他服务器的差异超出一定的阈值,就认为是异常情况。比如说,如果设定差别的最大阈值是100条,对于服务的某个区来说,A服务器的区传送的记录数应该跟其他的权威服务器差别不应该太大,那么超过这个阈值,那么就认为A服务器的区传送存在异常。除了记录数,其他的参数,如传输的数据量和传输速率也可以作为异常判断的参数。
[0051]报警模块
[0052]接收分析模块发送来的异常报告,并其将向其他系统或人员做合理反馈。
[0053]工作流程
[0054]该系统的两个子系统有两个基本的工作流程:一个是监测分析子系统的监测流程;另一个是区传送数据收集子系统的分析工作流程。这两个流程是独立的,异步的。
[0055]监测流程
[0056]如图4所示,DNS区传送监测系统的一般监测流程是周期性的。一个周期的工作流程如下:
[0057](I)分析模块向区传送数据收集子系统队列中查询是否有合适的区传送统计数据。如果有区传送数据收集子系统就将其返回给分析模块,否则此次流程就结束。
[0058](2)分析模块分析接收到区传送数据收集子系统返回来的数据,如果分析发现有异常,那么就将其报告报警模块。
[0059](3)报警模块收到分析模块发来的异常报警时,就一定的形式通知其他系统或者DNS服务联系人。如果通知的是其他系统,那么就遵循其他系统的接口 ;如果通知的是运维人员,那么可以以邮件或者弹出框等形式的方式告知。
[0060]区传送日志分析数据的一致性协议
[0061]区传送数据收集子系统要将分析的DNS服务器的区传送的统计数据完完整整地发送给监测分析子系统,否则监测分析子系统就无法根据不完整的区传送统计数据给出有价值的分析结果和可靠的报警。
[0062]为了数据的完整性,要在每次传送的数据里,添加一个整数。一般来说是一个非负正整数,这个数作为一个代号,代表区传送数据的新旧程度。每当区传送数据收集子系统分析获得了新的数据后,就将代号增大。换句话说,该代号变大就说明区传送的统计数据有更新。监测分析子系统向区传送数据收集子系统请求数据时,连同上次请求获得的代号(如果有的话)发送给区传送数据收集子系统;区传送数据收集子系统根据该代号判断监测分析子系统所拥有的最新数据,并将从该代号到区传送数据收集子系统所拥有的最新代号之间的数据都发送给监测分析子系统。该代号和其相关的通讯方式构成一个协议,这个协议保证了在监测分析子系统和区传送数据收集子系统之间区传送统计数据的一致性。
[0063]如果监测分析子系统在请求的时候没有给出代号,那么区传送数据收集子系统就给出本次最大代号对应的数据,它就以收到的该新代号开始不断的增加代号向区传送数据收集子系统周期性请求,两次之间的代号不是差别1,而是下次使用的代号是服务器段本次传输的代号。可以以当时分析的时间戳或者年月日小时分钟秒组成的数字作为代号,这个是可以规定的。
[0064]这些实施例仅仅是举例说明,不能认定本发明的【具体实施方式】仅限于这些实施例的说明。对本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演和变换,都应当视为属于本发明的保护范围。替代方法如下:
[0065](I)区传送数据收集子系统的替代方法。实时从DNS服务器上流式获取要监测的各个权威服务器上的区传送日志,并将其发送到类似于本系统的日志分析系统,或者其他运行在单机或者集群的上其他类型的日志分析系统。日志分析系统最终将从日志中获取在过去一定时间内区传送的区名、消息数、资源记录数、字节数和传输用时等统计信息。
[0066](2)监测分析子系统的替代方法。通过类似本文所说的集群系统或单机器系统完成监测分析子系统的分析和报警。
[0067](3)报警分析。通过机器学习或统计等方式实现DNS区传送报警的分析和发现,都算做本发明保护范围内。
【主权项】
1.DNS区传送监测方法,通过区传送数据收集子系统和监测分析子系统实现,具体包括以下步骤: (1)区传送数据收集子系统收集分析本机DNS权威服务器区传送的相关信息,从中获取对应的区传送统计数据,如果有区传送记录,那么就将这些区传送统计数据插入到一个队列; (2)监测分析子系统获取到来自区传送数据收集子系统的区传送统计数据,并分析接收到的区传送统计数据是否存在异常情况。2.如权利要求1所述的DNS区传送监测方法,其特征在于,所述区传送的相关信息包括区传送日志,区传送流量捕获数据或区数据的周期比对数据。3.如权利要求1所述的DNS区传送监测方法,其特征在于,所述区传送统计数据包括过去一定时间内区传送的区名、消息数、资源记录数、字节数和传输用时。4.如权利要求1所述的DNS区传送监测方法,其特征在于,每个队列元素里有两个数字变量一一上次代号和当前代号,当前代号作为本次统计数据的代号,上次代号是队列队尾元素的代号,队列里的所有元素的当前代号和上次代号形成一个首尾相连的“代号链”,每当区传送数据收集子系统分析获得了新的数据后,就用比队列当前最大代号大的数字作为该数据的当前代号,从这个队列里的最小代号到最大代号所指定的数据是本地DNS服务器区传送的完整统计数据;如果监测分析子系统采用主动请求的方式从区传送数据收集子系统获取区传送统计数据,那么区传送数据收集子系统在队列中查询是否有相应的区传送统计数据,如果有就将其返回给监测分析子系统,如果没有就返回空数据;或者当区传送数据收集子系统收集到新数据时,采用主动推送的方式将数据推送给监测分析子系统。5.如权利要求4所述的DNS区传送监测方法,其特征在于,监测分析子系统发起查询时,如果监测分析子系统没有给出查询代号,那么区传送数据收集子系统就返回本次最大代号对应的数据;如果监测分析子系统发送查询代号,区传送数据收集子系统就会从队列中查找当前代号大于等于查询代号的新的队列元素,并分别将该队列元素中的数据发送给监测分析子系统。6.如权利要求5所述的DNS区传送监测方法,其特征在于,如果监测分析子系统发送的查询代号大于队列中的任何元素的代号时,就将返回一个包含队列中的最小代号和最大代号“空数据”;如果查询代号小于队列的任何元素中的代号,就将队列的所有数据传送给监测分析子系统;如果查询代号并不与任何元素的代号相等,但介于两个相邻元素的代号之间,那么就返回前一个元素的代号与队尾元素之间的数据。7.如权利要求1所述的DNS区传送监测方法,其特征在于,如果某个权威服务器的某个区的区传送数据与其他服务器的差异超出一定的阈值,就认为是异常情况。8.如权利要求1所述的DNS区传送监测方法,其特征在于,如果分析发现有异常,那么就通知其他系统或者DNS服务联系人,如果通知的是其他系统,那么就遵循其他系统的接口 ;如果通知的是DNS服务联系人,那么以邮件或者弹出框的方式告知。9.DNS区传送监测系统,包括区传送数据收集子系统和监测分析子系统,其中: 所述区传送数据收集子系统包括: 区传送数据收集模块,用于周期性地或实时地收集、分析本机DNS权威服务器区传送的相关信息,并将其传给监控子系统的分析模块; 所述监测分析子系统部署在各级权威服务器上,包括: 分析模块,用于接收区传送数据收集模块发送过来的数据,综合分析各个权威服务器的区传送统计数据,并将异常报告给报警模块; 报警模块,用于接收分析模块发送来的异常报告,并向其他系统或人员反馈。10.如权利要求9所述的DNS区传送监测系统,其特征在于,所述区传送的相关信息包括区传送日志,区传送流量捕获数据或区数据的周期比对数据;所述区传送统计数据包括过去一定时间内区传送的区名、消息数、资源记录数、字节数和传输用时。
【专利摘要】本发明公开了DNS区传送监测方法及系统,通过区传送数据收集子系统不断地分析本地DNS服务器产生的区传送相关信息,并将分析结果存储起来,部署在各级权威服务器上的监测分析子系统获取到区传送数据收集子系统存储的数据,并根据获得的所有数据分析判断区传送的情况,如果有异常就报警。本发明通过实时分析DNS区传送的相关信息监测DNS区传送的安全和稳定,具有高扩展性、高可靠性和部署简单的优势。
【IPC分类】H04L29/06, H04L29/12
【公开号】CN104883373
【申请号】CN201510345752
【发明人】刘明星, 熊自新, 刘昱琨, 张跃冬
【申请人】中国互联网络信息中心
【公开日】2015年9月2日
【申请日】2015年6月19日
转载请注明原文地址:https://www.famiwei.com/read-8136204.html

最新回复(0)