一种基于互联网跨站请求伪造防护的方法及系统与流程
未命名
08-26
阅读:127
评论:0

1.本发明涉及通讯技术领域,具体涉及一种基于互联网跨站请求伪造防护的方法及系统。
背景技术:
2.随着互联网技术及移动通信技术的发展,网站安全的要求越来越高,现在的黑客往往会利用网站的安全进行攻击,从而达到自己的目的,跨站请求伪造攻击就是其中之一;现有的网站安全针对跨站请求伪造是基于jsp+java的网站模式的,页面和业务处理都在服务器端,页面加载经过后端web服务器,处理的方式则是采取过滤器解析referer进行判断,将跨站请求进行拦截。随着现在技术水平的发现,目前的网站架构都进行了升级改造,均会采取静态资源和动态服务请求分离的架构,这样的架构再按照原有的处理方式去拦截跨站请求伪造就会漏掉静态资源,因静态资源不经过web后端,此时就会存在页面静态资源被跨站请求攻击的风险。
3.现有的技术方案缺点:
4.1)、在web服务器拦截,采取跨站请求filter获取请求的referer地址,由于html、css、js等静态资源直接在静态资源侧返回,所以静态资源的请求在后端web侧的过滤器是拦截不到的,此时就存在静态资源被攻击的可能性;
5.2)、在网络层的每一层去拦截,也能提高效率,如果都放在网站网络的最后一层去防护,那么所有的请求都到了最后一层才被拦截,当攻击来临时所有的请求都到最后一个环节,此时的网站流量瞬间变大,很容易造成超负荷而宕机。
技术实现要素:
6.本发明的目的在于提供一种基于互联网跨站请求伪造防护的方法及系统,用于针对全站采取层层拦截,每一层都进行拦截防护,从而达到拦截防护的目的。
7.为解决上述技术问题,本发明提供一种基于互联网跨站请求伪造防护的方法,包括以下步骤:
8.获取网络访问请求;
9.根据网络访问请求的域名,确定网络访问请求的请求类型;所述网络访问请求的请求类型包括静态资源请求和rest服务请求;
10.根据网络访问请求的请求类型,将不同请求类型的网络访问请求分别发送到相应的目标服务器中;
11.目标服务器从接收到的相应请求类型的网络访问请求中解析出referer值,根据referer值判断相应的网络访问请求是否合法。
12.优选地,根据网络访问请求的请求类型,将不同请求类型的网络访问请求分别发送到相应的目标服务器中,具体包括以下步骤:
13.将请求类型为静态资源请求的网络访问请求发送到静态资源服务器;
14.将请求类型为rest服务请求的网络访问请求发送到web服务器。
15.优选地,静态资源服务器从请求类型为静态资源请求的网络访问请求中解析出referer值,根据该referer值,判断相应的网络访问请求是否合法;
16.web服务器从请求类型为rest服务请求的网络访问请求中解析出referer值,根据该referer值,判断相应的网络访问请求是否合法。
17.优选地,目标服务器从接收到的相应请求类型的网络访问请求中解析出referer值,具体以下步骤:
18.静态资源服务器基于请求类型为静态资源请求的网络访问请求的header获取referer值;
19.web服务器端基于请求类型为rest服务请求的网络访问请求的header获取referer值。
20.优选地,通过nginx分发网关分别发送不同请求类型的网络访问请求。
21.优选地,还包括以下步骤:
22.若网络访问请求不合法,则进行拦截。
23.优选地,若网络访问请求不合法,则进行拦截,具体包括以下步骤:
24.若网络访问请求不合法,则将相应的网络访问请求与白名单进行对比;
25.若网络访问请求的域名未被记录在白名单中,则进行拦截。
26.优选地,所述白名单中记录了确认为安全的域名。
27.本发明还提供一种基于互联网跨站请求伪造防护的系统,包括:
28.获取模块,用于获取网络访问请求;
29.请求类型确定模块,用于根据网络访问请求的域名,确定网络访问请求的请求类型;所述网络访问请求的请求类型包括静态资源请求和rest服务请求;
30.分发模块,用于根据网络访问请求的请求类型,将不同请求类型的网络访问请求分别发送到相应的目标服务器中;
31.判断模块,用于目标服务器从接收到的相应请求类型的网络访问请求中解析出referer值,根据referer值判断相应的网络访问请求是否合法。
32.与现有技术相比,本发明的有益效果为:
33.1、现有的防护方案采取随机token的方式,但token的方式拦截策略还是基于静态资源请求、rest服务请求同时在web服务器侧,局限性很大,针对于现在的互联网技术采取静态资源单独分离的情况就不可行了,因前端页面等静态资源不经过web服务器;本发明针对全站采取层层拦截,每一层都进行拦截防护,从而达到拦截防护的目的。
34.2、本发明不仅支持传统的web应用的防护,还针对现有的互联网主流架构做了安全防护,通用性更强,安全性更高。
附图说明
35.下面结合附图对本发明的具体实施方式作进一步详细说明。
36.图1是本发明一种基于互联网跨站请求伪造防护的方法的流程示意图;
37.图2是各个端口信号传递示意图。
具体实施方式
38.在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
39.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相的列出项目的任何或所有可能组合。
40.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
41.下面结合附图对本发明做进一步的详细描述:
42.如图1所示,本发明提供一种基于互联网跨站请求伪造防护的方法,包括以下步骤:
43.获取网络访问请求;
44.根据网络访问请求的域名,确定网络访问请求的请求类型;所述网络访问请求的请求类型包括静态资源请求和rest服务请求;
45.根据网络访问请求的请求类型,将不同请求类型的网络访问请求分别发送到相应的目标服务器中;
46.目标服务器从接收到的相应请求类型的网络访问请求中解析出referer值,根据referer值判断相应的网络访问请求是否合法。
47.优选地,根据网络访问请求的请求类型,将不同请求类型的网络访问请求分别发送到相应的目标服务器中,具体包括以下步骤:
48.将请求类型为静态资源请求的网络访问请求发送到静态资源服务器;
49.将请求类型为rest服务请求的网络访问请求发送到web服务器。
50.优选地,静态资源服务器从请求类型为静态资源请求的网络访问请求中解析出referer值,根据该referer值,判断相应的网络访问请求是否合法;
51.web服务器从请求类型为rest服务请求的网络访问请求中解析出referer值,根据该referer值,判断相应的网络访问请求是否合法。
52.优选地,目标服务器从接收到的相应请求类型的网络访问请求中解析出referer值,具体以下步骤:
53.静态资源服务器基于请求类型为静态资源请求的网络访问请求的header获取referer值;
54.web服务器端基于请求类型为rest服务请求的网络访问请求的header获取referer值。
55.优选地,通过nginx分发网关分别发送不同请求类型的网络访问请求。
56.优选地,还包括以下步骤:
57.若网络访问请求不合法,则进行拦截。
58.优选地,若网络访问请求不合法,则进行拦截,具体包括以下步骤:
59.若网络访问请求不合法,则将相应的网络访问请求与白名单进行对比;
60.若网络访问请求的域名未被记录在白名单中,则进行拦截。
61.优选地,所述白名单中记录了确认为安全的域名。
62.本发明还提供一种基于互联网跨站请求伪造防护的系统,包括:
63.获取模块,用于获取网络访问请求;
64.请求类型确定模块,用于根据网络访问请求的域名,确定网络访问请求的请求类型;所述网络访问请求的请求类型包括静态资源请求和rest服务请求;
65.分发模块,用于根据网络访问请求的请求类型,将不同请求类型的网络访问请求分别发送到相应的目标服务器中;
66.判断模块,用于目标服务器从接收到的相应请求类型的网络访问请求中解析出referer值,根据referer值判断相应的网络访问请求是否合法。
67.本发明能解决的技术问题为:
68.1、静态资源跨站请求伪造安全拦截,在访问网站前篡改referer,那就需要在nginx软负载侧拦截,对referer静态资源请求做拦截,直接禁止访问,此时因前端nginx已经禁止访问,页面无法加载,也就不存在获取用户信息的情况;
69.2、页面发送rest请求时,当请求到达web层时,首先经过跨站请求filter类,此类将会获取referer值进行判断,referer将进行拦截,后端的防护正常的rest请求,在传输过程中referer值被篡改,此时后端能及时拦截;
70.本发明提及一种跨站请求伪造防护的方法,基于现有互联网框架下前端后端分离的架构下的一种防护策略,前端后端同时达到防护的目的,前端基于nginx脚本方式匹配referer,后端基于请求header获取referer,将白名单的地址去除之后做拦截,采取的是层层递进的方式防护,应予以保护。
71.为了更好的说明本发明的技术效果,本发明提供如下具体实施例说明上述技术流程:
72.实施例1,一种基于互联网跨站请求伪造防护的方法,公开了一种基于前后端分离的跨站请求伪造安全防护策略,此发明针对目前的互联网架构,采取层层防护,每一层网络防护本网络的请求,而不是采取在最后一个环节拦截,分段层层防护,采取递进式的防护,当每一层的防护起到作用时请求都会被拒绝访问,而不会再进行下一步的动作,减轻网站的压力,跨站请求访问的防护包含两种方式:一、请求包进行referer;二、增加token随机值校验。
73.由于token是在后端web服务器生成,页面加载时首先经过web层才能生成此值,页面在加载出来之前此值已经添加,目前的架构为了提高加载速度前端页面加载时不经过后端web,直接在静态资源侧返回,所以采取增加token随机值校验的方法不可行。
74.下面结合图2,对本实施例做详细阐述。
75.具体说明如下:
76.1)、使用浏览器域名访问网站,域名经过解析时将网站的请求分发转发到对应的
f5负载侧;
77.2)、f5负载将网站的请求转发到对应的nginx分发网关,静态资源请求(html、css、js、图片等)将会分发到静态资源服务器,当静态资源服务器收到到用户的请求时,获取访问的referer值,具体通过$http_referer可以获取访问网站请求的referer,在匹配到静态资源时对referer做判断,不合法的直接403禁止访问;
78.3)、分发网关nginx对后端的rest服务请求分发到应用侧的web服务器端,服务器端,服务器经过跨站请求伪造过滤器,通过获取请求的header里面的referer值,对referer做判断,不合法的拦截禁止访问;
79.至此,流程结束。
80.在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线段、电线段、光缆、rf等等,或者上述的任意合适的组合。
81.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块、模组或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元、模组或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。
82.所述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
83.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
84.特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)执行时,执行本发明的方法中限定的上述功能。需要说明的是,本发明上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。
85.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标
注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
86.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种基于互联网跨站请求伪造防护的方法,其特征在于,包括以下步骤:获取网络访问请求;根据网络访问请求的域名,确定网络访问请求的请求类型;所述网络访问请求的请求类型包括静态资源请求和rest服务请求;根据网络访问请求的请求类型,将不同请求类型的网络访问请求分别发送到相应的目标服务器中;目标服务器从接收到的相应请求类型的网络访问请求中解析出referer值,根据referer值判断相应的网络访问请求是否合法。2.根据权利要求1所述的基于互联网跨站请求伪造防护的方法,其特征在于,根据网络访问请求的请求类型,将不同请求类型的网络访问请求分别发送到相应的目标服务器中,具体包括以下步骤:将请求类型为静态资源请求的网络访问请求发送到静态资源服务器;将请求类型为rest服务请求的网络访问请求发送到web服务器。3.根据权利要求2所述的基于互联网跨站请求伪造防护的方法,其特征在于:静态资源服务器从请求类型为静态资源请求的网络访问请求中解析出referer值,根据该referer值,判断相应的网络访问请求是否合法;web服务器从请求类型为rest服务请求的网络访问请求中解析出referer值,根据该referer值,判断相应的网络访问请求是否合法。4.根据权利要求3所述的基于互联网跨站请求伪造防护的方法,其特征在于,目标服务器从接收到的相应请求类型的网络访问请求中解析出referer值,具体以下步骤:静态资源服务器基于请求类型为静态资源请求的网络访问请求的header获取referer值;web服务器端基于请求类型为rest服务请求的网络访问请求的header获取referer值。5.根据权利要求1所述的基于互联网跨站请求伪造防护的方法,其特征在于:通过nginx分发网关分别发送不同请求类型的网络访问请求。6.根据权利要求1所述的基于互联网跨站请求伪造防护的方法,其特征在于,还包括以下步骤:若网络访问请求不合法,则进行拦截。7.根据权利要求6所述的基于互联网跨站请求伪造防护的方法,其特征在于,若网络访问请求不合法,则进行拦截,具体包括以下步骤:若网络访问请求不合法,则将相应的网络访问请求与白名单进行对比;若网络访问请求的域名未被记录在白名单中,则进行拦截。8.根据权利要求7所述的基于互联网跨站请求伪造防护的方法,其特征在于:所述白名单中记录了确认为安全的域名。9.一种基于互联网跨站请求伪造防护的系统,用于实现如权利要求1-8任一所述的基于互联网跨站请求伪造防护的方法,其特征在于,包括:获取模块,用于获取网络访问请求;请求类型确定模块,用于根据网络访问请求的域名,确定网络访问请求的请求类型;所述网络访问请求的请求类型包括静态资源请求和rest服务请求;
分发模块,用于根据网络访问请求的请求类型,将不同请求类型的网络访问请求分别发送到相应的目标服务器中;判断模块,用于目标服务器从接收到的相应请求类型的网络访问请求中解析出referer值,根据referer值判断相应的网络访问请求是否合法。
技术总结
本发明公开一种基于互联网跨站请求伪造防护的方法,属于通讯技术领域;该方法包括:获取网络访问请求;根据网络访问请求的域名,确定网络访问请求的请求类型;所述网络访问请求的请求类型包括静态资源请求和rest服务请求;根据网络访问请求的请求类型,将不同请求类型的网络访问请求分别发送到相应的目标服务器中;不同的目标服务器分别从接收到的网络访问请求中解析出Referer值,根据Referer值,判断相应的网络访问请求是否合法。本发明还公开一种基于互联网跨站请求伪造防护的系统。本发明针对全站采取层层拦截,每一层都进行拦截防护,从而达到拦截防护的目的。从而达到拦截防护的目的。从而达到拦截防护的目的。
技术研发人员:李冬冬
受保护的技术使用者:北京思特奇信息技术股份有限公司
技术研发日:2023.01.31
技术公布日:2023/8/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/