本发明属于网络安全,具体涉及基于网关的web应用代理方法及装置。
背景技术:
1、随着网络技术的快速发展,网络安全引起了全社会的高度重视,防火墙、负载均衡等设备被大量部署到实际的网络环境中,应用代理是防火墙、数据防泄漏、负载均衡等设备提供的主要功能之一。
2、目前在外网访问企业内的web应用主要使用如下方式:
3、1、在企业内网防火墙上将内部应用直接映射到公网上,在公网上直接访问。
4、2、在企业的隔离网络区域(dmz网络区域)部署一个web应用网关,将内网区域的web应用代理出来。并在企业边界防火墙上开放入口,允许外部流量访问web应用网关。
5、3、在企业内网部署vpn,在企业外的公网启动vpn客户端后访问公司内网应用。
6、但是上述方案均有一定的缺陷,方案一中,在企业内网的边界防火墙上开放端口存在一定的安全风险,直接将内网应用暴露到公网,应用有被弱口令、ddos、sql注入等手段攻击的风险。并且需要对该端口进行入侵检测、拦截,或在web应用前面部署waf防火墙等安全系统。方案二中,在企业的隔离区网络部署一个web应用网关,使用网关将内网的web应用出口收敛,统一暴露到外网。这种操作可以减小被攻击面,但是这种操作对企业内网的架构调整较大,可能需要修改公网ip指向,修改为指向web应用网关。或者对内部的路由策略进行,调整将流量引导到web应用网关。方案三中,使用vpn的方案虽然可以避免上述两种方案中的问题。但是如果企业中的web应用没有公网域名,只是在内网的dns服务器上做了解析。启动vpn后访问企业内网的web应用,会遇到dns解析失败的情况,流量无法通过路由策略引导到客户端。此时也需要做额外的修改才能进行访问。
技术实现思路
1、为了克服现有技术的不足,本发明提供基于网关的web应用代理方法及装置,以解决现有技术中进行web应用代理时需要对原有网络架构进行修改或安全性低的问题。
2、本发明其中一个实施例提供了一种基于网关的web应用代理方法,包括以下步骤:
3、获取浏览器在访问内网应用时的dns解析请求,并判断所述dns解析请求的目标对象是否为web应用;
4、当所述目标对象为web应用时,为所述web应用分配对应的代理ip,并基于所述代理ip构建dns响应结果;
5、将所述dns响应结果响应回客户端,并基于所述dns响应结果,通过所述客户端向所述代理ip发送访问请求;
6、在网关收到所述访问请求后,基于所述代理ip确定对应的web应用,向业务服务器转发所述访问请求并返回响应结果。
7、在其中一个实施例中,获取浏览器在访问内网应用时的dns解析请求,并判断所述dns解析请求的目标对象是否为web应用,包括:
8、在所述浏览器访问内网应用时,触发所述dns解析请求,并通过所述客户端对所述dns解析请求进行拦截;
9、在所述客户端中,判断所述dns解析请求的目标对象是否为web应用。
10、在其中一个实施例中,当所述目标对象为web应用时,为所述web应用分配对应的代理ip,并基于所述代理ip构建dns响应结果,包括:
11、当所述目标对象为web应用时,通过客户端将所述dns解析请求进行劫持并发送到网关;
12、通过所述网关在fakeip段中为所述web应用分配一个代理ip,保存所述web应用的真实地址,并基于代理ip构建dns响应结果。
13、在其中一个实施例中,将所述dns响应结果响应回客户端,并基于所述dns响应结果,通过所述客户端向所述代理ip发送访问请求,包括:
14、将fake dns解析结果响应回所述客户端,并在所述客户端接收到所述fake dns解析结果后,将fake dns结果响应回浏览器;
15、通过所述浏览器获取所述fake dns结果中的所述代理ip,并向所述代理ip发送访问请求;
16、基于所述客户端并通过隧道将所述访问请求转发到所述网关。
17、在其中一个实施例中,在网关收到所述访问请求后,基于所述代理ip确定对应的web应用,并转发请求流量及响应,包括:
18、在所述网关接收到所述访问请求后,获取所述代理ip对应的web应用以及所述web应用的真实地址;
19、通过所述网关将所述访问请求及所述真实地址转发到业务服务器,并在所述业务服务器接收到所述访问请求及所述真实地址后,向所述浏览器返回响应结果,以实现所述浏览器对所述web应用的访问。
20、在其中一个实施例中,获取浏览器在访问内网应用时的dns解析请求,并判断所述dns解析请求的目标对象是否为web应用之前,包括:
21、在所述客户端上开启本机dns解析请求拦截功能。
22、在其中一个实施例中,所述方法还包括:
23、当所述目标对象不是web应用时,通过公网dns服务器向所述浏览器返回响应结果。
24、本发明其中一个实施例还提供了一种基于网关的web应用代理装置,包括:
25、判断模块,用于获取浏览器在访问内网应用时的dns解析请求,并判断所述dns解析请求的目标对象是否为web应用;
26、分配模块,用于当所述目标对象为web应用时,为所述web应用分配对应的代理ip,并基于所述代理ip构建dns响应结果;
27、第一响应模块,用于将所述dns响应结果响应回客户端,并基于所述dns响应结果,通过所述客户端向所述代理ip发送访问请求;
28、第二响应模块,用于在网关收到所述访问请求后,基于所述代理ip确定对应的web应用,向业务服务器转发所述访问请求并返回响应结果。
29、本发明其中一个实施例还提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序包括程序指令,程序指令当被电子设备的处理器执行时,使处理器执行如上任意一种所述的基于网关的web应用代理方法的步骤。
30、本发明其中一个实施例还提供了一种电子设备,包括:处理器和存储器,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行所述计算机指令时,电子设备执行如上任意一种所述的基于网关的web应用代理方法的步骤。
31、通过应用以上技术方案,提出了一种基于网关的web应用代理方法,包括获取浏览器在访问内网应用时的dns解析请求,并判断所述dns解析请求的目标对象是否为web应用;当所述目标对象为web应用时,为所述web应用分配对应的代理ip,并基于所述代理ip构建dns响应结果;将所述dns响应结果响应回客户端,并基于所述dns响应结果,通过所述客户端向所述代理ip发送访问请求;在网关收到所述访问请求后,基于所述代理ip确定对应的web应用,向业务服务器转发所述访问请求并返回响应结果。通过拦截dns解析请求,并为web应用设置代理ip,保证了web应用的安全性,并不需要对原网络架构进行修改,适应不同的企业内网架构。
1.一种基于网关的web应用代理方法,其特征在于,包括以下步骤:
2.如权利要求1所述的基于网关的web应用代理方法,其特征在于,获取浏览器在访问内网应用时的dns解析请求,并判断所述dns解析请求的目标对象是否为web应用,包括:
3.如权利要求2所述的基于网关的web应用代理方法,其特征在于,当所述目标对象为web应用时,为所述web应用分配对应的代理ip,并基于所述代理ip构建dns响应结果,包括:
4.如权利要求3所述的基于网关的web应用代理方法,其特征在于,将所述dns响应结果响应回客户端,并基于所述dns响应结果,通过所述客户端向所述代理ip发送访问请求,包括:
5.如权利要求4所述的基于网关的web应用代理方法,其特征在于,在网关收到所述访问请求后,基于所述代理ip确定对应的web应用,并转发请求流量及响应,包括:
6.如权利要求1所述的基于网关的web应用代理方法,其特征在于,获取浏览器在访问内网应用时的dns解析请求,并判断所述dns解析请求的目标对象是否为web应用之前,包括:
7.如权利要求1所述的基于网关的web应用代理方法,其特征在于,所述方法还包括:
8.一种基于网关的web应用代理装置,其特征在于,包括:
9.一种电子设备,包括:处理器和存储器,其特征在于,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行所述计算机指令时,电子设备执行如权利要求1-7任意一种所述的基于网关的web应用代理方法的步骤。
10.一种可读存储介质,可读存储介质中存储有计算机程序,其特征在于,计算机程序包括程序指令,程序指令当被电子设备的处理器执行时,使处理器执行如权利要求1-7任意一种所述的基于网关的web应用代理方法的步骤。
