本说明书实施例涉及网络安全,特别涉及基于虚拟域名服务的访问控制方法。
背景技术:
1、网络访问控制是网络安全防护的基础功能,其主要的实现方式为,将访问控制单元串行部署于用户和应用之间的网络访问通路上,通过对网络通信的源ip端口和目的ip端口等通信元数据进行检测,将这些通信元数据与预设的访问策略进行匹配,符合访问策略的予以放行,不符合访问策略的予以阻断,以达到访问控制的目的。访问策略通常基于ip地址、端口、域名。
2、根据域名系统的工作原理,域名解析的数据流与业务访问数据流为相互独立的两个会话,业务数据流内不包括域名信息,所以当访问控制单元处理业务数据流时,需要一种方法来获取该数据流对应的域名信息,以完成访问控制策略的匹配。
3、已有的业务数据流对应域名获取方法可以从实现原理上分为以下3类:
4、1.被动dns 解析预处理
5、通过外部的网络配置或网络拓扑设计,强制使域名解析数据流经过访问控制单元,访控单元对域名解析的响应数据进行分析,获得并缓存域名和ip之间的关联关系,这样在处理业务流时,即可根据服务端ip地址查询缓存得到其对应的域名。
6、2.主动dns 解析预处理
7、此方法对访控策略进行预处理,如果存在基于域名的策略,则主动周期性发起域名解析请求,收集域名和ip之间的对应关系。
8、3.应用层数据分析
9、此方法利用应用层协议的特性,比如在http协议中,业务数据流的host字段为该请求的服务端域名,所以对业务数据流进行应用层协议分析,即可得知其对应的域名信息。
10、以上为域名服务访问控制的已有方法,在具体实现层面,这些方法通常被包装在防火墙类的安全产品中。除了常见的防火墙类产品,还可能存在于一些其它品类的产品或服务中,比如在域名服务器中进行扩展,对来源ip进行过滤或认证,实现ip到域名的请求权限控制,这些实现在嵌入产品类型或部署网络位置上有所变换,但原理上仍是基于上述三种方式的组合。用户在访问域名时,解析获得的是服务的真实ip地址,真实ip的泄漏增加了受护网络的风险敞口,由于该ip是实际网络可达的,一旦恶意用户渗透了网络的某一点,即可直接对真实ip进行攻击。由此,亟须一种更好的方案。
技术实现思路
1、有鉴于此,本说明书实施例提供了基于虚拟域名服务的访问控制方法。本说明书一个或者多个实施例同时涉及基于虚拟域名服务的访问控制装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
2、根据本说明书实施例的第一方面,提供了一种基于虚拟域名服务的访问控制方法,包括:
3、生成虚拟地址池,确定受控域名集合;其中,虚拟地址池中包括虚拟地址,受控域名集合中包括受控域名,虚拟地址和受控域名的数量相同;
4、虚拟域名服务端接收客户端的域名访问请求,基于域名访问请求和受控域名集合确定受控结果;
5、虚拟域名服务端基于受控结果从虚拟地址池中确定目标虚拟地址,并将目标虚拟地址返回至客户端,以使客户端基于目标虚拟地址进行通信;
6、访问控制服务端接收客户端基于目标虚拟地址的通信请求,基于目标虚拟地址的通信请求确定访问权限结果,并基于访问权限结果进行访问管控。
7、在一种可能的实现方式中,基于域名访问请求和受控域名集合确定受控结果,包括:
8、基于域名访问请求确定目标域名;
9、将目标域名与受控域名集合中的受控域名进行对比,在受控域名集合中存在目标域名的情况下,受控结果为受控;
10、在受控域名集合中不存在目标域名的情况下,受控结果为不受控。
11、在一种可能的实现方式中,在接受客户端的域名访问请求之前,还包括:
12、基于虚拟地址池和受控域名集合确定第一转换映射关系;
13、相应的,基于受控结果从虚拟地址池中确定目标虚拟地址,包括:
14、在受控结果为受控的情况下,基于第一转换映射关系从虚拟地址池中确定目标虚拟地址。
15、在一种可能的实现方式中,基于受控结果从虚拟地址池中确定目标虚拟地址,包括:
16、在受控结果为受控的情况下,基于虚拟地址池确定目标虚拟地址,并基于目标虚拟地址和目标域名确定第二转换映射关系;
17、其中,目标虚拟地址为不存在其他转换映射关系的虚拟地址。
18、在一种可能的实现方式中,在基于受控结果从虚拟地址池中确定目标虚拟地址之后,还包括:
19、基于域名访问请求确定目标域名;
20、获取目标域名对应的目标地址,并基于目标虚拟地址和目标地址确定目标转换映射关系。
21、在一种可能的实现方式中,基于目标虚拟地址的通信请求确定访问权限结果,包括:
22、基于目标虚拟地址的通信请求确定身份信息;
23、基于身份信息确定访问权限结果。
24、在一种可能的实现方式中,基于访问权限结果进行访问管控,包括:
25、在访问权限结果为允许访问的情况下,基于目标转换映射关系将目标虚拟地址转换为目标地址;
26、基于目标地址进行通信转发。
27、根据本说明书实施例的第二方面,提供了一种基于虚拟域名服务的访问控制装置,包括:
28、地址配置模块,被配置为生成虚拟地址池,确定受控域名集合;其中,虚拟地址池中包括虚拟地址,受控域名集合中包括受控域名,虚拟地址和受控域名的数量相同;
29、访问确定模块,被配置为虚拟域名服务端接收客户端的域名访问请求,基于域名访问请求和受控域名集合确定受控结果;
30、地址确定模块,被配置为虚拟域名服务端基于受控结果从虚拟地址池中确定目标虚拟地址,并将目标虚拟地址返回至客户端,以使客户端基于目标虚拟地址进行通信;
31、访问管控模块,被配置为访问控制服务端接收客户端基于目标虚拟地址的通信请求,基于目标虚拟地址的通信请求确定访问权限结果,并基于访问权限结果进行访问管控。
32、根据本说明书实施例的第三方面,提供了一种计算设备,包括:
33、存储器和处理器;
34、所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述基于虚拟域名服务的访问控制方法的步骤。
35、根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述基于虚拟域名服务的访问控制方法的步骤。
36、根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述基于虚拟域名服务的访问控制方法的步骤。
37、本说明书实施例提供基于虚拟域名服务的访问控制方法及装置,包括:生成虚拟地址池,确定受控域名集合;虚拟域名服务端接收客户端的域名访问请求,基于域名访问请求和受控域名集合确定受控结果;虚拟域名服务端基于受控结果从虚拟地址池中确定目标虚拟地址,并将目标虚拟地址返回至客户端;访问控制服务端接收客户端基于目标虚拟地址的通信请求,基于目标虚拟地址的通信请求确定访问权限结果,并基于访问权限结果进行访问管控。通过在访问控制过程中引入虚拟域名服务,该服务接管对受控域名的解析请求,给请求返回一个虚拟ip地址,虚拟ip地址是一个网络中不实际存在的ip地址,以此实现域名对应的真实地址不对用户暴露,消除应用的暴露面。
1.一种基于虚拟域名服务的访问控制方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述域名访问请求和所述受控域名集合确定受控结果,包括:
3.根据权利要求2所述的方法,其特征在于,在所述接受客户端的域名访问请求之前,还包括:
4.根据权利要求2所述的方法,其特征在于,所述基于所述受控结果从所述虚拟地址池中确定目标虚拟地址,包括:
5.根据权利要求1所述的方法,其特征在于,在所述基于所述受控结果从所述虚拟地址池中确定目标虚拟地址之后,还包括:
6.根据权利要求5所述的方法,其特征在于,所述基于所述目标虚拟地址的通信请求确定访问权限结果,包括:
7.根据权利要求6所述的方法,其特征在于,所述基于所述访问权限结果进行访问管控,包括:
8.一种基于虚拟域名服务的访问控制装置,其特征在于,包括:
9.一种计算设备,其特征在于,包括:
10.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至7任意一项所述基于虚拟域名服务的访问控制方法的步骤。