CN105592173B - 一种防止dns缓存被染的方法、系统及本地dns服务器 - Google Patents

一种防止dns缓存被染的方法、系统及本地dns服务器 Download PDF

Info

Publication number
CN105592173B
CN105592173B CN201410572911.1A CN201410572911A CN105592173B CN 105592173 B CN105592173 B CN 105592173B CN 201410572911 A CN201410572911 A CN 201410572911A CN 105592173 B CN105592173 B CN 105592173B
Authority
CN
China
Prior art keywords
dns
cache
solution new
record
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410572911.1A
Other languages
English (en)
Other versions
CN105592173A (zh
Inventor
杨天乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201410572911.1A priority Critical patent/CN105592173B/zh
Publication of CN105592173A publication Critical patent/CN105592173A/zh
Application granted granted Critical
Publication of CN105592173B publication Critical patent/CN105592173B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种防止DNS缓存被染的方法、系统及本地DNS服务器,该方法包括:对本地缓存的DNS的所有解析记录进行分析,获取第一预设时间内发生变化的解析记录的数量;所述获取的发生变化的解析记录的数量满足第一预设条件时,确定DNS缓存被染;并在接收到DNS解析请求后,向容灾服务器转发所述DNS解析请求,以获得所述容灾服务器返回的所述DNS解析请求对应的IP地址,并将所述IP地址作为解析记录进行存储。通过本发明实施例所述的防止DNS缓存被染的方法、系统及本地DNS服务器,当出现非正常的DNS劫持时,能够及时判断,尽快恢复,有利于提高系统稳定性。

Description

一种防止DNS缓存被染的方法、系统及本地DNS服务器
技术领域
本发明涉及数据传输领域,尤其涉及一种防止DNS缓存被染的方法、系统及本地DNS服务器。
背景技术
DNS(Domain Name System,域名系统)可以实现互联网域名到IP(InternetProtocol,互联网协议)地址的转换。参考图1,DNS域名解析流程为:客户端执行步骤101向本地DNS服务器发出DNS解析请求;若本地DNS服务器未存储请求对应的解析记录,则执行步骤102将请求发送给权威DNS服务器;权威DNS服务器执行步骤103返回请求对应的IP地址;本地DNS服务器执行步骤104将IP地址作为解析记录进行存储,并向客户端返回IP地址,完成域名解析。
DNS劫持又称域名劫持,是指拦截劫持范围内的DNS解析请求,返回错误的IP地址或者使请求失去响应。例如:在图2(a)所示的正常DNS解析流程中,通过步骤2011至2014客户端获得A网站的IP地址a.b.c.d,并通过a.b.c.d正常访问A网站。而在图2(b)所示的发生DNS劫持的DNS解析流程中,客户端通过步骤2021和步骤2022向权威DNS服务器请求A网站的IP地址;权威DNS服务器由于发生DNS劫持,因此执行步骤2023向本地DNS服务器返回虚假的IP地址e.f.g.h;本地DNS服务器执行步骤2024告知客户端A网站的IP地址e.f.g.h,由于IP地址错误,客户端无法通过e.f.g.h正常访问A网站。
DNS缓存延迟恢复时间(Time To Live,TTL)为DNS的一条解析记录在本地DNS服务器缓存中的存留时间。当本地DNS服务器缓存中存储有错误的解析记录时,由于TTL的缘故,会延长错误的解析记录恢复时间,不利于系统稳定。
发明内容
有鉴于此,为解决现有存在的技术问题,本发明实施例提供:
一种防止DNS缓存被染的方法,应用于本地域名系统DNS服务器,该方法包括:
对本地缓存的DNS的所有解析记录进行分析,获取第一预设时间内发生变化的解析记录的数量;
所述获取的发生变化的解析记录的数量满足第一预设条件时,确定DNS缓存被染;并
在接收到DNS解析请求后,向容灾服务器转发所述DNS解析请求,以获得所述容灾服务器返回的所述DNS解析请求对应的IP地址,并将所述IP地址作为解析记录进行存储。
一具体实施例中,所述对本地缓存的DNS的所有解析记录进行分析,包括:
周期性对本地缓存的DNS的所有解析记录进行分析,和/或,根据指示信息对本地缓存的DNS的所有解析记录进行分析。
一具体实施例中,所述方法还包括:
为缓存的DNS的每条解析记录分别设置记录变化标识,所述记录变化标识在相应的解析记录发生变化时发生变化,
所述对本地缓存的DNS的所有解析记录进行分析,包括:
在本地缓存的DNS的所有解析记录对应的记录变化标识中确定第一预设时间内发生变化的记录变化标识的数量;
所述获取第一预设时间内发生变化的解析记录的数量,包括:
将所述第一预设时间内发生变化的记录变化标识的数量确定为第一预设时间内发生变化的解析记录的数量。
一具体实施例中,所述确定DNS缓存被染之后,还包括:
进行DNS缓存被染预警。
本发明实施例还提供一种本地DNS服务器,该DNS服务器包括:缓存模块、获取模块、判断模块和执行模块;
所述缓存模块,用于缓存DNS的解析记录;
所述获取模块,用于对缓存模块缓存的DNS的所有解析记录进行分析,获取第一预设时间内发生变化的解析记录的数量;
所述判断模块,用于判断获取模块获取的发生变化的解析记录的数量是否满足第一预设条件;
所述执行模块,用于在判断模块确定获取的发生变化的解析记录的数量满足第一预设条件时,确定DNS缓存被染,并在接收到DNS解析请求后,向容灾服务器转发所述DNS解析请求,以获得所述容灾服务器返回的所述DNS解析请求对应的IP地址,并通知缓存模块将所述IP地址作为解析记录进行存储。
一具体实施例中,所述获取模块,具体用于周期性对本地缓存的DNS的所有解析记录进行分析,和/或,根据指示信息对本地缓存的DNS的所有解析记录进行分析。
一具体实施例中,所述缓存模块,还用于为缓存的DNS的每条解析记录分别设置记录变化标识,所述记录变化标识在相应的解析记录发生变化时发生变化;
所述获取模块,具体用于在本地缓存的DNS的所有解析记录对应的记录变化标识中确定第一预设时间内发生变化的记录变化标识的数量;以及将所述第一预设时间内发生变化的记录变化标识的数量确定为第一预设时间内发生变化的解析记录的数量。
一具体实施例中,所述执行模块,还用于在判断模块确定DNS缓存被染后,进行DNS缓存被染预警。
本发明实施例还提供一种防止DNS缓存被染的系统,包括:本地DNS服务器、客户端设备和权威DNS服务器;其中,
所述本地DNS服务器为权利要求5至8任一项所述的本地DNS服务器。
一具体实施例中,该系统还包括容灾服务器,
所述容灾服务器,用于在DNS缓存被染后,向本地DNS服务器返回与DNS域名相应的IP地址。
本发明实施例所述的一种防止DNS缓存被染的方法、系统及本地DNS服务器,对本地缓存的DNS的所有解析记录进行分析,获取第一预设时间内发生变化的解析记录的数量;所述获取的发生变化的解析记录的数量满足第一预设条件时,确定DNS缓存被染;并在接收到DNS解析请求后,向容灾服务器转发所述DNS解析请求,以获得所述容灾服务器返回的所述DNS解析请求对应的IP地址,并将所述IP地址作为解析记录进行存储。通过本发明实施例所述的防止DNS缓存被染的方法、系统及本地DNS服务器,当出现非正常的DNS劫持时,能够及时判断,尽快恢复,有利于提高系统稳定性。
附图说明
图1为相关技术中域名解析系统结构示意图;
图2(a)为正常的DNS解析流程示意图;
图2(b)为发生DNS劫持的DNS解析流程;
图3为本发明实施例一种防止DNS缓存被染的方法流程示意图;
图4为本发明实施例一种本地DNS服务器结构示意图;
图5为本发明实施例1所述的防止DNS缓存被染的方法流程示意图。
具体实施方式
本发明实施例提出了一种防止DNS缓存被染的方法,应用于本地域名系统DNS服务器,如图3所示,该方法包括:
步骤31:对本地缓存的DNS的所有解析记录进行分析,获取第一预设时间内发生变化的解析记录的数量;
步骤32:所述获取的发生变化的解析记录的数量满足第一预设条件时,确定DNS缓存被染;并在接收到DNS解析请求后,向容灾服务器转发所述DNS解析请求,以获得所述容灾服务器返回的所述DNS解析请求对应的IP地址,并将所述IP地址作为解析记录进行存储。
本发明一实施例中,判断获取的发生变化的解析记录的数量是否满足第一预设条件主要为了确定记录波动范围是否超过设定的阈值(如预设的百分比,或者预设的数量)。
可选的,本发明一实施例中,所述对本地缓存的DNS的所有解析记录进行分析,包括:
周期性对本地缓存的DNS的所有解析记录进行分析,和/或,根据指示信息对本地缓存的的所有解析记录进行分析。
可选的,本发明一实施例中,所述方法还包括:
为缓存的DNS的每条解析记录分别设置记录变化标识,所述记录变化标识在相应的解析记录发生变化时发生变化,
所述对本地缓存的DNS的所有解析记录进行分析,包括:
在本地缓存的DNS的所有解析记录对应的记录变化标识中确定第一预设时间内发生变化的记录变化标识的数量;
所述获取第一预设时间内发生变化的解析记录的数量,包括:
将所述第一预设时间内发生变化的记录变化标识的数量确定为第一预设时间内发生变化的解析记录的数量。
可选的,本发明一实施例中,该方法还包括:
确定DNS缓存被染后,进行DNS缓存被染预警。
本发明实施例还相应地提出了一种本地DNS服务器,如图4所示,该DNS服务器包括:缓存模块41、获取模块42、判断模块43和执行模块44;
所述缓存模块41,用于缓存DNS的解析记录;
所述获取模块42,用于对缓存模块41缓存的DNS的所有解析记录进行分析,获取第一预设时间内发生变化的解析记录的数量;
所述判断模块43,用于判断获取模块42获取的发生变化的解析记录的数量是否满足第一预设条件;
所述执行模块44,用于在判断模块确定获取的发生变化的解析记录的数量满足第一预设条件时,确定DNS缓存被染,并在接收到DNS解析请求后,向容灾服务器转发所述DNS解析请求,以获得所述容灾服务器返回的所述DNS解析请求对应的IP地址,并通知缓存模块将所述IP地址作为解析记录进行存储。
可选的,本发明一实施例中,所述获取模块42,具体用于周期性对本地缓存的DNS的所有解析记录进行分析,和/或,根据指示信息对本地缓存的DNS的所有解析记录进行分析。
可选的,本发明一实施例中,
所述缓存模块41,还用于为缓存的DNS的每条解析记录分别设置记录变化标识,所述记录变化标识在相应的解析记录发生变化时发生变化;
所述获取模块42,具体用于在本地缓存的DNS的所有解析记录对应的记录变化标识中确定第一预设时间内发生变化的记录变化标识的数量;以及将所述第一预设时间内发生变化的记录变化标识的数量确定为第一预设时间内发生变化的解析记录的数量。
可选的,本发明一实施例中,所述执行模块44,还用于在判断模块43确定DNS缓存被染后,进行DNS缓存被染预警。
本发明实施例还相应地提出了一种防止DNS缓存被染的系统,其特征在于,该系统包括:本地DNS服务器、客户端设备和权威DNS服务器;其中,
所述本地DNS服务器为图4所示的本地DNS服务器。
可选的,本发明一实施例中,该系统还包括容灾服务器,
所述容灾服务器,用于在DNS缓存被染后,向本地DNS服务器返回与DNS域名相应的IP地址。
下面通过具体实施例对本发明的技术方案作进一步详细说明。
实施例1
本发明实施例要实现的技术效果包括以下两点:
1)发现DNS劫持并预警:在本地服务器缓存中定义阈值,超过阈值后即认为发生缓存污染,将产生报警信息。
2)减少延迟:部署DNS容灾系统,发生DNS缓存污染后,及时通过DNS容灾备份器内记录重新进行DNS解析。
正常情况下,网站的IP地址相对比较固定,当出现较大波动时,可以将这种变化视为一种异常,基于此,为了达到上述第一点技术效果,具体可以包括:
将本地服务器缓存中的记录作为参考值;
周期性的将本地记录的DNS域名信息与权威服务器返回值进行对比;
若波动范围超过设定的阀值(一定的百分比),则产生异常日志信息,并由预警系统产生并发布预警信息。
为了达到上述第二点技术效果,可以增设DNS容灾服务器,以减少恢复时间,具体可以包括:
在DNS域名解析系统中,部署DNS容灾系统,记录正确的DNS解析记录
本地服务器发生缓存污染,并出现预警信号
本地服务器在递归时指向容灾系统,由容灾备份系统完成剩下的域名解析工作,并向用户返回解析结果。
图5为本发明实施例1所述的防止DNS缓存被染的方法流程示意图,如图5所示,该方法包括:
步骤51:本地DNS服务器在一定时间段内发现缓存被污染,即确认发生了非正常DNS劫持。例如十分钟内缓存记录被更改超过20%。
步骤52:本地DNS服务器产生异常日志信息,向系统管理员发出预警。
步骤53:本地DNS将解析方向指向容灾系统,即DNS容灾服务器。
步骤54:DNS容灾服务器完成剩下的域名解析工作,并向用户返回解析结果,域名解析完成。
上述各模块可以由电子设备中的中央处理器(Central Processing Unit,CPU)、数字信号处理器(Digital Signal Processor,DSP)或可编程逻辑阵列(Field-Programmable Gate Array,FPGA)实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种防止DNS缓存被染的方法,应用于本地域名系统DNS服务器,其特征在于,该方法包括:
对本地缓存的DNS的所有解析记录进行分析,获取第一预设时间内发生变化的解析记录的数量;
所述获取的发生变化的解析记录的数量满足第一预设条件时,确定DNS缓存被染;并
在接收到DNS解析请求后,向容灾服务器转发所述DNS解析请求,以获得所述容灾服务器返回的所述DNS解析请求对应的IP地址,并将所述IP地址作为解析记录进行存储。
2.根据权利要求1所述的方法,其特征在于,所述对本地缓存的DNS的所有解析记录进行分析,包括:
周期性对本地缓存的DNS的所有解析记录进行分析,和/或,根据指示信息对本地缓存的DNS的所有解析记录进行分析。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
为缓存的DNS的每条解析记录分别设置记录变化标识,所述记录变化标识在相应的解析记录发生变化时发生变化,
所述对本地缓存的DNS的所有解析记录进行分析,包括:
在本地缓存的DNS的所有解析记录对应的记录变化标识中确定第一预设时间内发生变化的记录变化标识的数量;
所述获取第一预设时间内发生变化的解析记录的数量,包括:
将所述第一预设时间内发生变化的记录变化标识的数量确定为第一预设时间内发生变化的解析记录的数量。
4.根据权利要求1所述的方法,其特征在于,所述确定DNS缓存被染之后,还包括:
进行DNS缓存被染预警。
5.一种本地DNS服务器,其特征在于,该DNS服务器包括:缓存模块、获取模块、判断模块和执行模块;
所述缓存模块,用于缓存DNS的解析记录;
所述获取模块,用于对缓存模块缓存的DNS的所有解析记录进行分析,获取第一预设时间内发生变化的解析记录的数量;
所述判断模块,用于判断获取模块获取的发生变化的解析记录的数量是否满足第一预设条件;
所述执行模块,用于在判断模块确定获取的发生变化的解析记录的数量满足第一预设条件时,确定DNS缓存被染,并在接收到DNS解析请求后,向容灾服务器转发所述DNS解析请求,以获得所述容灾服务器返回的所述DNS解析请求对应的IP地址,并通知缓存模块将所述IP地址作为解析记录进行存储。
6.根据权利要求5所述的本地DNS服务器,其特征在于,
所述获取模块,具体用于周期性对本地缓存的DNS的所有解析记录进行分析,和/或,根据指示信息对本地缓存的DNS的所有解析记录进行分析。
7.根据权利要求5或6所述的本地DNS服务器,其特征在于,
所述缓存模块,还用于为缓存的DNS的每条解析记录分别设置记录变化标识,所述记录变化标识在相应的解析记录发生变化时发生变化;
所述获取模块,具体用于在本地缓存的DNS的所有解析记录对应的记录变化标识中确定第一预设时间内发生变化的记录变化标识的数量;以及将所述第一预设时间内发生变化的记录变化标识的数量确定为第一预设时间内发生变化的解析记录的数量。
8.根据权利要求5所述的本地DNS服务器,其特征在于,
所述执行模块,还用于在判断模块确定DNS缓存被染后,进行DNS缓存被染预警。
9.一种防止DNS缓存被染的系统,其特征在于,该系统包括:本地DNS服务器、客户端设备和权威DNS服务器;其中,
所述本地DNS服务器为权利要求5至8任一项所述的本地DNS服务器。
10.根据权利要求9所述的系统,其特征在于,该系统还包括容灾服务器,
所述容灾服务器,用于在DNS缓存被染后,向本地DNS服务器返回与DNS域名相应的IP地址。
CN201410572911.1A 2014-10-23 2014-10-23 一种防止dns缓存被染的方法、系统及本地dns服务器 Active CN105592173B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410572911.1A CN105592173B (zh) 2014-10-23 2014-10-23 一种防止dns缓存被染的方法、系统及本地dns服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410572911.1A CN105592173B (zh) 2014-10-23 2014-10-23 一种防止dns缓存被染的方法、系统及本地dns服务器

Publications (2)

Publication Number Publication Date
CN105592173A CN105592173A (zh) 2016-05-18
CN105592173B true CN105592173B (zh) 2019-01-01

Family

ID=55931374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410572911.1A Active CN105592173B (zh) 2014-10-23 2014-10-23 一种防止dns缓存被染的方法、系统及本地dns服务器

Country Status (1)

Country Link
CN (1) CN105592173B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135236A (zh) * 2017-07-06 2017-09-05 广州优视网络科技有限公司 一种目标域名劫持的检测方法和系统
CN109729181B (zh) * 2017-10-27 2020-07-24 华为技术有限公司 一种域名访问方法及设备
CN112039829A (zh) * 2019-06-04 2020-12-04 阿里巴巴集团控股有限公司 域名系统的劫持检测及上报方法、装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546590A (zh) * 2013-10-18 2014-01-29 北京奇虎科技有限公司 一种dns服务器的选择方法与装置
CN103825895A (zh) * 2014-02-24 2014-05-28 联想(北京)有限公司 一种信息处理方法及电子设备
CN104113447A (zh) * 2014-07-10 2014-10-22 北京蓝汛通信技术有限责任公司 监测域名解析污染的方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005250626A (ja) * 2004-03-02 2005-09-15 Hitachi Ltd コンピュータシステム及びそのプログラム。

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546590A (zh) * 2013-10-18 2014-01-29 北京奇虎科技有限公司 一种dns服务器的选择方法与装置
CN103825895A (zh) * 2014-02-24 2014-05-28 联想(北京)有限公司 一种信息处理方法及电子设备
CN104113447A (zh) * 2014-07-10 2014-10-22 北京蓝汛通信技术有限责任公司 监测域名解析污染的方法、装置及系统

Also Published As

Publication number Publication date
CN105592173A (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
US10129118B1 (en) Real time anomaly detection for data streams
EP4231603A1 (en) Health status monitoring for services provided by computing devices
US9697066B2 (en) Method for processing data quality exceptions in a data processing system
CN104883282A (zh) 终端的dns服务器的监控方法及系统
CN105404581B (zh) 一种数据库的评测方法和装置
US9928517B1 (en) Interaction reconstruction in a service-oriented system
US10657099B1 (en) Systems and methods for transformation and analysis of logfile data
US8886603B2 (en) Probe system for replication monitoring
US20200106683A1 (en) Task extension for service level agreement state management
CN105592173B (zh) 一种防止dns缓存被染的方法、系统及本地dns服务器
US11228490B1 (en) Storage management for configuration discovery data
US20130173959A1 (en) Home/building fault analysis system using resource connection map log and method thereof
JP6252309B2 (ja) 監視漏れ特定処理プログラム,監視漏れ特定処理方法及び監視漏れ特定処理装置
US20090300602A1 (en) Determining application distribution based on application state tracking information
US8381205B2 (en) Co-resident software performance tracking
US20180314648A1 (en) Dynamic domain name service caching
US10715608B2 (en) Automatic server cluster discovery
CN106561028B (zh) 隔离因特网协议地址
KR101630088B1 (ko) 가상머신의 라이프사이클 모니터링 방법 및 그 장치
CN105511952A (zh) 基于云计算平台的资源自迁移方法及系统
EP3756310B1 (en) Method and first node for managing transmission of probe messages
US8930369B2 (en) Information processing apparatus, message classifying method and non-transitory medium for associating series of transactions
JP5974905B2 (ja) 応答時間監視プログラム、方法および応答時間監視装置
KR100939352B1 (ko) 서비스 장애 감시 장치 및 방법
CN104283727A (zh) 对网络服务质量进行监控的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant