发明内容
本发明提供了一种域名解析方法、装置及系统,以解决对于未知威胁,域名系统无法检测到,从而无法进行安全防护,导致用户接收到的IP地址存在一定安全风险的问题。
第一方面,本发明提供了一种域名解析方法,该域名解析方法包括:接收域名解析请求,从所述域名解析请求中提取域名信息;将所述域名解析请求发送至第一域名服务器,接收所述第一域名服务器返回的与所述域名解析请求对应的第一域名解析响应,提取所述第一域名解析响应包含的第一IP地址集合;调取存储的与所述域名信息对应的历史IP地址集合;将所述第一IP地址集合与所述历史IP地址集合进行第一次匹配,根据第一次匹配的结果确定所述域名解析请求对应的域名解析结果。
进一步,根据第一次匹配的结果确定所述域名解析请求对应的域名解析结果的过程,具体包括:如果所述历史IP地址集合包含所述第一IP地址集合,将所述第一IP地址集合作为所述域名解析请求对应的域名解析结果;或,如果所述第一IP地址集合的至少一个IP地址不包含在所述历史IP地址集合中,将所述域名解析请求发送给至少一台第二域名服务器;接收每台所述第二域名服务器返回的与所述域名解析请求对应的第二域名解析响应,提取每个第二域名解析响应包含的第二IP地址集合;将所有第二IP地址集合与所述第一IP地址集合进行第二次匹配,根据第二次匹配的结果确定所述域名解析请求对应的域名解析结果。
进一步,根据第二次匹配的结果确定所述域名解析请求对应的域名解析结果的过程,具体包括:如果对于所述第一IP地址集合中的每一个IP地址,所有第二IP地址集合中预设比例的第二IP地址集合均包含该IP地址,将所述第一IP地址集合作为所述域名解析请求对应的域名解析结果,以及将所述第一IP地址集合更新至所述历史IP地址集合中;或,如果对于所述第一IP地址集合中的至少一个IP地址,所有第二IP地址集合中预设比例的第二IP地址集合均不包含该IP地址,将所有所述第二IP地址集合与所述历史IP地址集合进行第三次匹配,根据第三次匹配的结果确定所述域名解析请求对应的域名解析结果。
进一步,根据第三次匹配的结果确定所述域名解析请求对应的域名解析结果的过程,具体包括:如果所述历史IP地址集合包含所有第二IP地址集合中预设比例的所述第二IP地址集合,将所述历史IP地址集合包含的第二IP地址集合作为所述域名解析请求对应的域名解析结果;或,如果所有第二IP地址集合中预设比例的所述第二IP地址集合不包含在所述历史IP地址集合中,将所述历史IP地址集合中不包含的第二IP地址集合作为所述域名解析请求对应的域名解析结果,以及将所述历史IP地址集合中不包含的第二IP地址集合更新至所述历史IP地址集合中。
进一步,如果对于所述第一IP地址集合中的至少一个IP地址,所有第二IP地址集合中预设比例的第二IP地址集合均不包含该IP地址,该域名解析方法还包括:输出异常警告。
第二方面,本发明还提供了一种域名解析装置,该域名解析装置包括:接收模块,用于接收域名解析请求,从所述域名解析请求中提取域名信息;IP地址获取模块,用于将所述域名解析请求发送至第一域名服务器,接收所述第一域名服务器返回的与所述域名解析请求对应的第一域名解析响应,提取所述第一域名解析响应包含的第一IP地址集合;历史IP地址调取模块,用于调取存储的与所述域名信息对应的历史IP地址集合;域名解析结果确定模块,用于将所述第一IP地址集合与所述历史IP地址集合进行第一次匹配,根据第一次匹配的结果确定所述域名解析请求对应的域名解析结果。
进一步,所述域名解析结果确定模块用于根据第一次匹配的结果确定所述域名解析请求对应的域名解析结果,具体包括:所述域名解析结果确定模块用于:如果所述历史IP地址集合包含所述第一IP地址集合,将所述第一IP地址集合作为所述域名解析请求对应的域名解析结果;或,如果所述第一IP地址集合的至少一个IP地址不包含在所述历史IP地址集合中,将所述域名解析请求发送给至少一台第二域名服务器;接收每台所述第二域名服务器返回的与所述域名解析请求对应的第二域名解析响应,提取每个第二域名解析响应包含的第二IP地址集合;将所有第二IP地址集合与所述第一IP地址集合进行第二次匹配,根据第二次匹配的结果确定所述域名解析请求对应的域名解析结果。
进一步,所述域名解析结果确定模块用于根据第二次匹配的结果确定所述域名解析请求对应的域名解析结果,具体包括:所述域名解析结果确定模块用于:如果对于所述第一IP地址集合中的每一个IP地址,所有第二IP地址集合中预设比例的第二IP地址集合均包含该IP地址,将所述第一IP地址集合作为所述域名解析请求对应的域名解析结果,以及将所述第一IP地址集合更新至所述历史IP地址集合中;或,如果对于所述第一IP地址集合中的至少一个IP地址,所有第二IP地址集合中预设比例的第二IP地址集合均不包含该IP地址,将所有所述第二IP地址集合与所述历史IP地址集合进行第三次匹配,根据第三次匹配的结果确定所述域名解析请求对应的域名解析结果。
进一步,所述域名解析结果确定模块用于根据第三次匹配的结果确定所述域名解析请求对应的域名解析结果,具体包括:如果所述历史IP地址集合包含所有第二IP地址集合中预设比例的所述第二IP地址集合,将所述历史IP地址集合包含的第二IP地址集合作为所述域名解析请求对应的域名解析结果;或,如果所有第二IP地址集合中预设比例的所述第二IP地址集合不包含在所述历史IP地址集合中,将所述历史IP地址集合中不包含的第二IP地址集合作为所述域名解析请求对应的域名解析结果,以及将所述历史IP地址集合中不包含的第二IP地址集合更新至所述历史IP地址集合中。
进一步,该域名解析装置还包括:异常警告输出模块,用于如果对于所述第一IP地址集合中的至少一个IP地址,所有第二IP地址集合中预设比例的第二IP地址集合均不包含该IP地址,输出异常警告。
第三方面,本发明还提供了一种域名解析系统,该域名解析系统包括上述域名解析装置、第一域名服务器和第二域名服务器。
本发明实施例提供的技术方案可以包括以下有益效果:本发明提供了一种域名解析方法、装置及系统。该域名解析方法中,采用存储的安全级别较高的历史IP地址集合对域名服务器通过域名解析获得的IP地址进行安全匹配,将匹配成功的IP地址作为域名解析结果发送至用户终端或其他域名解析装置,对于匹配不成功的IP地址,采用多台不同的域名服务器进行解析比较,从而获得安全等级较高的IP地址,并将该IP地址作为最后的域名解析结果,由此可知,该域名解析方法避免了用户接收到具有安全风险的非法IP地址,确保了用户终端能够接收到安全的IP地址,适用性更好。
具体实施方式
通常,用户想要访问某个网站,会在用户终端的浏览器中输入该网站的域名。用户终端接收到用户输入的网站的域名后,自动向提供域名解析服务的域名解析装置发送域名解析请求,域名解析请求中包含该网站的域名的相关信息。本文中,将域名的相关信息定义为域名信息。提供域名解析服务的域名解析装置接收到用户终端发送的域名解析请求后,从该域名解析请求中提取相应的域名信息,根据该域名信息对该域名解析请求进行解析,生成与该域名信息相对应的IP地址,之后将该IP地址发送至用户终端。或者,接收到用户终端发送的域名解析请求的域名解析装置,在接收到用户终端发送的域名解析请求后,无法直接解析出与其中域名信息相对应的IP地址,而是将该域名解析请求发送至其他域名解析装置,经过其他一台或多台域名解析装置的域名解析后,生成与其中域名信息相对应的IP地址,之后其他域名解析装置将该IP地址发送至接收到用户终端发送的域名解析请求的域名解析装置,该域名解析装置将该IP地址返回至用户终端。用户终端接收到该IP地址后,通过该IP地址连接该IP地址所在的服务器,使得用户成功访问该网站。
结合前述背景技术内容可知,用户通过用户终端访问网络的过程中,域名解析系统容易受到网络安全威胁,特别是遭遇未知威胁时,容易使得用户终端接收到非法IP地址,目前的安全防护措施无法解决这个难题。基于此,本发明实施例提供的域名解析方法,基于域名解析装置端,通过特定技术手段确定域名解析结果的安全性后,向用户终端发送安全等级较高的域名解析结果,从而确保用户终端接收到安全的IP地址,实现对域名解析过程的安全保护。
下面结合附图,详细介绍本发明的具体实施例。
参见图1,图1示出的是本发明实施例提供的一种域名解析方法的流程示意图,该域名解析方法包括:
步骤101、接收域名解析请求,从所述域名解析请求中提取域名信息。
由前述可知,本发明提供的实施例适用于域名解析装置端。其中,域名解析装置接收的域名解析请求包括用户终端直接发送的域名解析请求或其他域名解析装置发送的域名解析请求。域名解析装置接收到域名解析请求后,能够从该域名解析请求中提取出域名信息。
步骤102、将所述域名解析请求发送至第一域名服务器,接收所述第一域名服务器返回的与所述域名解析请求对应的第一域名解析响应,提取所述第一域名解析响应包含的第一IP地址集合。
本发明实施例提供的域名解析方法中,域名解析装置接收到域名解析请求后,不会直接解析出与其中域名信息相对应的IP地址,而是将该域名解析请求发送至第一域名服务器,第一域名服务器接收到该域名解析请求后,通过域名解析,能够获得与该域名信息相对应的IP地址。具体实施时,通过域名解析,能够获得与所述域名信息相对应的IP地址的域名服务器包括多台,这多台域名服务器中的任意一台域名服务器均可以作为第一域名服务器。第一域名服务器接收到域名解析请求后,通过域名解析,得到与所述域名信息相对应的多个IP地址,本文中,将第一域名服务器通过域名解析,得到的与所述域名信息相对应的多个IP地址的集合定义为第一IP地址集合。
第一域名服务器获得第一IP地址集合后,生成包含该第一IP地址集合、与所述域名解析请求相对应的第一域名解析响应,之后将该第一域名解析响应发送至域名解析装置。域名解析装置接收到第一域名服务器返回的第一域名解析响应后,即可从该第一域名解析响应中提取第一IP地址集合。
步骤103、调取存储的与所述域名信息对应的历史IP地址集合。
结合前述可知,在域名解析过程中,域名解析系统容易受到网络安全威胁,特别是遭遇未知威胁时,容易使得用户终端接收到非法IP地址。导致用户终端接收到非法IP地址,多数由于域名解析过程中涉及到的域名信息被篡改,导致域名服务器通过域名解析得到的IP地址为非法IP地址,由此可知,上述步骤中得到的第一IP地址集合中包含的多个IP地址不一定为安全的IP地址,如果直接将第一IP地址集合返回用户终端,不能保证用户终端得到安全的IP地址,即用户终端接收到的IP地址存在一定安全风险,为了避免用户终端接收到非法IP地址,本发明实施例提供的域名解析方法中,没有直接将第一IP地址集合返回用户终端,而是先对第一IP地址集合的安全性进行判定,之后根据判定的结果确定是否将第一IP地址集合作为域名解析结果发送至用户终端。
具体对第一IP地址集合的安全性进行判定时,本发明实施例提供的域名解析方法中,将第一IP地址集合与预先存储的安全的IP地址进行匹配,例如,将第一IP地址集合与历史IP地址集合进行匹配,根据匹配的结果确定第一IP地址是否为安全的IP地址,以及确定之后是否可以将第一IP地址集合作为域名解析结果发送至用户终端。基于此,在采用域名解析装置对用户终端发送的域名解析请求进行解析之前,域名解析装置中预先设置有历史IP地址存储模块,该历史IP地址存储模块中预先存储有多个域名以及与每个域名对应的IP地址集合。此外,也可以采用设置于域名解析装置外部的其它存储设备存储前述多个域名以及与每个域名对应的IP地址集合。本文中,将预先存储于历史IP地址存储模块或设置于域名解析装置外部的其它存储设备中的任意一个域名对应的IP地址集合定义为历史IP地址集合。
由此,域名解析装置在获得第一IP地址集合后,可以调取存储于历史IP地址存储模块或设置于域名解析装置外部的其它存储设备中、与所述域名信息相对应的历史TP地址集合,之后将第一IP地址集合与该历史IP地址集合进行匹配,以确定域名解析结果。
步骤104、将所述第一IP地址集合与所述历史IP地址集合进行第一次匹配,根据第一次匹配的结果确定所述域名解析请求对应的域名解析结果。
其中,根据第一次匹配的结果确定所述域名解析请求对应的域名解析结果的过程,具体包括:如果所述历史IP地址集合包含所述第一IP地址集合,判定所述第一IP地址集合为安全IP地址,将所述第一IP地址集合作为所述域名解析请求对应的域名解析结果;或,如果所述第一IP地址集合的至少一个IP地址不包含在所述历史IP地址集合中,判定所述第一IP地址集合存在安全风险,不能作为域名解析结果直接发送给用户终端,域名解析装置会将所述域名解析请求发送给至少一台第二域名服务器;第二域名服务器接收到该域名解析请求后,通过域名解析,也能够获得与所述域名信息相对应的IP地址,并且通过域名解析,能够获得与所述域名信息相对应的IP地址的任意一台域名服务器均可以作为第二域名服务器,由此可知,第二域名服务器可以与第一域名服务器相同,同样,第二域名服务器也可以与第一域名服务器不同。优选的,如果某一台第二域名服务器与第一域名服务器相同,域名解析装置将域名解析请求发送给与第一域名服务器不同的一台第二域名服务器,或者将域名解析请求发送给包括该台与第一域名服务器相同的第二域名服务器在内的多台第二域名服务器。任意一台接收到域名解析请求的第二域名服务器,在接收到该域名解析请求后,均会获得一个第二IP地址集合,之后生成一个包含该第二IP地址集合的第二域名解析响应,并将该包含第二IP地址集合的第二域名解析响应返回给域名解析装置;之后,域名解析装置接收每台所述第二域名服务器返回的与所述域名解析请求对应的第二域名解析响应,提取每个第二域名解析响应包含的第二IP地址集合;将所有第二IP地址集合与所述第一IP地址集合进行第二次匹配,根据第二次匹配的结果确定所述域名解析请求对应的域名解析结果。
根据第二次匹配的结果确定所述域名解析请求对应的域名解析结果的过程,具体包括:如果对于所述第一IP地址集合中的每一个IP地址,所有第二IP地址集合中预设比例的第二IP地址集合均包含该IP地址,例如,如果域名解析装置共接收到第二域名服务器返回的N个第二IP地址集合,其中N60%个第二IP地址集合中的每一个第二IP地址集合均包含该IP地址,则域名解析装置判定第一IP地址集合为安全IP地址,会将所述第一IP地址集合作为所述域名解析请求对应的域名解析结果,以及将所述第一IP地址集合更新至所述历史IP地址集合中;或,如果对于所述第一IP地址集合中的至少一个IP地址,所有第二IP地址集合中预设比例的第二IP地址集合均不包含该IP地址,例如,如果域名解析装置共接收到第二域名服务器返回的N个第二IP地址集合,其中N60%个第二IP地址集合中的每一个第二IP地址集合均不包含第一IP地址集合中的某个IP地址,则域名解析装置判定第一IP地址集合为不安全IP地址,会将所有所述第二IP地址集合与所述历史IP地址集合进行第三次匹配,根据第三次匹配的结果确定所述域名解析请求对应的域名解析结果。
根据第三次匹配的结果确定所述域名解析请求对应的域名解析结果的过程,具体包括:如果所述历史IP地址集合包含所有第二IP地址集合中预设比例的所述第二IP地址集合,例如,如果域名解析装置共接收到第二域名服务器返回的N个第二IP地址集合,其中N60%个第二IP地址集合均包含在历史IP地址集合中,则域名解析装置判定所有包含在历史IP地址集合中的第二IP地址集合为安全IP地址,会将所述历史IP地址集合包含的第二IP地址集合作为所述域名解析请求对应的域名解析结果;或,如果所有第二IP地址集合中预设比例的所述第二IP地址集合不包含在所述历史IP地址集合中,例如,如果域名解析装置共接收到第二域名服务器返回的N个第二IP地址集合,其中N60%个第二IP地址集合不包含在历史IP地址集合中,则域名解析装置判定所有不包含在历史IP地址集合中的第二IP地址集合为安全IP地址,会将所述历史IP地址集合中不包含的第二IP地址集合作为所述域名解析请求对应的域名解析结果,以及将所述历史IP地址集合中不包含的第二IP地址集合更新至所述历史IP地址集合中。
域名解析装置在获得与接收到的域名解析请求相对应的域名解析结果后,会将获得的域名解析结果返回至发送该域名解析请求的请求端设备(例如用户终端或其他域名解析装置)。
进一步,本发明提供的域名解析方法中,如果对于第一IP地址集合中的至少一个IP地址,所有第二IP地址集合中预设比例的第二IP地址集合均不包含该IP地址,域名解析装置还会向请求端设备(例如用户终端或其他域名解析装置)输出异常警告,告知请求端设备,在域名解析过程中存在安全风险,以便用户端设备能够及时对安全威胁作出处理。
需要说明的是,上述预设比例可以根据实际需要随意设定,不限于60%,例如,如果需要获得安全等级较高的域名解析结果,可以将预设比例设置为80%~100%,如果对域名解析结果的安全等级要求较低,则可以将预设比例设置为50%~60%;并且上述各个预设比例可以设置为不同的比例值,此处不再详述。
本发明实施例提供的域名解析方法,首先采用存储的安全的历史IP地址集合与域名解析过程中获得的IP地址进行安全匹配,并将匹配成功的IP地址作为域名解析结果;对于匹配不成功的IP地址再次进行安全判定,并根据判定结果将安全级别较高的IP地址作为域名解析结果,极大的提高了域名解析结果的安全等级,确保了返回给用户安全级别较高的域名解析结果,避免了用户收到具有安全风险的IP地址,适用性更好。
与本发明实施例提供的域名解析方法相对应,本发明还提供了一种域名解析装置。
参见图2,图2示出的是本发明实施例提供的一种域名解析装置的结构框图,该域名解析装置200包括:
接收模块201,用于接收域名解析请求,从所述域名解析请求中提取域名信息;
IP地址获取模块202,用于将所述域名解析请求发送至第一域名服务器,接收所述第一域名服务器返回的与所述域名解析请求对应的第一域名解析响应,提取所述第一域名解析响应包含的第一IP地址集合;
历史IP地址调取模块203,用于调取存储的与所述域名信息对应的历史IP地址集合;
域名解析结果确定模块204,用于将所述第一IP地址集合与所述历史IP地址集合进行第一次匹配,根据第一次匹配的结果确定所述域名解析请求对应的域名解析结果。
进一步,所述域名解析结果确定模块204用于根据第一次匹配的结果确定所述域名解析请求对应的域名解析结果,具体包括:所述域名解析结果确定模块用于:如果所述历史IP地址集合包含所述第一IP地址集合,将所述第一IP地址集合作为所述域名解析请求对应的域名解析结果;或,如果所述第一IP地址集合的至少一个IP地址不包含在所述历史IP地址集合中,将所述域名解析请求发送给至少一台第二域名服务器;接收每台所述第二域名服务器返回的与所述域名解析请求对应的第二域名解析响应,提取每个第二域名解析响应包含的第二IP地址集合;将所有第二IP地址集合与所述第一IP地址集合进行第二次匹配,根据第二次匹配的结果确定所述域名解析请求对应的域名解析结果。
进一步,所述域名解析结果确定模块204用于根据第二次匹配的结果确定所述域名解析请求对应的域名解析结果,具体包括:所述域名解析结果确定模块用于:如果对于所述第一IP地址集合中的每一个IP地址,所有第二IP地址集合中预设比例的第二IP地址集合均包含该IP地址,将所述第一IP地址集合作为所述域名解析请求对应的域名解析结果,以及将所述第一IP地址集合更新至所述历史IP地址集合中;或,如果对于所述第一IP地址集合中的至少一个IP地址,所有第二IP地址集合中预设比例的第二IP地址集合均不包含该IP地址,将所有所述第二IP地址集合与所述历史IP地址集合进行第三次匹配,根据第三次匹配的结果确定所述域名解析请求对应的域名解析结果。
进一步,所述域名解析结果确定模块204用于根据第三次匹配的结果确定所述域名解析请求对应的域名解析结果,具体包括:如果所述历史IP地址集合包含所有第二IP地址集合中预设比例的所述第二IP地址集合,将所述历史IP地址集合包含的第二IP地址集合作为所述域名解析请求对应的域名解析结果;或,如果所有第二IP地址集合中预设比例的所述第二IP地址集合不包含在所述历史IP地址集合中,将所述历史IP地址集合中不包含的第二IP地址集合作为所述域名解析请求对应的域名解析结果,以及将所述历史IP地址集合中不包含的第二IP地址集合更新至所述历史IP地址集合中。
进一步,该域名解析装置200还包括:异常警告输出模块205,用于如果对于所述第一IP地址集合中的至少一个IP地址,所有第二IP地址集合中预设比例的第二IP地址集合均不包含该IP地址,输出异常警告。
进一步,该域名解析装置200还包括:历史IP地址存储模块206,用于存储域名以及与每个域名相匹配的历史IP地址集合。
本发明实施例提供的域名解析装置中设置有历史IP地址存储模块,存储有大量域名以及与每个域名对应的安全级别较高的历史IP地址集合,可以用于域名解析过程中生成的IP地址的安全校验,确保了域名解析结果的安全性,采用本发明实施例提供的域名解析装置,能够实施上述域名解析方法,获得上述方法中所述能达到的有益效果,确保用户终端接收到安全的域名解析结果。
参考图3,图3示出的是本发明实施例提供的一种域名解析系统的结构框图,该域名解析系统包括:上述域名解析装置200、第一域名服务器300和多台第二域名服务器400。其中,域名解析装置200、第一域名服务器300和多台第二域名服务器400的具体设置和工作原理可以参考上述域名解析方法和域名解析装置实施例,此处不再赘述。
采用本发明实施例提供的域名解析系统进行域名解析,获得的域名解析结果更加安全,避免了用户终端获得的域名解析结果遭受安全威胁,适用性更好。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的域名解析方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于域名解析装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。