网络防御方法及装置制造方法

文档序号:7806239阅读:207来源:国知局
网络防御方法及装置制造方法
【专利摘要】本发明提供了一种网络防御方法及装置。本发明的方法包括:步骤1:对业务请求进行前端验证,通过验证后进入步骤2,否则拒绝所述业务请求;步骤2:对所述业务请求进行客户端定位,得到所述业务请求所属客户端的IP地址;步骤3:基于所述客户端的IP地址,对所述业务请求进行访问控制。本发明的方法和装置通过客户端定位、访问控制和前端验证三个模块的结合,从而实现了有步骤、有针对性的控制策略,全面地实现了对各类网络应用的防御系统。
【专利说明】网络防御方法及装置
【技术领域】
[0001]本发明涉及网络安全【技术领域】,尤其涉及一种网络防御方法及装置。
【背景技术】
[0002]随着各行业和互联网技术的不断发展,各种网络应用层出不穷,特别是各类产品的在线销售成为主流模式,以机票销售为例,航班查询作为机票销售环节的第一步,也是各机票代理机构的数据入口。然而市场上通过正规渠道得到航班数据的机构不多,大多数机构是通过机器人爬虫技术抓取正规渠道的数据,扰乱市场并影响系统稳定性。
[0003]类似的情况,也发生在其它网络应用中,如电子商务销售网站、各类论坛等。而目前市面上,针对各类业务所采取的保护方法单一,对业务功能的保护不彻底,效果不能长久;不能对高频访问用户区别对待,存在误杀概率。

【发明内容】

[0004]有鉴于此,本发明提供了一种网络防御方法及装置,通过客户端定位、访问控制和前端验证三个模块的结合,从而实现了有步骤、有针对性的控制策略,全面地实现了对各类网络应用的防御系统。
[0005]本发明提供的一种网络防御方法,包括:
[0006]步骤1:对业务请求进行前端验证,通过验证后进入步骤2,否则拒绝所述业务请求;
[0007]步骤2:对所述业务请求进行客户端定位,得到所述业务请求所属客户端的IP地址;
[0008]步骤3:基于所述客户端的IP地址,对所述业务请求进行访问控制。
[0009]在所述步骤I中,对所述业务请求的HTTP信息、请求参数信息进行验证。
[0010]所述步骤I包括:
[0011]步骤1.1:根据所述业务请求的HTTP信息,确认发起所述业务请求的客户端是否通过浏览器访问,如果是,则进入步骤1.2,否则拒绝所述业务请求;
[0012]步骤1.2:根据所述业务请求的HTTP信息,确认发起所述业务请求的客户端IP是否为空,如果不为空,则进入步骤1.3,如果为空,则拒绝所述业务请求;
[0013]步骤1.3:对所述业务请求的请求参数信息进行合法性验证,如果通过合法性验证,则进入步骤2,否则拒绝所述业务请求。
[0014]所述步骤2包括:
[0015]步骤2.1:确定发起所述业务请求的客户端采用的访问方式;
[0016]步骤2.2:根据所述访问方式,采用相应的地址提取方式获取所述客户端IP地址。
[0017]在所述步骤2.2中,当客户端通过内网或外网进行访问时,直接从http请求中获取客户端ip地址;
[0018]当客户端通过代理或者从其所在的内网中通过外网代理进行访问时,从http头中获取代理信息,来定位客户端ip地址。
[0019]所述步骤3包括:
[0020]步骤3.1:根据步骤2获取的发起所述业务请求的客户端IP地址,查找第一数据库,判断所述客户端是否在黑名单或白名单中;若所述客户端在所述黑名单中,则拒绝所述业务请求;若所述客户端在所述白名单中,则直接进入步骤3.3 ;若所述客户端不在所述黑名单及所述白名单中,则进入步骤3.2 ;
[0021]步骤3.2:从第二数据库中查找属于所述客户端的与所述业务请求相同的业务请求的个数,并根据查询结果设置处理所述业务请求的延时时间;
[0022]步骤3.3:查找第三数据库,获得发起所述业务请求的客户端的优先级及所述优先级对应的最大并发数,如果当前并发数小于最大并发数,则进入步骤3.4,否则拒绝所述业务请求;
[0023]步骤3.4:判断当前处理的所述客户端的业务中是否存在与所述业务请求相同的业务,若不存在,则处理所述业务请求,若存在,则拒绝所述业务请求。
[0024]所述方法在步骤I之前还对所述业务请求进行中转处理以隐藏网站接口。
[0025]所述中转处理包括:
[0026]接收业务请求并在业务请求的session中存入设定的id ;
[0027]将业务请求发送给中转站;
[0028]调用中转站中的业务请求,提取业务请求的session中的id,如果提取到的id与存入的id —致,则进入步骤I ;否则,拒绝所述业务请求。
[0029]本发明还提供了一种网络防御装置,包括前端验证模块、定位模块以及访问控制模块,其中,
[0030]所述前端验证模块:用于对业务请求进行前端验证,如果通过验证则将所述业务请求发送给所述定位模块,否则拒绝所述业务请求;
[0031]所述定位模块:用于对所述业务请求进行客户端定位,得到所述业务请求所属客户端的IP地址;
[0032]所述访问控制模块:用于基于所述客户端的IP地址,对所述业务请求进行访问控制。
[0033]所述前端验证模块对所述业务请求的HTTP信息、请求参数信息进行验证。
[0034]所述前端验证模块包括:
[0035]第一判断模块:用于根据所述业务请求的HTTP信息,判断发起所述业务请求的客户端是否通过浏览器访问;
[0036]第二判断模块:用于根据所述业务请求的HTTP信息,判断发起所述业务请求的客户端IP是否为空;
[0037]验证模块:用于对所述业务请求的请求参数信息进行合法性验证。
[0038]所述定位模块包括:
[0039]第三判断模块:用于判断发起所述业务请求的客户端采用的访问方式;
[0040]地址提取模块:用于根据所述访问方式,采用相应的地址提取方式获取所述客户端IP地址。
[0041]当客户端通过内网或外网进行访问时,所述地址提取模块直接从http请求中获取客户端ip地址;当客户端通过代理或者从其所在的内网中通过外网代理进行访问时,所述地址提取模块从http头中获取代理信息,来定位客户端ip地址。
[0042]所述访问控制模块包括:
[0043]第一查询模块:用于根据定位模块获取的发起所述业务请求的客户端IP地址,查找第一数据库,判断所述客户端是否在黑名单或白名单中;若所述客户端在所述黑名单中,则拒绝所述业务请求;若所述客户端在所述白名单中,则将所述业务请求发送给第三查询模块;若所述客户端不在所述黑名单及所述白名单中,则将所述业务请求发送给第二查询模块;
[0044]第二查询模块:用于从第二数据库中查找属于所述客户端的与所述业务请求相同的业务请求的个数,并根据查询结果设置处理所述业务请求的延时时间;
[0045]第三查询模块:用于查找第三数据库,获得发起所述业务请求的客户端的优先级及所述优先级对应的最大并发数,如果当前并发数小于最大并发数,则将所述业务请求发送给第四查询模块;
[0046]第四查询模块:用于查询当前处理的所述客户端的业务中是否存在与所述业务请求相同的业务,若不存在,则将所述业务请求发送给对应的业务模块。
[0047]所述装置还包括用于对所述业务请求进行中转处理以隐藏网站接口的中转模块。
[0048]所述中转模块包括:
[0049]添加子模块:用于接收业务请求并在业务请求的session中存入设定的id ;
[0050]转发子模块:用于将业务请求发送给中转站;
[0051]提取子模块:用于调用中转站中的业务请求,提取业务请求的session中的id,如果提取到的id与存入的id —致,则将所述业务请求发送给所述前端验证模块。
[0052]本发明的方法及装置首先通过一套准确定位客户端的机制,准备识别请求来源,保障了后续功能的准确实施;其次,通过引入多套规则,进行数据分析,观测各种排列组合效果,确定最佳保护方法,有效防御机器人访问和恶意访问,同时通过行为分析,数理统计,试探策略,结合惩罚机制,区别高频访问的正常用户,维护整个应用正常稳定;最后,辅以前端验证和中转控制功能,实现安全防护前移,更为全面地提升安全防御范围和级别。
【专利附图】

【附图说明】
[0053]为了更清楚地说明本发明实施例或现有技术中的方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0054]图1为本发明一实施例提供的网络防御方法的流程示意图;
[0055]图2为本发明一实施例提供的网络防御装置的结构示意图。
【具体实施方式】
[0056]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0057]图1为本发明一实施例提供的网络防御方法的流程示意图,如图1所示,本实施例的网络防御方法,包括:
[0058]步骤1:对业务请求进行前端验证,通过验证后进入步骤2,否则拒绝所述业务请求;其中,在所述步骤I中,对所述业务请求的HTTP信息、请求参数信息进行验证。
[0059]可选地,所述步骤I可以包括:
[0060]步骤1.1:根据所述业务请求的HTTP信息,确认发起所述业务请求的客户端是否通过浏览器访问,如果是,则进入步骤1.2,否则拒绝所述业务请求;
[0061]步骤1.2:根据所述业务请求的HTTP信息,确认发起所述业务请求的客户端IP是否为空,如果不为空,则进入步骤1.3,如果为空,则拒绝所述业务请求;
[0062]步骤1.3:对所述业务请求的请求参数信息进行合法性验证,如果通过合法性验证,则进入步骤2,否则拒绝所述业务请求。
[0063]步骤2:对所述业务请求进行客户端定位,得到所述业务请求所属客户端的IP地址;
[0064]可选地,所述步骤2可以包括:
[0065]步骤2.1:确定发起所述业务请求的客户端采用的访问方式;
[0066]步骤2.2:根据所述访问方式,采用相应的地址提取方式获取所述客户端IP地址。其中,在所述步骤2.2中,当客户端通过内网或外网进行访问时,直接从http请求中获取客户端ip地址;当客户端通过代理或者从其所在的内网中通过外网代理进行访问时,从http头中获取代理信息,来定位客户端ip地址。
[0067]步骤3:基于所述客户端的IP地址,对所述业务请求进行访问控制。
[0068]可选地,所述步骤3可以包括:
[0069]步骤3.1:根据步骤2获取的发起所述业务请求的客户端IP地址,查找第一数据库,判断所述客户端是否在黑名单或白名单中;若所述客户端在所述黑名单中,则拒绝所述业务请求;若所述客户端在所述白名单中,则直接进入步骤3.3 ;若所述客户端不在所述黑名单及所述白名单中,则进入步骤3.2 ;
[0070]步骤3.2:从第二数据库中查找属于所述客户端的与所述业务请求相同的业务请求的个数,并根据查询结果设置处理所述业务请求的延时时间;
[0071]步骤3.3:查找第三数据库,获得发起所述业务请求的客户端的优先级及所述优先级对应的最大并发数,如果当前并发数小于最大并发数,则进入步骤3.4,否则拒绝所述业务请求;
[0072]步骤3.4:判断当前处理的所述客户端的业务中是否存在与所述业务请求相同的业务,若不存在,则处理所述业务请求,若存在,则拒绝所述业务请求。
[0073]进一步地,所述方法在步骤I之前还对所述业务请求进行中转处理以隐藏网站接口。其中,所述中转处理可以包括:
[0074]接收业务请求并在业务请求的session中存入设定的id ;
[0075]将业务请求发送给中转站;
[0076]调用中转站中的业务请求,提取业务请求的session中的id,如果提取到的id与存入的id —致,则进入步骤I ;否则,拒绝所述业务请求。[0077]图2为本发明一实施例提供的网络防御装置的结构示意图,如图2所示,本实施例的网络防御装置,包括前端验证模块、定位模块以及访问控制模块,其中,
[0078]所述前端验证模块:用于对业务请求进行前端验证,如果通过验证则将所述业务请求发送给所述定位模块,否则拒绝所述业务请求;其中,所述前端验证模块对所述业务请求的HTTP信息、请求参数信息进行验证。
[0079]可选地,所述前端验证模块可以包括:
[0080]第一判断子模块:用于根据所述业务请求的HTTP信息,判断发起所述业务请求的客户端是否通过浏览器访问;
[0081]第二判断子模块:用于根据所述业务请求的HTTP信息,判断发起所述业务请求的客户端IP是否为空;
[0082]验证子模块:用于对所述业务请求的请求参数信息进行合法性验证
[0083]所述定位模块:用于对所述业务请求进行客户端定位,得到所述业务请求所属客户端的IP地址;
[0084]可选地,所述定位模块可以包括:
[0085]第三判断子模块:用于判断发起所述业务请求的客户端采用的访问方式;
[0086]地址提取子模块:用于根据所述访问方式,采用相应的地址提取方式获取所述客户端IP地址。
[0087]可选地,当客户端通过内网或外网进行访问时,所述地址提取子模块可以直接从http请求中获取客户端ip地址;当客户端通过代理或者从其所在的内网中通过外网代理进行访问时,所述地址提取子模块可以从http头中获取代理信息,来定位客户端ip地址。具体地,
[0088]I)客户端通过内网访问服务器
[0089]客户端通过内网访问服务器一般可以分为以下两种方式,第一种是直接访问、第二种是通过内网代理访问,这两种方式都可以直接使用request.getRemoteAddr ()来获取,即直接从http请求中获取客户端ip地址,通过内网访问服务器的情况比较少,一般都是来自内网的访问。具体可参见示例1-2:
[0090]例1:
[0091]10.6.183.75 (Client)->10.6.183.96 (Server)
[0092]例2:
[0093]10.6.183.75 (Client) ->10.6.183.95 (Proxy) ->10.6.183.96 (Server)
[0094]2)客户端通过外网访问服务器
[0095]客户端通过外网访问服务器是最多的一种访问方式,这些用户都是普通的正常的用户,可以直接使用request.getRemoteAddr ()来获取其ip。具体可参见示例3:
[0096]例3:
[0097]202.106.139.5 (Client) ->10.6.183.96 (Server)
[0098]3)客户端通过代理访问服务器
[0099]客户端通过代理访问服务器也是一种较多的访问方式,当客户端通过代理访问服务器时使用request.getRemoteAddr ()获取到的只是代理的ip,因此要精确定位该客户端的实际ip需要从request.getHeader (〃x-forwarded_for〃)中获取最原始的被代理的ip (也就是ip列表中的第一个ip),即从http头中获取代理信息,来定位客户端ip,使用这种方式还可以防止客户端通过频繁切换代理的方式访问服务器,如下示例4-6为通过频繁切换代理访问服务器的例子:
[0100]例4:
[0101]202.106.139.5 (Client)->202.106.139.6 (Proxy) ->10.6.183.96 (Server)
[0102]例5:
[0103]202.106.139.5 (Client) ->202.106.139.7 (Proxy) ->10.6.183.96 (Server)
[0104]例6:
[0105]202.106.139.5 (Client) ->202.106.139.8 (Proxyl) ->202.106.139.9 (Proxy2)->10.6.183.96(Server)
[0106]4)客户端从其所在内网中通过外网代理访问服务器
[0107]这种访问方式也是一种比较常见的方式,比如很多公司就是通过公司的代理服务器上网的。要定位这种客户端只用一个ip是不行的:首先用其代理ip肯定不行,因为它不能定位到具体是哪个客户端,其次用客户端ip也不行,因为它是一个内网地址,无法把它和其它局域网所在内网ip区分开。因此对于这种方式的访问,可以使用客户端ip跟其出口外网ip的组合来定位,而要取这个ip组合同样需要配合使用request.getHeader (〃x-forwarded_for〃),具体可参见不例 7-9:
[0108]例7:
[0109]10.6.183.75 (Client) ->202.106.139.5 (Proxy) ->10.6.183.96 (Server)
[0110]例8:
[0111]10.6.183.97 (Client)->202.106.139.6 (Proxyl)->202.106.139.5 (Proxy2)->10.6.183.96(Server)
[0112]例9:
[0113]10.6.183.97 (Client)->10.6.183.75 (Proxyl)->202.106.139.6 (Proxy2)->202.106.139.5(Proxy3)->10.6.183.96 (Server)
[0114]所述访问控制模块:用于基于所述客户端的IP地址,对所述业务请求进行访问控制。
[0115]可选地,所述访问控制模块包括:
[0116]第一查询子模块:用于根据定位模块获取的发起所述业务请求的客户端IP地址,查找第一数据库,判断所述客户端是否在黑名单或白名单中;若所述客户端在所述黑名单中,则拒绝所述业务请求;若所述客户端在所述白名单中,则将所述业务请求发送给第三查询子模块;若所述客户端不在所述黑名单及所述白名单中,则将所述业务请求发送给第二查询子模块;通过设置黑白名单,可以针对各个客户端设置不能策略。如黑名单里面的客户端不允许访问(比如已知的经常攻击网站的ip),而白名单适用规则可以自定义,比如白名单里面的客户端不启用惩罚机制。
[0117]第二查询子模块:用于从第二数据库中查找属于所述客户端的与所述业务请求相同的业务请求的个数,并根据查询结果设置处理所述业务请求的延时时间;在定位了每个请求的发起客户端后,对于同一客户端重复提交相同请求时可以有一套惩罚机制,如增加处理延时。通过记录某个客户端的提交相同请求的次数及上一次提交时间,然后根据提交次数的递增来增加两次相同类型业务请求提交之间的时间间隔实现的。例如当前业务未结束就提交下一次相同请求,则本业务的两次业务处理时间间隔增加5秒等。惩罚机制的逻辑实现可以根据情况有所变化,但其最基本的实现需要一个存储机制来记录这些客户端的查询次数和上一次查询时间等信息,在技术上可以使用数据库、缓存、文件等方式来进行记录。
[0118]第三查询子模块:用于查找第三数据库,获得发起所述业务请求的客户端的优先级及所述优先级对应的最大并发数,如果当前并发数小于最大并发数,则将所述业务请求发送给第四查询子模块;可以对客户端进行分类,通过实施不同的控制来丰富访问控制的策略。以网上销售系统为例,一般可以使用未注册用户和注册用户进行使用。机器人大多是以未注册用户身份访问服务器,因此我们可以赋予注册用户一些优先使用资源权利,以避免大量机器人调用造成正常用户无法使用销售系统。这个规则实际上是最大并发数规则的一个嵌套使用,比如我们可以定义网站总的最大并发数为30,而未注册用户的最大连接数为10,那么我们就能保证注册用户的可用连接数永远是大于等于20的,而未注册用户的可用连接数永远是小于等于10的。
[0119]第四查询子模块:用于查询当前处理的所述客户端的业务中是否存在与所述业务请求相同的业务,若不存在,则将所述业务请求发送给对应的业务模块。对于网络机器人而言,它们通常一次性发送η个请求并且会不断的发送请求,因此通过设置本次处理未结束不允许下一次处理,即可将每一个客户端的请求串行化,不管有多少个查询请求涌过来,当接受到一个请求然后进行处理时,其余请求一律拒绝,一直等到该请求处理完成才继续接受请求。在定位了每个请求的发起客户端后,针对每个客户端提交的业务请求,通过一个单次请求的单通道的 、无阻塞的处理器,来实施一个请求处理完成之前,针对同一客户端提交的相同请求不进行处理。
[0120]进一步地,所述装置还可以包括用于对所述业务请求进行中转处理以隐藏网站接口的中转模块。
[0121]可选地,所述中转模块可以包括:
[0122]添加子模块:用于接收业务请求并在业务请求的session中存入设定的id ;
[0123]转发子模块:用于将业务请求发送给中转站;
[0124]提取子模块:用于调用中转站中的业务请求,提取业务请求的session中的id,如果提取到的id与存入的id —致,则将所述业务请求发送给所述前端验证模块。
[0125]以航班查询系统为例,采用中转模块能够使得用户点击查询后进行两次跳转才能最终到达真正的航班查询连接,把暴露给外界的航班查询连接作为一个中转连接,在调用这个连接的时候通过添加子模块往session中存入一个id,并通过转发子模块转发给中转站,最后,在最终的航班查询连接调用时通过提取子模块取出这个id,如果取不到或者不匹配、或者referer为空则直接拒绝。采用中转模块可以拦截某些禁用session的机器人以及直接调用最终查询链接的机器人,同时还可以防止用户在查询页面一直按住F5刷新页面。
[0126]综上所述,本发明的方法及装置首先通过一套准确定位客户端的机制,准备识别请求来源,保障了后续功能的准确实施;其次,通过引入多套规则,进行数据分析,观测各种排列组合效果,确定最佳保护方法,有效防御机器人访问和恶意访问,同时通过行为分析,数理统计,试探策略,结合惩罚机制,区别高频访问的正常用户,维护整个应用正常稳定?’最后,辅以前端验证和中转控制功能,实现安全防护前移,更为全面地提升安全防御范围和级别。
[0127]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种网络防御方法,其特征在于,所述方法包括: 步骤1:对业务请求进行前端验证,通过验证后进入步骤2,否则拒绝所述业务请求; 步骤2:对所述业务请求进行客户端定位,得到所述业务请求所属客户端的IP地址; 步骤3:基于所述客户端的IP地址,对所述业务请求进行访问控制。
2.根据权利要求1所述的一种网络防御方法,其特征在于,在所述步骤I中,对所述业务请求的HTTP信息、请求参数信息进行验证。
3.根据权利要求2所述的一种网络防御方法,其特征在于,所述步骤I包括: 步骤1.1:根据所述业务请求的HTTP信息,确认发起所述业务请求的客户端是否通过浏览器访问,如果是,则进入步骤1.2,否则拒绝所述业务请求; 步骤1.2:根据所述业务请求的HTTP信息,确认发起所述业务请求的客户端IP是否为空,如果不为空,则进入步骤1.3,如果为空,则拒绝所述业务请求; 步骤1.3:对所述业务请求的请求参数信息进行合法性验证,如果通过合法性验证,则进入步骤2,否则拒绝所述业务请求。
4.根据权利要求1所述的一种网络防御方法,其特征在于,所述步骤2包括: 步骤2.1:确定发起所述业务请求的客户端采用的访问方式; 步骤2.2:根据所述访问方式,采用相应的地址提取方式获取所述客户端IP地址。
5.根据权利要求4所述的一种网络防御方法,其特征在于,在所述步骤2.2中,当客户端通过内网或外网进行访问时,直接从http请求中获取客户端ip地址; 当客户端通过代理或者从其所在的内网中通过外网代理进行访问时,从http头中获取代理信息,来定位客户端ip地址。
6.根据权利要求1所述的一种网络防御方法,其特征在于,所述步骤3包括: 步骤3.1:根据步骤2获取的发起所述业务请求的客户端IP地址,查找第一数据库,判断所述客户端是否在黑名单或白名单中;若所述客户端在所述黑名单中,则拒绝所述业务请求;若所述客户端在所述白名单中,则直接进入步骤3.3 ;若所述客户端不在所述黑名单及所述白名单中,则进入步骤3.2 ; 步骤3.2:从第二数据库中查找属于所述客户端的与所述业务请求相同的业务请求的个数,并根据查询结果设置处理所述业务请求的延时时间; 步骤3.3:查找第三数据库,获得发起所述业务请求的客户端的优先级及所述优先级对应的最大并发数,如果当前并发数小于最大并发数,则进入步骤3.4,否则拒绝所述业务请求; 步骤3.4:判断当前处理的所述客户端的业务中是否存在与所述业务请求相同的业务,若不存在,则处理所述业务请求,若存在,则拒绝所述业务请求。
7.根据权利要求1-6之一所述的一种网络防御方法,其特征在于,所述方法在步骤I之前还对所述业务请求进行中转处理以隐藏网站接口。
8.根据权利要求7所述的一种网络防御方法,其特征在于,所述中转处理包括: 接收业务请求并在业务请求的session中存入设定的id ; 将业务请求发送给中转站; 调用中转站中的业务请求,提取业务请求的session中的id,如果提取到的id与存入的id —致,则进入步骤I ;否则,拒绝所述业务请求。
9.一种网络防御装置,包括前端验证模块、定位模块以及访问控制模块,其特征在于, 所述前端验证模块:用于对业务请求进行前端验证,如果通过验证则将所述业务请求发送给所述定位模块,否则拒绝所述业务请求; 所述定位模块:用于对所述业务请求进行客户端定位,得到所述业务请求所属客户端的IP地址; 所述访问控制模块:用于基于所述客户端的IP地址,对所述业务请求进行访问控制。
10.根据权利要求9所述的一种网络防御装置,其特征在于,所述前端验证模块对所述业务请求的HTTP信息、请求参数信息进行验证。
11.根据权利要求10所述的一种网络防御装置,其特征在于,所述前端验证模块包括: 第一判断子模块:用于根据所述业务请求的HTTP信息,判断发起所述业务请求的客户端是否通过浏览器访问; 第二判断子模块:用于根据所述业务请求的HTTP信息,判断发起所述业务请求的客户端IP是否为空; 验证子模块:用于对 所述业务请求的请求参数信息进行合法性验证。
12.根据权利要求9所述的一种网络防御装置,其特征在于,所述定位模块包括: 第三判断子模块:用于判断发起所述业务请求的客户端采用的访问方式; 地址提取子模块:用于根据所述访问方式,采用相应的地址提取方式获取所述客户端IP地址。
13.根据权利要求12所述的一种网络防御装置,其特征在于,当客户端通过内网或外网进行访问时,所述地址提取子模块直接从http请求中获取客户端ip地址;当客户端通过代理或者从其所在的内网中通过外网代理进行访问时,所述地址提取子模块从http头中获取代理信息,来定位客户端ip地址。
14.根据权利要求9所述的一种网络防御装置,其特征在于,所述访问控制模块包括: 第一查询子模块:用于根据定位模块获取的发起所述业务请求的客户端IP地址,查找第一数据库,判断所述客户端是否在黑名单或白名单中;若所述客户端在所述黑名单中,则拒绝所述业务请求;若所述客户端在所述白名单中,则将所述业务请求发送给第三查询子模块;若所述客户端不在所述黑名单及所述白名单中,则将所述业务请求发送给第二查询子模块; 第二查询子模块:用于从第二数据库中查找属于所述客户端的与所述业务请求相同的业务请求的个数,并根据查询结果设置处理所述业务请求的延时时间; 第三查询子模块:用于查找第三数据库,获得发起所述业务请求的客户端的优先级及所述优先级对应的最大并发数,如果当前并发数小于最大并发数,则将所述业务请求发送给第四查询子模块; 第四查询子模块:用于查询当前处理的所述客户端的业务中是否存在与所述业务请求相同的业务,若不存在,则将所述业务请求发送给对应的业务模块。
15.根据权利要求9-14之一所述的一种网络防御装置,其特征在于,所述装置还包括用于对所述业务请求进行中转处理以隐藏网站接口的中转模块。
16.根据权利要求15所述的一种网络防御装置,其特征在于,所述中转模块包括: 添加子模块:用于接收业务请求并在业务请求的session中存入设定的id ;转发子模块:用于将业务请求发送给中转站; 提取子模块:用于调用中转站中的业务请求,提取业务请求的session中的id,如果提取到的id与存入的i d —致,则将所述业务请求发送给所述前端验证模块。
【文档编号】H04L29/06GK104023024SQ201410266016
【公开日】2014年9月3日 申请日期:2014年6月13日 优先权日:2014年6月13日
【发明者】何飞, 陈涌均, 代勇, 张叶华 申请人:中国民航信息网络股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1