首页> 中国专利> 基于IP访问行为的网络访问控制方法及系统

基于IP访问行为的网络访问控制方法及系统

摘要

本发明提供了一种基于IP访问行为的网络访问控制方法及系统,通过路由器获取客户端发送的Web请求后,将所述Web请求发送至行为分析服务器,行为分析服务器提取所述Web请求中的数据生成对应的用户IP和该用户IP的行为记录,并根据所述行为记录判断对应的Web请求否为正常请求,若是,则将该Web请求转发至相应的业务服务器;若否,则向所述客户端发送拒绝所述Web请求的响应,能够动态的对未知的IP进行访问控制,解决传统IP访问控制中效率低、配置繁琐、动态实时性差等问题,同时也是为了限制网络攻击、规范爬虫行为,提高网站或者API的服务质量,增强网站稳定性和可用性。

著录项

  • 公开/公告号CN103475637A

    专利类型发明专利

  • 公开/公告日2013-12-25

    原文格式PDF

  • 申请/专利权人 携程计算机技术(上海)有限公司;

    申请/专利号CN201310284923.X

  • 发明设计人 叶亚明;张勇;

    申请日2013-07-08

  • 分类号H04L29/06(20060101);

  • 代理机构11015 北京英特普罗知识产权代理有限公司;

  • 代理人齐永红

  • 地址 200335 上海市长宁区福泉路99号

  • 入库时间 2024-02-19 22:27:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-27

    授权

    授权

  • 2015-12-23

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20130708

    实质审查的生效

  • 2013-12-25

    公开

    公开

说明书

技术领域

本发明属于计算机网络技术领域,特别涉及一种根据IP通过分析用户访问 行为来达到网络访问控制目的方法及系统。

背景技术

随着大型的互联网商务网站的发展,网络领域出现很多恶意网络爬虫和网 络攻击,这些行为通过短时间大流量的访问网站或者服务导致大量网络流量和 资源被占用,甚至会导致服务器的崩溃,会给公司造成重大损失。

因此如何加强以访问控制为核心的技术成为各大型互联网公司亟需解决的 问题。现有的基于IP地址的访问控制列表法,主要是通过在防火墙或者服务器 上静态的配置规则来达到访问限制的目的,这种方法不仅灵活性比较差,而且 反馈调整比较繁琐。另外,还有一些研究利用攻击程序的非智能的特点的现有 方法,通过生成一些简单的图片让用户去识别,进而判断用户的合法性,这种 方法会干扰用户体验,同时随着技术的发展也容易成为攻击的目标。此外,还 一些虽然考虑到了包括用户访问页面顺序、浏览时间、停留时间等用户行为的 算法,但是这种算法复杂而且效率低,显然在大型的商务网站是很难得到实 施。因此,以上这些现有方法不能很好的适应现阶段网络访问限制的需求。

发明内容

本发明的目的在于提供一种基于IP访问行为的网络访问控制方法及系统, 解决传统IP访问控制中效率低、配置繁琐、动态实时性差等问题,同时也是为 了限制网络攻击、规范爬虫行为,提高网站或者API的服务质量,增强网站稳 定性和可用性。

为解决上述问题,本发明提供一种基于IP访问行为的网络访问控制方法, 包括:

路由器获取客户端发送的Web请求后,将所述Web请求发送至行为分析服 务器;

行为分析服务器提取所述Web请求中的数据生成对应的用户IP和该用户IP 的行为记录,并根据所述行为记录判断对应的Web请求否为正常请求,若是, 则将该Web请求转发至相应的业务服务器;若否,则向所述客户端发送拒绝所 述Web请求的响应。

进一步的,在上述方法中,所述Web请求包括用户IP、请求的资源地址和 所用浏览器型号信息。

进一步的,在上述方法中,所述用户IP的行为记录包括总访问次数、同时 Session个数、同时请求个数、访问开始时间、最后一次访问时间和客户类型的 字段。

进一步的,在上述方法中,根据所述行为记录判断对应的Web请求否为正 常请求,若是,则将该Web请求转发至相应的业务服务器;若否,则向所述客 户端发送拒绝所述Web请求的响应的步骤包括:

判断所述用户IP是否存在于预设的黑名单中,

若存在,则向所述客户端发送拒绝所述Web请求的响应;

若不存在,则在一历史记录哈希表中查询是有所述用户IP的行为记录,若 无,则将所述用户IP的行为记录存储入所述历史记录哈希表中,若有,则在所 述历史记录哈希表中修改该用户IP的行为记录的相应字段;根据所述用户IP的 行为记录中客户类型的字段获取对应的判断规则,并根据用户IP的行为记录判 断该用户IP的Web请求是否满足对应的判断规则,若满足,则将该Web请求 转发至相应的业务服务器;若不满足,则向所述客户端发送拒绝所述Web请求 的响应,并将所述用户IP加入所述黑名单中。

进一步的,在上述方法中,将所述用户IP的行为记录存储入所述历史记录 哈希表中的步骤中,当所述历史记录哈希表存储满时,采用最近最久未使用法 淘汰用户IP的行为记录,并将淘汰的用户IP的行为记录转存至一行为数据库。

进一步的,在上述方法中,所述判断规则包括是否满足每秒总访问次数预 设值、同时Session个数预设值和同时请求个数预设值的要求。

根据本发明的另一面,提供一种基于IP访问行为的网络访问控制系统,包 括:

路由器,用于获取客户端发送的Web请求后,将所述Web请求发送至行为 分析服务器;

行为分析服务器,用于提取所述Web请求中的数据生成对应的用户IP和该 用户IP的行为记录,并根据所述行为记录判断对应的Web请求否为正常请求, 若是,则将该Web请求转发至相应的业务服务器;若否,则向所述客户端发送 拒绝所述Web请求的响应。

进一步的,在上述系统中,所述Web请求包括用户IP、请求的资源地址和 所用浏览器型号信息。

进一步的,在上述系统中,所述用户IP的行为记录包括总访问次数、同时 Session个数、同时请求个数、访问开始时间、最后一次访问时间和客户类型的 字段。

进一步的,在上述系统中,所述行为分析服务器用于判断所述用户IP是否 存在于预设的黑名单中,若存在,则向所述客户端发送拒绝所述Web请求的响 应;若不存在,则在一历史记录哈希表中查询是有所述用户IP的行为记录,若 无,则将所述用户IP的行为记录存储入所述历史记录哈希表中,若有,则在所 述历史记录哈希表中修改该用户IP的行为记录的相应字段;根据所述用户IP的 行为记录中客户类型的字段获取对应的判断规则,并根据用户IP的行为记录判 断该用户IP的Web请求是否满足对应的判断规则,若满足,则将该Web请求 转发至相应的业务服务器;若不满足,则向所述客户端发送拒绝所述Web请求 的响应,并将所述用户IP加入所述黑名单中。

进一步的,在上述系统中,所述行为分析服务器还用于当所述历史记录哈 希表存储满时,采用最近最久未使用法淘汰用户IP的行为记录,并将淘汰的用 户IP的行为记录转存至一行为数据库。

进一步的,在上述系统中,所述判断规则包括是否满足每秒总访问次数预 设值、同时Session个数预设值和同时请求个数预设值的要求。

与现有技术相比,本发明通过路由器获取客户端发送的Web请求后,将所 述Web请求发送至行为分析服务器,行为分析服务器提取所述Web请求中的数 据生成对应的用户IP和该用户IP的行为记录,并根据所述行为记录判断对应的 Web请求否为正常请求,若是,则将该Web请求转发至相应的业务服务器;若 否,则向所述客户端发送拒绝所述Web请求的响应,能够动态的对未知的IP进 行访问控制,解决传统IP访问控制中效率低、配置繁琐、动态实时性差等问题, 同时也是为了限制网络攻击、规范爬虫行为,提高网站或者API的服务质量, 增强网站稳定性和可用性。

附图说明

图1是本发明一实施例的框架示意图;

图2是本发明一实施例的基于IP访问行为的网络访问控制方法的流程图;

图3是图1中步骤S3的流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和 具体实施方式对本发明作进一步详细的说明。

实施例一

如图1至3所示,本发明提供一种基于IP访问行为的网络访问控制方法, 本实施例的方法可适用于包括网站、接口、WEB服务等的访问控制,所述方法 包括步骤S1~步骤S5。

步骤S1,路由器获取客户端发送的Web请求后,将所述Web请求发送至 行为分析服务器,具体的,各种用户通过客户端发送Web请求,每个客户端都 对应了一个IP;路由器是各个公司的业务服务器的入口,通过配置它可以将Web 请求发送到相应的行为分析服务器上。

本发明的一实施例中,所述Web请求包括用户IP、请求的资源地址和所用 浏览器型号信息。

步骤S2,行为分析服务器提取所述Web请求中的数据生成对应的用户IP 和该用户IP的行为记录,具体的,行为分析服务器是行为分析的核心部分,在 服务器上一直运行着一个实现基于IP访问行为的网络访问控制方法的应用或者 服务,通过分析用户的访问行为,能够允许或者拒绝访问,这个软件或者服务 可以用任何编程方式实现,分析服务器可以根据不同的性能需求而购买,同时 管理员也可以定义各种行为规则,建议设置一个友好的后台页面方便管理各种 规则、行为黑名单及查阅异常情况。

本发明的一实施例中,所述用户IP的行为记录包括总访问次数(R—Count)、 同时Session个数(R—Session)、同时请求个数(R-Request)、访问开始时间(R —Begin)、最后一次访问时间(R-End)和客户类型(R-Type)的字段,具体可 如下表所示:

用户IP R—Count R—Session R-Request R—Begin R-End R-Type

步骤S3,根据所述行为记录判断对应的Web请求否为正常请求,若是,则 转到步骤S4,若否,则转到步骤S5;

步骤S4,将该Web请求转发至相应的业务服务器,即允许访问;

步骤S5,向所述客户端发送拒绝所述Web请求的响应,即拒绝访问。从而 实现动态的对未知的IP进行访问控制,解决目前现有方法中只能对已知的 IP通过配置进行访问控制的问题,以有效的防止不确定的网络攻击,具体的, 业务服务器是对客户端请求的处理和响应服务器,它可以是承载各种资源的 服务器,业务服务器可根据实际情况进行搭建,本步骤中,还可包括将最后 的判断结果进行显示的步骤。

本发明的一实施例中,如图3所示,上述步骤S3可包括:

步骤S31,判断所述用户IP是否存在于预设的黑名单中,若存在,则转到 步骤S32,若不存在,步骤S33,具体的,本实施例能够灵活的处理异常IP,结 合行为黑名单机制,减少繁琐的配置;

步骤S32,向所述客户端发送拒绝所述Web请求的响应;

步骤S33,在一历史记录哈希表中查询是有所述用户IP的行为记录,若无, 则转到步骤S34,若有,则转到步骤S35;

步骤S34,将所述用户IP的行为记录存储入所述历史记录哈希表中,然后 转到步骤S36,本发明一实施例中,步骤S34中,当所述历史记录哈希表存储满 时,采用最近最久未使用法淘汰用户IP的行为记录,并将淘汰的用户IP的行为 记录转存至一行为数据库,具体的,为了提高行为判断的速度,可在内存中维 持了一个高效的记录哈希(HASH)表来组织各个用户IP的访问情况,当然在 大型的电子商务网站上不可能保存所有的用户IP的行为情况,所以当达到内存 的存储限制的时候,可采用最近最久未使用法(Least Recently Used,LRU)来 替代已有的行为记录,并将淘汰的行为记录存储到特定的行为数据库中,以作为 统计供以后分析使用,另外,内存空间大小应该是一个通过计算和预测后比较 优化的值;

步骤S35,在所述历史记录哈希表中修改该用户IP的行为记录的相应字段, 然后转到步骤S36;

步骤S36,根据所述用户IP的行为记录中客户类型的字段获取对应的判断 规则,本发明的一实施例中,所述判断规则包括是否满足每秒总访问次数预设 值、同时Session个数预设值和同时请求个数预设值的要求,客户类型可分为两 大类,一类是合作客户,另一类除合作客户外的普通客户,相应的所述判断规 则也可分为两大类,一类是合作客户规则,其类似于SLA(服务等级协议),可 通过和客户协商规定客户每个IP访问频率、同一时间最大的Session个数、可 同时发起请求的个数等行为规则;另一类是对应于普通客户的默认客户规则, 这种用户不是合作伙伴,可利用默认的规则限定他们的IP访问,具体可不用复 杂的配置,即可动态的达到访问控制的目的。两类规则都是根据实际每个IP访 问频率、同一时间最大的Session个数、可同时发起请求的个数这三个因素来判 定是不是正常的用户访问行为,只是对不同客户类型设置这三个因素不同的相 应值,如果是合作客户则用合作客户规则判断,如果不是则用默认客户规则验 证,所述判断规则可以由管理员在后台设置不同的限值,虽然现在的网络攻击 能够很好的模拟正常的Web请求,但是通过本实施例可以达到良好的访问控制 功能;

步骤S37,根据用户IP的行为记录判断该用户IP的Web请求是否满足对应 的判断规则,若满足,则转到步骤S38,若不满足,则转到步骤S39,具体的, 可根据上表中的总访问次数(R—Count)、访问开始时间(R—Begin)、最后一 次访问时间(R-End)可以算出此用户IP每秒总访问次数(R—Average)。R— Average=(R—Count)/((R-End)-(R—Begin)),然后判断是否满足每秒总 访问次数,正常的用户会是一个合理的值,而网络攻击或者恶意爬虫的平均每 秒总访问次数会相对高;另外,可根据上表中的此用户IP的同时Session个数 字段(R—Session)判断是否满足同时Session个数规则,正常的用户一般同时 只会用一种浏览器请求数据,所以Session只有一个,而网络攻击或者爬虫为了 隐藏其意图可能用多个浏览器版本,所以Session可能有多个;此外,可根据上 表中的此用户IP同时请求个数字段(R-Request)判断是否满足同时请求个数规 则,正常的用户一般线程不会太多的同时访问同一个服务器,而网络攻击或者 恶意爬虫会利用多线程技术频繁的发起请求,如果同时满足每秒总访问次数预 设值、同时Session个数预设值和同时请求个数预设值的要求,则认为此用户此 IP的行为满足判断规则,转入步骤S38,如果不满足,则转入步骤S39;

步骤S38,将该Web请求转发至相应的业务服务器;

步骤S39,向所述客户端发送拒绝所述Web请求的响应,并将所述用户IP 加入所述黑名单中,具体要求的,本步骤中如果根据所述判断规则判官某个用 户IP的行为为异常,拒绝访问并发送提示信息,同时所述用户IP记录到相应的 异常日志和所黑名单中,后续可以根据这些异常访问的用户IP结合预设的基于 IP地址的访问控制列表法配置防火墙或者服务器,以达到更好的防止网络攻击 和恶意爬虫的效果,本实施例中的IP地址的访问控制实时性强,可通过一直运 行的行为分析器,对任意的Web请求都能进行实时判断,而传统的方法中,往 往是造成一定危害后才进行配置访问控制,所述判断规则中的每秒总访问次数 预设值、同时Session个数预设值和同时请求个数预设值可根据不同的客户类型 进行调整,从而很方便地提供不同的访问控制。

本实施例在实施设计过程中要重点考虑到效率问题,可以用任何编程语言 实现这个应用,涉及到的技术主要包括:截取Web请求中的特定数据,构建一 个高效的记录哈希(HASH)表,采用一个好的算法淘汰如最近最久未使用法旧 的行为记录,建立良好的行为记录的数据格式,根据实际情况制定良好的判断 规则。

另外,在不同的环境和需求中,本实施例中的部分组成可能会进行有限的 变化,例如,有一些处理过程,在用不同的技术实现此方法时,会出现合并或 者分拆部分流程的现象。根据实施的规模,行为分析服务器的性能要求也会有 不同的差异。所以在具体的实现过程中要灵活应对,综合考虑。

综上,本实施例能够动态的对未知的IP进行访问控制,解决传统IP访问控 制中效率低、配置繁琐、动态实时性差等问题,同时也是为了限制网络攻击、 规范爬虫行为,提高网站或者API的服务质量,增强网站稳定性和可用性。

实施例二

如图3所示,本发明还提供另一种基于IP访问行为的网络访问控制系统, 包括路由器1和行为分析服务器2。

路由器1,用于获取客户端发送的Web请求后,将所述Web请求发送至行 为分析服务器。

本发明的一实施例中,所述Web请求包括用户IP、请求的资源地址和所用 浏览器型号信息。

行为分析服务器2,用于提取所述Web请求中的数据生成对应的用户IP和 该用户IP的行为记录,并根据所述行为记录判断对应的Web请求否为正常请求, 若是,则将该Web请求转发至相应的业务服务器;若否,则向所述客户端发送 拒绝所述Web请求的响应。

本发明一实施例中,所述用户IP的行为记录包括总访问次数、同时Session 个数、同时请求个数、访问开始时间、最后一次访问时间和客户类型的字段。

本发明一实施例中,所述行为分析服务器用于判断所述用户IP是否存在于 预设的黑名单中,若存在,则向所述客户端发送拒绝所述Web请求的响应;若 不存在,则在一历史记录哈希表中查询是有所述用户IP的行为记录,若无,则 将所述用户IP的行为记录存储入所述历史记录哈希表中,若有,则在所述历史 记录哈希表中修改该用户IP的行为记录的相应字段;根据所述用户IP的行为记 录中客户类型的字段获取对应的判断规则,并根据用户IP的行为记录判断该用 户IP的Web请求是否满足对应的判断规则,若满足,则将该Web请求转发至 相应的业务服务器;若不满足,则向所述客户端发送拒绝所述Web请求的响应, 并将所述用户IP加入所述黑名单中。

可选的,所述判断规则包括是否满足每秒总访问次数预设值、同时Session 个数预设值和同时请求个数预设值的要求。

本发明另一实施例中,所述行为分析服务器还用于当所述历史记录哈希表 存储满时,采用最近最久未使用法淘汰用户IP的行为记录,并将淘汰的用户IP 的行为记录转存至一行为数据库。

实施例二的其它详细内容或具体参照实施例一中的相应部分,在此不再赘 述。

综上所述,本发明通过路由器获取客户端发送的Web请求后,将所述Web 请求发送至行为分析服务器,行为分析服务器提取所述Web请求中的数据生成 对应的用户IP和该用户IP的行为记录,并根据所述行为记录判断对应的Web 请求否为正常请求,若是,则将该Web请求转发至相应的业务服务器;若否, 则向所述客户端发送拒绝所述Web请求的响应,能够动态的对未知的IP进行访 问控制,解决传统IP访问控制中效率低、配置繁琐、动态实时性差等问题,同 时也是为了限制网络攻击、规范爬虫行为,提高网站或者API的服务质量,增 强网站稳定性和可用性。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是 与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于 实施例公开的系统而言,由于与实施例公开的方法相对应,所以描述的比较简 单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例 的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为 了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描 述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于 技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来 使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范 围。

显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明 的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其 等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号