一种网络应用防火墙系统及其实现方法

文档序号:10515570阅读:116来源:国知局
一种网络应用防火墙系统及其实现方法
【专利摘要】本发明公开了一种网络应用防火墙系统及其实现方法,该系统包括:客户端子系统,运行于互联网入口服务器上,用于接收来自外网的用户请求,并将用户请求特征与本地存储的黑白名单进行比对:当用户处于白名单中时,直接跳过后续逻辑,将用户请求转发给后端的应用服务器;当用户处于黑名单中时,中断用户请求;服务端子系统,用于实现实时数据分析与存储;通过向客户端子系统送入数据,按预先定义的分析逻辑进行实时统计分析,并对分析得到的结果进行存储;当分析结果达到预设的阈值时,自动触发加黑名单逻辑。采用本发明,能够实现复杂的用户端逻辑和提高可定制性,从而使其适于网络视频及直播业务。
【专利说明】
一种网络应用防火墙系统及其实现方法
技术领域
[0001]本发明涉及网络防火墙技术,尤其涉及一种网络应用防火墙系统及其实现方法。
【背景技术】
[0002]近年来,随着移动互联网的普及,网络环境越来越呈现多样化,除了传统的宽带应用,越来越多的用户通过移动设备上网。但是,使用不同的网络环境、不同的网络设备,带给用户的体验可能是完全不同的,尤其是现在随着网络视频及直播业务的发展,其对网络质量的要求更高。因此,对通用的http请求进行扫描时和在网络视频及直播业务等环境下,均不可避免的需要用到网络防火墙,以对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。
[0003]传统的硬件防火墙系统,不仅价格昂贵,其内置的软件由于更多的需要考虑通用性以及性能,无法实现复杂的用户端逻辑。而常见的软件防火墙系统,不仅比较性能差,可定制性同样不好。因此,开发一款适用于网站应用的网络防火墙系统是非常必要的。

【发明内容】

[0004]有鉴于此,本发明的主要目的在于提供一种网络应用防火墙系统及其实现方法,以实现复杂的用户端逻辑和提高可定制性,从而使其更适于网络视频及直播业务。
[0005]为达到上述目的,本发明的技术方案是这样实现的:
[0006]一种网络应用防火墙系统,该系统包括客户端子系统和服务端子系统;其中:
[0007]所述客户端子系统,运行于互联网入口服务器上,用于接收来自外网的用户请求,并将用户请求特征与本地存储的黑白名单进行比对:当用户处于白名单中时,直接跳过后续逻辑,将用户请求转发给后端的应用服务器;当用户处于黑名单中时,中断用户请求;
[0008]所述服务端子系统,用于实现实时数据分析与存储;通过向客户端子系统送入数据,按预先定义的分析逻辑进行实时统计分析,并对分析得到的结果进行存储;当分析结果达到预设的阈值时,自动触发加黑名单逻辑。
[0009]其中,所述的用户请求特征,包括有用户的IP地址、访问端口、客户端用户代理(User-Agent)、访问的统一资源定位符(URL)地址及其参数、访问时间以及服务器相关的内容分发网络(CDN)服务器IP地址中的一种或多种信息。
[0010]所述后端的应用服务器,指服务原始请求的后端服务器。
[0011]所述客户端子系统将用户请求特征与本地存储的黑白名单进行比对,当用户既不在黑名单中、也不在白名单中时,则将来自外网的用户请求复制一份,异步发送给所述服务端子系统,同时原请求正常转发给后端的应用服务器。
[0012]所述服务端子系统的存储方式,是根据应用特点定制键值式的内存存储模式。
[0013]进一步包括管理端子系统,以支持实现对所述网络应用防火墙系统的各种管理功會K。
[0014]所述管理端子系统,用于查询当前的黑/白名单、加减黑/白名单内容、查询活跃客户端、查询并修改触发封禁用户的阈值、接收服务器端自动封禁用户信息,并通知系统管理员。
[0015]一种网络应用防火墙系统的实现方法,该方法包括:
[0016]a、在互联网入口服务器上运行客户端子系统,接收来自外网的用户请求,并将用户请求特征与本地存储的黑白名单进行比对:当用户处于白名单中时,直接跳过后续逻辑,将用户请求转发给后端的应用服务器;当用户处于黑名单中时,中断用户请求;
[0017]b、运行用于实现实时数据分析与存储功能的服务端子系统,通过向客户端子系统送入数据,按预先定义的分析逻辑进行实时统计分析,并对分析得到的结果进行存储;当分析结果达到预设的阈值时,自动触发加黑名单逻辑。
[0018]进一步地,所述步骤a还包括:当用户既不在黑名单中、也不在白名单中时,则将来自外网的用户请求复制一份,异步发送给所述服务端子系统,同时原请求正常转发给后端的应用服务器。
[0019]所述步骤b后进一步包括:c、运行管理端子系统,执行查询当前的黑/白名单、加减黑/白名单、查询活跃客户端、查询并修改触发封禁用户的阈值、接收服务器端自动封禁用户信息的指令。
[0020]采用本发明的网络应用防火墙系统及其实现方法,具有如下有益效果:
[0021]本发明的服务端子系统,在进行实时数据分析与高效存储时,通过向客户端子系统送入数据,按预先定义的分析逻辑进行实时统计分析,并对分析得到的结果进行存储;当分析结果达到预设的阈值时,自动触发加黑名单逻辑。在上述的工作流程中,任意步骤的执行是各自独立的,无相互耦合,所有数据交换通过接口程序即可完成,从而极大提高了整体系统的响应速度和稳定性。此外,异步的数据分析,尽可能避免了对访问性能造成影响,高效率的分析,保证在出现问题时系统能够自动快速反馈,减小网络攻击的破坏。再通过管理端子系统辅以人工处理,避免了系统自动分析中出现错误不好订正的问题。从而实现了复杂的用户端逻辑和灵活的可定制性。
【附图说明】
[0022]图1为本发明网络应用防火墙系统的功能架构示意图;
[0023]图2为本发明网络应用防火墙系统的工作流程示意图之一;
[0024]图3为本发明网络应用防火墙系统的工作流程示意图之二。
【具体实施方式】
[0025]下面结合附图及本发明的实施例对本发明的网络应用防火墙系统及其实现方法作进一步详细的说明。
[0026]图1为本发明网络应用防火墙系统的功能架构示意图。如图1所示,所述的网络应用防火墙系统,主要包括:运行在互联网入口服务器上的客户端子系统、核心分析用的服务端子系统以及运行在管理服务器上的管理端子系统。
[0027]其中:运行互联网入口服务器上的所述客户端子系统,其接收来自外网的用户请求,并将用户请求特征与本地存储的黑白名单进行比对。当用户处于白名单中时,直接跳过后续逻辑,将用户请求转发给后端的应用服务器;当用户处于黑名单中时,中断用户请求;当用户处于其他情况(例如:既不在黑名单中,也不在白名单中)时,则将所述来自外网的用户请求复制一份,异步发送给所述的服务端子系统,同时原请求正常转发给后端的应用服务器。
[0028]这里,所述用户请求特征,即可获得的信息,包括但不限于:用户的IP地址、访问端口、客户端用户代理(User-Agent)、访问的统一资源定位符(Uniform Resource Locator,URL)地址及其参数、访问时间以及服务器相关的内容分发网络(Content DeliveryNetwork,⑶N)服务器IP地址等。所述后端的应用服务器,是服务原始请求的后端服务器,也可称为APP Server,是原始URL地址内容的生产方。
[0029]所述的服务端子系统,主要用于实现数据分析与高效的存储。通过向客户端子系统送入数据,按预先定义的分析逻辑进行实时统计分析,并对分析得到的结果进行高效存储。当分析结果达到预设的阈值时,自动触发加黑名单逻辑。还用于处理通过管理端子系统发送的各种管理请求,包括加减黑名单、加减白名单、查询并修改阈值、查询活跃客户端等功能。
[0030]这里,所述的高效存储,主要体现在本发明的服务端子系统不依赖文件及数据等传统的数据存储方式,而是根据应用特点定制键值(Key Value)式的内存存储模式。
[0031]所述的管理端子系统,支持实现对所述网络应用防火墙系统的各种管理功能。包括查询当前的黑/白名单、加减黑/白名单内容、查询活跃客户端、查询并修改触发封禁用户的阈值、接收服务器端自动封禁用户信息,并通知系统管理员等功能。此外,还用于向管理员提供查询报表。
[0032]本发明的网络应用防火墙系统提供的防火墙服务中,首先在客户端子系统通过旁路的方式异步收集访问数据,提交到服务端子系统后,服务端子系统通过计算并存储,并对达到阈值的用户进行自动封禁;同时,在管理端子系统,支持由系统管理员根据实际情况,对用户进行手工操作,并查看报告等功能。
[0033]这里,所述的阈值,举例来说,假设定义同一IP地址一分钟内访问量超过1000为阈值,达到时自动封禁此IP地址。该阈值在本发明的防火墙系统中有预设,在管理端子系统可以查看和修改。当然,阈值的定义可以是多种方式,本发明不作特别限定;此外,基于上述接收到的用户请求特征,理论上可以任意组合,根据实际情况设定阈值进行灵活使用。
[0034]这样,在上述的工作流程中,任意步骤的执行是各自独立的,无相互耦合,所有数据交换通过接口程序即可完成,从而极大提高了整体系统的响应速度和稳定性。此外,异步的数据分析,尽可能避免对访问性能造成影响,高效率的分析,保证在出现问题时系统能够自动快速反馈,减小网络攻击的破坏;再通过管理端子系统辅以人工处理,避免了系统自动分析中出现错误不好订正的问题。从而实现了复杂的用户端逻辑和灵活的可定制性,使其适于网络视频及直播业务。
[0035]图2为本发明网络应用防火墙系统的工作流程示意图之一。如图2所示,在网站应用机房的互联网入口处,增设一组服务器,运行本发明的网络应用防火墙系统的客户端子系统。客户端子系统接收来自外网的用户请求,将用户请求特征(如用户的IP地址、访问端口、客户端User-Agent、URL地址及其参数、访问时间以及服务器相关的⑶N服务器IP等信息)与本地存储的网络白名单、黑名单比对:
[0036]I)当用户处于白名单中时,直接跳过后续逻辑,将用户请求转发给后端的应用服务器;
[0037]2)当用户处于黑名单中时,直接中断用户请求;
[0038]3)其他情况下,将请求复制一份,发送给本发明的防火墙系统的服务端子系统,原请求正常转发给后端服务器。此时,对于原应用服务器和原网络来说,本防火墙系统对该用户请求是“透明”的,即不需要对原服务进行任何修改,因而不会影响其稳定性,对原应用服务器和网络性能的影响也会降到最低。
[0039]需要注意的是,这里的“增设”指的是逻辑上的添加,实际实现中,应该与本网站现在的负载均衡系统及缓存系统集成,从而避免增加系统物理层级,以减少对应用性能的影响。
[0040]图3为本发明网络应用防火墙系统的工作流程示意图之二。本发明的网络应用防火墙系统的服务端子系统,其核心是一个高效的数据计算及存储引擎。
[0041]如图3所示,当接收到来自客户端子系统的统计数据后,服务端子系统根据预先定义好的逻辑对数据进行分析计算,当计算结果达到预定义的阈值时,则自动加入黑名单,否则继续存储。同时,服务端子系统通过管理接口接收来自管理端子系统的请求,包括加减黑名单,查询修改阈值,查询当前活跃客户端列表,查询黑名单,查询白名单等。当黑名单和白名单产生变化时,自动触发广播逻辑,将新的黑/白名单发给所有活跃的客户端,当检测到黑名单或/和白名单的变化不是由管理端子系统发起的,则汇报给管理端子系统。
[0042]这里,所述的管理端子系统,向系统管理员提供可视化的操作界面,提供服务端子系统允许的各种查询功能,提供管理员服务端子系统发送的所有报告汇总统计,还提供可视化的操作接口以便管理员方便地管理服务端子系统的功能。
[0043]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【主权项】
1.一种网络应用防火墙系统,其特征在于,该系统包括客户端子系统和服务端子系统;其中: 所述客户端子系统,运行于互联网入口服务器上,用于接收来自外网的用户请求,并将用户请求特征与本地存储的黑白名单进行比对:当用户处于白名单中时,直接跳过后续逻辑,将用户请求转发给后端的应用服务器;当用户处于黑名单中时,中断用户请求; 所述服务端子系统,用于实现实时数据分析与存储;通过向客户端子系统送入数据,按预先定义的分析逻辑进行实时统计分析,并对分析得到的结果进行存储;当分析结果达到预设的阈值时,自动触发加黑名单逻辑。2.根据权利要求1所述的网络应用防火墙系统,其特征在于,所述的用户请求特征,包括有用户的IP地址、访问端口、客户端用户代理User-Agent、访问的统一资源定位符URL地址及其参数、访问时间以及服务器相关的内容分发网络CDN服务器IP地址中的一种或多种?目息O3.根据权利要求1所述的网络应用防火墙系统,其特征在于,所述后端的应用服务器,指服务原始请求的后端服务器。4.根据权利要求1所述的网络应用防火墙系统,其特征在于,所述客户端子系统将用户请求特征与本地存储的黑白名单进行比对,当用户既不在黑名单中、也不在白名单中时,则将来自外网的用户请求复制一份,异步发送给所述服务端子系统,同时原请求正常转发给后端的应用服务器。5.根据权利要求1所述的网络应用防火墙系统,其特征在于,所述服务端子系统的存储方式,是根据应用特点定制键值式的内存存储模式。6.根据权利要求1?5任一所述的网络应用防火墙系统,其特征在于,进一步包括管理端子系统,以支持实现对所述网络应用防火墙系统的各种管理功能。7.根据权利要求6所述的网络应用防火墙系统,其特征在于,所述管理端子系统,用于查询当前的黑/白名单、加减黑/白名单内容、查询活跃客户端、查询并修改触发封禁用户的阈值、接收服务器端自动封禁用户信息,并通知系统管理员。8.一种网络应用防火墙系统的实现方法,其特征在于,该方法包括: a、在互联网入口服务器上运行客户端子系统,接收来自外网的用户请求,并将用户请求特征与本地存储的黑白名单进行比对:当用户处于白名单中时,直接跳过后续逻辑,将用户请求转发给后端的应用服务器;当用户处于黑名单中时,中断用户请求; b、运行用于实现实时数据分析与存储功能的服务端子系统,通过向客户端子系统送入数据,按预先定义的分析逻辑进行实时统计分析,并对分析得到的结果进行存储;当分析结果达到预设的阈值时,自动触发加黑名单逻辑。9.根据权利要求8所述的网络应用防火墙系统的实现方法,其特征在于,所述步骤a进一步包括:当用户既不在黑名单中、也不在白名单中时,则将来自外网的用户请求复制一份,异步发送给所述服务端子系统,同时原请求正常转发给后端的应用服务器。10.根据权利要求8所述的网络应用防火墙系统的实现方法,其特征在于,所述步骤b后进一步包括: C、运行管理端子系统,执行查询当前的黑/白名单、加减黑/白名单、查询活跃客户端、查询并修改触发封禁用户的阈值、接收服务器端自动封禁用户信息的指令。
【文档编号】H04L29/06GK105871919SQ201610409114
【公开日】2016年8月17日
【申请日】2016年6月12日
【发明人】李亦峰
【申请人】北京六间房科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1