请教HTTPSjava动态代理实现原理的工作原理和实现方法

zproxy-1.0.0-http C++实现的 代理服务,对学习 的同学很有帮助 Server 器 238万源代码下载-
&文件名称: zproxy-1.0.0-http
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 108 KB
&&上传时间:
&&下载次数: 8
&&提 供 者:
&详细说明:C++实现的HTTP代理服务,对学习HTTP代理的同学很有帮助-HTTP proxy service C++ to achieve the students to learn HTTP proxy helpful
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&proxy-1.0.0\classes&&...........\.......\zproxy.jar&&...........\docs&&...........\....\user_guide.html&&...........\....\user_guide.pdf&&...........\license.txt&&...........\out&&...........\...\news&&...........\...\proxy&&...........\proxy.ini&&...........\proxy_example.ini&&...........\run.bat&&...........\run.sh&&...........\shutdown.bat&&...........\shutdown.sh&&...........\src&&...........\...\filelist-all&&...........\...\Makefile&&...........\...\Makefile.1&&...........\...\Makefile.2&&...........\...\org&&...........\...\...\zaval&&...........\...\...\.....\io&&...........\...\...\.....\..\BasicLogger.java&&...........\...\...\.....\..\DummyLogger.java&&...........\...\...\.....\..\FileLogger.java&&...........\...\...\.....\..\InputIniFile.java&&...........\...\...\.....\..\Logger.java&&...........\...\...\.....\proxy&&...........\...\...\.....\.....\ProxyConnection.java&&...........\...\...\.....\.....\ProxyCopier.java&&...........\...\...\.....\.....\ProxyRunner.java&&...........\...\...\.....\.....\ProxyServer.java&&...........\...\...\.....\.....\RequestCopier.java&&...........\...\...\.....\.....\ResponseCopier.java&&...........\...\...\.....\.....\Shutdown.java&&...........\...\...\.....\.....\ShutdownServer.java&&...........\...\...\.....\util&&...........\...\...\.....\....\Finalizable.java&&...........\...\...\.....\....\NumberProvider.java&&proxy-1.0.0
&[]:和说明完全不符
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 该程序实现MFC界面的设计、良好的代理功能,支持多线程。对于新手是个很好的学习源码。
&[] - http 代理服务器,用C++编写,实现本地HTTP代理服务器的功能,能对WEB的数据包进行截获
&[] - 文件存储系统C++完整实例附带全部源码
涉及windows界面编程网络编程https 的透明代理要如何实现? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
Sponsored by
国内领先的实时后端云野狗 API 可用于开发即时聊天、网络游戏、实时定位等实时场景传输快!响应快!入门快!
Promoted by
https 的透明代理要如何实现?
10:12:27 +08:00 · 1977 次点击
2 回复 &| &直到
11:32:24 +08:00
& & & 11:08:40 +08:00 via iPhone
需要有目标网站的证书,这样可以用 nginx 代理。
或者,用 iptables 转发。
& & 11:32:24 +08:00
@ squid也可以?
& · & 1107 人在线 & 最高记录 1847 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.7.3 · 37ms · UTC 04:11 · PVG 12:11 · LAX 21:11 · JFK 00:11? Do have faith in what you're doing.Java&实现HTTP代理服务器
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。一种基于自适应代理机制的http业务防火墙的制作方法
一种基于自适应代理机制的http业务防火墙的制作方法
【专利摘要】本发明涉及防火墙领域,旨在提供一种基于自适应代理机制的HTTP业务防火墙。该种基于自适应代理机制的HTTP业务防火墙包括代理模块、核心控制和安全策略库;代理模块用于接入来自客户端的HTTP访问,获得各项数据传递给核心控制,并在收到核心控制的裁决结论后予以执行;核心控制用于负责调度各个模块的协作、接受各个模块的请求,并更新安全策略库中的数据记录、工作模式、工作方法;安全策略库包括客户端许可策略、客户端会话状态库、起始地址白名单和后续地址白名单。本发明能减少受保护系统需要考虑的意外访问、意外参数、会话参数检查、用户关联数据等等各种安全方面的检查工作,进而提升系统的安全等级。
【专利说明】一种基于自适应代理机制的HTTP业务防火墙
【技术领域】
[0001]本发明是关于防火墙领域,特别涉及一种基于自适应代理机制的HTTP业务防火摊
【背景技术】
[0002]在防火墙领域中,有最早的基于0SI七层架构的数据链路层、网络层的防火墙,主要对来源和目的进行访问权限控制的防火墙,也有当前最新基于0SI七层架构的应用层,着重基于攻击特征进行检查的应用防火墙。传统的防火墙主要有以下常见技术类型:包过滤防火墙、电路层防火墙、应用层代理防火墙、动态包过滤防火墙、自适应代理防火墙。
[0003]包过滤防火墙:指工作在网络层,基于以下信息对经过的每一个包进行检查:ΙΡ源地址和目标地址、TCP/UDP源端口好和目标端口号、协议(TCP, UDP, ICMP, BGP等等)、ICMP的消息类型、包的大小等等。
[0004]电路层防火墙:代理型防火墙的一种,工作在传输层;根据数据包的标志位建立一个连接状态表;对于收到的某个IP包,检查它是否属于某一个会话;跟踪一段时间内一个会话中经过包的总数。
[0005]应用层代理防火墙:工作在应用层;针对特定协议,比如telnet, http, smtp, pop等可以支持身份认证功能;除了基于地址、协议、端口的控制以外,还可以支持应用层命令的过滤,比如FTP的GET, PUT等。
[0006]动态包过滤防火墙:具备包过滤防火墙的基本特征,另外具备以下特征:通过包的属性和维护一份连接表来监视通信会话的状态而不是简单依靠标志的设置;针对传输层的,所以选择动态包过滤时,要保证防火墙可以维护用户将要使用的所有传输的状态,如TCP, UDP, ICMP等。;与普通(静态)包过滤防火墙相比,动态包的过滤规则时基于会话。
[0007]自适应代理防火墙:综合了包过滤与代理服务器防火墙的有点,其包过滤规则是动态、基于会话的,并且可以在运行过程中动态调整包过滤器的过滤规则,在进行过滤检查时,可以基于会话的不同,采用不同标准的过滤规则。
[0008]HTTP (超文本传输协议 HTTP-Hypertext transfer protocol),是当前诸多 IT 行业的业务系统的主流的一种操作通讯协议。HTTP协议中,具备两个标准的概念:URL(URL:Uniform Resource Locator 的缩写,译为“统一资源定位符”,例如:“/login ? Userid = lOOl&Pass = 123456”) ;URI(Uniform Resource Identifier 的缩写,译为“通用资源标识符”,对应URL范例的URI的值为:“http: //www.bank, com/login,,) o
[0009]HTML (超文本标记语言HyperText Markup language),是目前使用最广泛的一种页面定义语言,具体详情可参见RFC (Request For Comments,是一系列以编号排定的文件,基本的因特网通讯协定都有在RFC文件内详细说明)的相关规范。
[0010]HTML文档是由HTML元素定义的,HTML元素指的是从开始标签(start tag,比如:
、〈a href = "default.htm"? 到结束标签(end tag,比如:〈/p&、〈/a&)的所有代码。
[0011]HTML链接,HTML使用超级链接与网络上的另一个文档相连。几乎可以在所有的网页中找到链接。点击链接可以从一张页面跳转到另一张页面。点击链接将按照链接所指的 URL,向服务端发起访问。比如:“〈a href = "http:".cn/〃&VisitW3School〈/a&” 就定义了一个指向到".cn/"的链接,“〈a href=〃.cn/〃&〈img border = 〃0〃src = 〃./images/NextPage.gif〃X/a&” 也定义了一个指向到 〃.cn/〃 的链接。
[0012]业务防火墙,这是一个新概念,因为每个客户的业务都存在较大的差异,难以形成标准化的检查规则,且因为业务防火墙的概念刚刚在近两年起步,目前业内尚没有此方面的成熟或者典型产品。
【发明内容】
[0013]本发明的主要目的在于克服现有技术中的不足,提供一种以客户端会话关联、自适应白名单规则、代理访问的机制、模式为防护核心的新一代防火墙技术。为解决上述技术问题,本发明的解决方案是:
[0014]提供一种基于自适应代理机制的HTTP业务防火墙,用于防御来自客户端的对受保护的业务系统的攻击访问,所述基于自适应代理机制的HTTP业务防火墙包括代理模块、核心控制和安全策略库;
[0015]所述代理模块用于接入来自客户端的HTTP访问,然后根据访问发生的时刻,提取当前访问时间,以及根据HTTP协议规范(RFC 1945,RFC 2616),提取访问的来源IP和端口、访问的目标地址、Request (请参见RFC 2616的HTTP Message定义中的Request定义);
[0016]代理模块再将获得的各项数据(访问来源IP和端口、访问的目标地址、Request)传递给核心控制,等待核心控制的裁决,并在收到裁决结论后,代理模块根据裁决结论予以执行;其中,裁决结论包括放行、监控、警告、拦截;
[0017]若代理模块收到放行,即检查通过的结论后,代理模块将当前会话的Request代理发送给受保护的业务系统后,等待接收业务系统对转发的Request的回应内容ReSponSe(回应内容即作为发给客户端作为响应内容),并对回应内容Response的message-body (请参见 RFC 2616 的 HTTP Message 定义中的 Response 定义)按照 HTML 语言(HyperText Markup Language)进行解析,获得回应内容中的可访问链接;
[0018]所述核心控制是HTTP业务防火墙的控制中心,用于负责调度各个模块的协作、接受各个模块的请求,并更新安全策略库中的数据记录、工作模式、工作方法;
[0019]核心控制能提取代理模块传递的HTTP访问的数据,HTTP访问的数据包括来源IP、来源端口、目的IP、目的端口、HTTP请求的URL、HTTP请求的HEADER、HTTP请求的BODY,调用客户端许可策略对客户端来源(来源IP、来源端口 )进行检查:
[0020]若客户端的检查结论为不安全,根据结论的不同风险级别,命令代理模块对该次访问进行拦截处理,不进入后续检查步骤;
[0021]若客户端的检查结论为安全,则继续调用客户端会话状态库对客户端状态进行检查,对于客户端来源信息(来源IP、SeSS1nID)已经处于客户端会话状态库的数据记录中的会话,作为已有会话,否则作为新会话;若判断为新会话,则将当前请求的HTTP访问的数据传递给起始地址白名单进行检查,检查通过,就将该新会话加入客户端会话状态库,由代理模块将该请求代理发送给受保护的业务系统,并继续整个流程处理;若判断为已有会话,则将当前请求的HTTP访问的数据传递给起始地址白名单和后续地址白名单,由两个模块分别进行检查,若其中任何一个模块的检查结论为通过的,由代理模块将该请求代理发送给受保护的业务系统,并继续整个流程处理;否则按照拦截的结论进行处理;
[0022]所述安全策略库包括子模块:客户端许可策略、客户端会话状态库、起始地址白名单和后续地址白名单,且安全策略库记录有HTTP业务防火墙的初始化数据,包括客户端许可策略的初始化数据、起始地址白名单的初始化数据;
[0023]安全策略库用于接受核心控制调度,实现下述功能:按照核心控制的调度(根据客户端发起的请求、获得的响应),调整客户端对应的客户端会话状态数据和后续地址白名单(请参见图例310中与客户端会话(X、Y)的“访问后-会话状态”、“访问后-后续地址白名单”),且允许在线(运行过程中)维护、更新客户端许可策略和起始地址白名单的数据;按照核心控制的调度(获知代理模块收到客户端请求时),根据客户端及对应的相关策略(客户端许可策略、客户端会话状态库、起始地址白名单、后续地址白名单),进行相应的安全检查,并返回裁决结论给核心控制;
[0024]所述客户端许可策略是描述HTTP业务防火墙允许接入的客户端的许可策略,且只有列入许可策略的来源,方才允许接入,否则将被拦截;许可策略中包括客户端来源;
[0025]所述客户端会话状态库用于保存HTTP业务防火墙允许进入的客户端的规则,且允许进入的客户端的规则以白名单的方式列出了允许接入受保护系统的客户端的清单(此清单与传统的Access Control Lis很相近);每条允许进入的客户端的规则指定了受保护系统的地址(目标HOST、目标IP、目标端口)、代理模块的接入地址(目标HOST、目标IP、目标端口)、允许进入的客户端来源(来源IP、来源端口 );
[0026]所述起始地址白名单由起始地址白名单规则组成,起始地址白名单规则能实现下述功能:接受核心控制的调度(在获知客户端收到相应页面,并通过解析该页面获得其中的链接地址时),能查询、增加、删除该客户端对应的起始地址规则;接受核心控制的调度(获知代理模块收到客户端请求时),检查该客户端在当前会话状态时,是否有权以起始地址的方式访问该起始地址;其中,起始地址白名单规则包括客户端条件、客户端会话状态条件、起始地址;
[0027]所述后续地址白名单由后续地址白名单规则组成,后续地址白名单规则能实现下述功能:接受核心控制的调度(在获知客户端收到相应页面,并通过解析该页面获得其中的链接地址时),能查询、增加、删除该客户端对应的后续地址规则;接受核心控制的调度(获知代理模块收到客户端请求时),检查该客户端在当前会话状态时,是否有权以后续地址的方式访问该后续地址;其中,后续地址白名单规则包括客户端条件、客户端会话状态条件、后续地址。
[0028]在本发明中,所述核心控制能进行人机交互,核心控制通过输出设备输出数据、讯号,并通过输入设备获取外部输入,从而实现人机交互。
[0029]在本发明中,所述输出设备包括屏幕、喇叭、灯光,输入设备包括键盘、鼠标。
[0030]在本发明中,所述客户端许可策略中的客户端来源包括来源IP、来源端口,且客户端来源能通过正则表达式进行标识,也能采用通用的“ ? 通配符进行记录,并支持区段方式标记(比如:12-254,标识允许从12到254的整数)。
[0031]在本发明中,所述客户端会话状态库中的每条允许进入的客户端的规则,能通过正则表达式进行标识,也能采用通用的“? 通配符进行记录,并支持区段方式标记(比如:12-254,标识允许从12到254的整数)。
[0032]在本发明中,所述基于自适应代理机制的HTTP业务防火墙的拦截结论的处理方式,为代理模块直接关闭客户端当前连接或者回应拒绝服务的回应页面后关闭连接。
[0033]在本发明中,所述起始地址白名单在HTTP业务防火墙初始化时,根据系统运行的设定预置记录;且起始地址白名单能根据系统运行需要,设定不同的模式:根据客户端来源,为不同的来源指定不同的起始地址链接记录;对所有客户端来源,设定相同的起始地址链接记录。
[0034]在本发明中,所述核心控制对安全策略库中数据记录的更新包括:
[0035]对后续地址白名单的更新:代理模块获得业务系统对该请求的回应内容的可访问链接后,核心控制将可访问链接更新到后续地址白名单中,且能采用两种模式实现:将可访问链接记录追加到后续地址白名单中,并将链接记录与会话对应;清除可访问链接对应该会话的所有旧链接记录,将新获得的与会话对应的链接记录加入到后续地址白名单中;
[0036]对客户端会话状态库的更新:核心控制将当前访问地址更新到客户端会话状态库中,且能采用两种模式实现:客户端会话状态库中只保存一条当前步骤链接记录,用当前访问的链接记录直接覆盖原有记录;客户端会话状态库中保存多条当前步骤链接记录,将当前访问的连接记录添加进去;
[0037]核心控制能定期(比如每秒、每20毫秒等等)检查客户端会话状态库,对已有会话的记录进行过期检查,若记录已到过期时间则进行清除;其中,过期时间是指当前时间加上有效期时长得到的时间戳,且核心控制在当前请求为已有会话的情况下,调用客户端会话状态库对已有会话的有效期时长,按照预先设置的会话有效期时长(比如:180秒、3600秒等等)进行延长。
[0038]在本发明中,所述基于自适应代理机制的HTTP业务防火墙采用两种模式来处理客户端重复发送当前请求:将当前访问的地址作为后续地址添加到后续地址白名单中;不将当前访问的地址加入起始地址白名单和后续地址白名单,若业务系统对当前请求的回应内容中不包含当前请求的URL/链接地址时,不允许刷新页面重新访问当前地址。
[0039]本发明的工作原理:基于底层的HTTP访问代理的关联系统(访问代理系统Agent),通过实时获取、分析Agent所获得的流量数据,并进行客户端会话关联,然后形成客户端清单,并将分析得到的白名单地址,按照预先设定的更新合并规则,与对应客户端已有的白名单进行合并、更新,得到新的访问地址白名单。在发现来自某个客户端的HTTP访问时,将按该客户端对应的访问地址白名单进行检查,如果符合白名单允许的规则,那么放行该访问,如果不符合白名单允许的规则,那么该HTTP访问将被监控、警告或者拦截。
[0040]与现有技术相比,本发明的有益效果是:
[0041]本发明能够识别特定客户端所处的会话步骤,并根据当前步骤自动生成相应白名单规则,从而对于安全的访问予以放行,而对危险的访问进行拦截;
[0042]本发明将拦截扩展成为警告(通过核心控制120发出警告)、授权(通过核心控制120发出请求,要求通过输入设备输入授权许可后方才允许该会话继续访问)、拦截或者不同级别的多种处理方式,都是很容易进行变形调整的;
[0043]本发明能够根据所出的应用层的场景规则,自动学习、修订当前步骤的白名单规则,从而确保所有的访问都是符合预期的,所有不符合预期的访问将全部被拒绝;
[0044]本发明的代理保护设计,使受保护系统能够接收到的客户端访问将都是安全的,只要受保护系统自身的访问步骤流程没有发生混乱,客户端就只能在预定的步骤流程规定的路径上行走;
[0045]本发明能减少受保护系统需要考虑的意外访问、意外参数、会话参数检查、用户关联数据等等各种安全方面的检查工作,从而帮助受保护系统大幅度降低开发成本,并且能够通过本发明提升系统的安全等级;
[0046]本发明能使防火墙的防护能力获得一个质的上升,并从机制上将各种常见的攻击手段从先天上就屏蔽掉,使攻击与防御的格局将进入新的时代。
【专利附图】
【附图说明】
[0047]图1为本发明中具体实施例的计算环境系统结构框图。
[0048]图2为本发明中具体实施例的跳转流程图。
[0049]图3为本发明中具体实施例的跳转步骤对应的数据记录图。
【具体实施方式】
[0050]首先需要说明的是,本发明是计算机技术在信息安全【技术领域】的一种应用,在本发明的实现过程中,会涉及到多个软件功能模块的应用。
申请人:认为,如在仔细阅读申请文件、准确理解本发明的实现原理和发明目的以后,在结合现有公知技术的情况下,本领域技术人员完全可以运用其掌握的软件编程技能实现本发明。前述软件功能模块包括但不限于:代理模块、核心控制模块、安全策略库等,凡本发明申请文件提及的均属此范畴,
申请人:不再一一列举。
[0051]下面结合附图与【具体实施方式】对本发明作进一步详细描述:
[0052]如图1所示,客户端140是发起访问请求的访问来源,来自客户端140的请求,必须经过HTTP业务防火墙100的代理访问,方才能够访问到业务系统150,通过上述的部署结构,实现了 HTTP业务防火墙对业务系统的防护。
[0053]HTTP业务防火墙100就是本发明(本系统),其中包括代理模块110,代理模块110实现接收客户端140的访问,并将通过核心控制模块120以及相关功能模块的安全检查的访问发送给业务系统150,然后接收业务系统150的响应,经过对响应内容的分析,更新核心控制模块120以及相应功能模块对当前会话的安全策略,然后将来自业务系统150的响应内容作为给客户端140的响应内容进行回应。
[0054]核心控制模块120作为HTTP业务防火墙的核心调度中心,代理模块110接收到来自任何客户端140的请求都必须通知核心控制模块120,核心控制模块120将提取当前会话的相关信息(来源IP、来源端口、目的IP、目的端口、HTTP请求的URL、HTTP请求的HEADER、HTTP请求的BODY等等)。
[0055]核心控制模块在获得当前会话的相应信息数据后,将调用客户端许可策略131对客户端来源(来源IP、来源端口)进行检查。检查不通过(拦截)的请求,直接拦截请求(代理模块直接关闭客户端当前连接,或者回应拒绝服务的回应页面后关闭连接),不进入后续检查步骤;检查通过的请求,进入后续步骤的检查。
[0056]当前请求没有被客户端许可策略131拦截的,将调用客户端会话状态库133对客户端状态(新会话、已有会话)进行检查,客户端来源信息(来源IP、Sess1nID)已经处于客户端会话状态库133的数据记录中(已有会话),作为已有会话,否则作为新会话。
[0057]新会话的情况下,对当前请求的HTTP请求的数据传递给起始地址白名单132进行检查,检查通过的请求,将该会话加入客户端会话状态库133,由代理模块110将该请求代理发送给业务系统,并继续整个流程处理。
[0058]已有会话的情况下,对当前请求的HTTP请求的数据传递给起始地址白名单132、后续地址白名单134,由两个模块分别进行检查,其中任何一个模块的检查结论为通过的,由代理模块110将该请求代理发送给业务系统,并继续整个流程处理。否则按照拦截的结论进行处理(代理模块直接关闭客户端当前连接,或者回应拒绝服务的回应页面后关闭连接)。
[0059]起始地址白名单,在本系统初始化时,根据系统运行的设定预置记录,起始地址白名单根据系统运行需要,可设定不同的模式(A:根据客户端来源,为不同的来源指定不同的起始地址链接记录:对所有客户端俩元,设定相同的其实地址链接记录;)。
[0060]在获得检查通过的结论后,代理模块110在将当前会话的请求代理发送给业务系统150后,将接收业务系统对该请求的回应内容,并对该回应内容进行解析,获得回应内容中的可访问链接。获得相应链接记录后,系统根据运行需要可设定不同的模式对后续地址白名单134进行更新(A:将相应链接记录追加到后续地址白名单134中,链接记录与会话对应:清除该会话对应的所有旧链接记录,将新获得的与会话对应的链接记录加入;)。对于当前访问地址,系统根据运行需要可设定不同的模式对客户端会话状态库133进行更新(A:只保持一条当前步骤链接记录,用当前访问的链接记录直接覆盖原有记录;B:保持多条当前步骤链接记录,将当前访问的连接记录添加进去;)。对于当前请求可能重发的情况,系统根据运行需要可设定不同的模式来支持(A:将当前访问的地址作为后续地址添加到后续地址白名单134中;B:不列入任何白名单,在该请求的回应内容中不包含当前请求的URL/链接地址时,不允许刷新页面重新访问当前地址;)。
[0061]在当前请求为已有会话的情况下,核心控制模块将调用客户端会话状态库133将对应当前会话的记录的超时时间按照预先设置的会话有效期时长(比如:180秒、3600秒等等)进行延长(以当前时间加上有效期时长得到的时间戳作为过期时间)。
[0062]核心控制模块将定期(比如每秒、每20毫秒等等)检查客户端会话状态库,对其中已有会话的记录进行过期检查,凡是记录的时间戳已经小于当前时间的,相关记录将被清除。
[0063]图2为具体实施例的起始地址白名单、以及根据会话所处的当前步骤(当前页面URL)对应的链接地址的跳转流程图。
[0064]链接200、链接290是起始地址,是某具体实施例的任何一个合法客户端进入后可作为起始地址进行访问。
[0065]链接210、链接220、链接230,是对应起始地址链接200的后续访问地址。
[0066]链接231、链接232、链接233,是对应当前地址链接230的后续访问地址。
[0067]链接200,同时作为连接230的一个后续访问地址。
[0068]图3为具体实施例的链接地址的跳转流程图,一个客户端在不同访问步骤时,本系统对应的客户端会话状态库133、起始地址白名单132、后续地址白名单134对应的数据记录。
[0069]起始状态数据表300,说明了在本系统初始化完成后:(1)会话状态库中没有记录数据;(2)起始地址白名单采用对所有来源地址统一规定的方式,有两个链接地址;(3)后续地址白名单,是对于每个会话分别存储记录的,初始数据为空。
[0070]步骤数据表310,说明了在两个会话在各个时间发生访问步骤后,基于已有数据记录,本系统对该次访问的检查结果,以及客户端会话状态库133、起始地址白名单132、后续地址白名单134相应的数据变化。
[0071]步骤数据表310中有两个会话,虽然是同一个来源IP,但是因为Sess1nID的不同,本系统将其判定为独立的两个会话。会话X表示(来源IP:192.168.1.101,Sess1nID:),会话 Y 表示(来源 IP:192.168.1.101,Sess1nID:)。
[0072]步骤数据表310中的当前访问URL,指该记录对应的访问步骤,客户端期望访问的目标地址(在本具体实施例中按照URI进行举例,在其他具体实施例中可以按照URL进行理解)。在本具体实施例中,对于起始地址、后续地址的判别,都是采用的最简相对路径的URI的方式来进行举例,在实际应用实施例中,也可以采用绝对路径,也可以采用带参数的URL。在进行白名单链接地址判别是,可以根据运行需要,在起始地址白名单、后续地址白名单的模块中,设定相应的比较方法,可以采用字符串完全匹配方式,也可以采用正则表达式进行匹配的方式,或者其他自定义的比较方法。
[0073]步骤数据表310中的“访问后-会话状态库”,指的是在该步骤处理完成后,本系统的会话状态库131中的数据记录。
[0074]步骤数据表310中的“访问后-后续地址白名单”,指的是在该步骤处理完成后,本系统的后续地址白名单134中的数据记录。
[0075]在本具体实施例中,起始地址白名单132的数据记录在完成系统初始化后,保持不变。在其他具体实施例中,本系统可以根据运行需要,通过核心控制模块120调整起始地址白名单132的数据记录。在其他具体实施例中,也可以通过核心控制模块120,在系统运行过程中,调整客户端许可策略131的数据记录。在其他具体实施例中,可以通过核心控制模块120,调整起始地址白名单132、后续地址白名单134的比较方法。
[0076]本发明在实际应用中,有着很高的实用价值。本发明所设计的防火墙,属于应用层代理型防火墙,同时又具备自适应代理防火墙的特征,不同的会话使用的过滤规则是不同的,更进一步,即使同一个会话,在会话处于不同的步骤时,过滤规则也是不同的。
[0077]如本领域技术人员应该了解的,本发明的各方面可体现为系统、方法或计算机程序产品。因此,本发明的方面可采用完全硬件具体实施例、完全软件具体实施例或者组合硬件和软件方面的具体实施例的形式,其在文本中一般可统称为“电路”、“模块”、“系统”。此夕卜,本发明的方面可采用体现于一个或者多个计算机可读介质(具有计算机可读程序代码体现于其中)中的计算机程序产品的形式。
[0078]可利用一个或者多个计算机可读介质的任何组合。体现于计算机可读介质上的程序代码可使用任何适当介质来传输,该介质包括(但不限于)无线、有线、光纤缆线、RF等、或前述各者的任何合适组合。
[0079]可以一或多种编程语言的任何组合编写用于执行本发明方面的操作的计算机程序代码,其包括面向对象编程语言(例如:Java、Smalltalk、C++或类似者)以及传统程序性编程语言(例如“C”编程语言或者类似编程语言)。程序代码可完全在用户计算机上执行、部分地在用户计算机上执行、作为独立软件包执行、部分地在用户计算机上执行且部分地在远程计算机上执行、或完全在远程计算机或者服务器上执行。在后一种情形中,远程计算机可由任何类型的网络(包括局域网络(LAN)或广域网(WAN)连接至用户的计算机,或可连接至外部计算机(例如,通过因特网服务提供商经由因特网)。
[0080]本发明的各方面参考根据本发明的具体实施例的方法、设备(系统)及计算机程序产品的流程图说明及/或模块图而描述于上。应理解,流程图说明及/或模块图的每一区块及区块的组合可由计算机程序指令来实施。这些计算机程序指令可提供至通用计算机、专用计算机或其他带有可编程数据处理装置的处理器的设备,以使得通过上述各种设备建立用于实施流程图及/或模块图区块中所指定的功能/动作的手段。
[0081]最后,需要注意的是,以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有很多变形。本领域的普通技术人员能从本发明公开的内容中直接导出或联想到的所有变形,均应认为是本发明的保护范围。
【权利要求】
1.一种基于自适应代理机制的肌了?业务防火墙,用于防御来自客户端的对受保护的业务系统的攻击访问,其特征在于,所述基于自适应代理机制的肌I?业务防火墙包括代理模块、核心控制和安全策略库;
所述代理模块用于接入来自客户端的肌1?访问,然后根据访问发生的时刻,提取当前访问时间,以及根据肌1?协议规范,提取访问的来源I?和端口、访问的目标地址、尺691168七;
代理模块再将获得的各项数据传递给核心控制,等待核心控制的裁决,并在收到裁决结论后,代理模块根据裁决结论予以执行;其中,裁决结论包括放行、监控、警告、拦截;
若代理模块收到放行,即检查通过的结论后,代理模块将当前会话的06(11160代理发送给受保护的业务系统后,等待接收业务系统对转发的06(11160的回应内容如邓如此,并对回应内容的-130(17按照肌祖^语言进行解析,获得回应内容中的可访问链接;
所述核心控制是肌吓业务防火墙的控制中心,用于负责调度各个模块的协作、接受各个模块的请求,并更新安全策略库中的数据记录、工作模式、工作方法;
核心控制能提取代理模块传递的肌1?访问的数据,肌1?访问的数据包括来源I?、来源端口、目的I?、目的端口、请求的现匕请求的册仙现、肌1?请求的8001,调用客户端许可策略对客户端来源进行检查:
若客户端的检查结论为不安全,根据结论的不同风险级别,命令代理模块对该次访问进行拦截处理,不进入后续检查步骤;
若客户端的检查结论为安全,则继续调用客户端会话状态库对客户端状态进行检查,对于客户端来源信息已经处于客户端会话状态库的数据记录中的会话,作为已有会话,否则作为新会话;若判断为新会话,则将当前请求的肌1?访问的数据传递给起始地址白名单进行检查,检查通过,就将该新会话加入客户端会话状态库,由代理模块将该请求代理发送给受保护的业务系统,并继续整个流程处理;若判断为已有会话,则将当前请求的肌1?访问的数据传递给起始地址白名单和后续地址白名单,由两个模块分别进行检查,若其中任何一个模块的检查结论为通过的,由代理模块将该请求代理发送给受保护的业务系统,并继续整个流程处理;否则按照拦截的结论进行处理;
所述安全策略库包括子模块:客户端许可策略、客户端会话状态库、起始地址白名单和后续地址白名单,且安全策略库记录有业务防火墙的初始化数据,包括客户端许可策略的初始化数据、起始地址白名单的初始化数据;
安全策略库用于接受核心控制调度,实现下述功能:按照核心控制的调度,调整客户端对应的客户端会话状态数据和后续地址白名单,且允许在线维护、更新客户端许可策略和起始地址白名单的数据;按照核心控制的调度,根据客户端及对应的相关策略,进行相应的安全检查,并返回裁决结论给核心控制;
所述客户端许可策略是描述肌了?业务防火墙允许接入的客户端的许可策略,且只有列入许可策略的来源,方才允许接入,否则将被拦截;许可策略中包括客户端来源;
所述客户端会话状态库用于保存肌1?业务防火墙允许进入的客户端的规则,且允许进入的客户端的规则以白名单的方式列出了允许接入受保护系统的客户端的清单;每条允许进入的客户端的规则指定了受保护系统的地址、代理模块的接入地址、允许进入的客户端来源;
所述起始地址白名单由起始地址白名单规则组成,起始地址白名单规则能实现下述功能:接受核心控制的调度,能查询、增加、删除该客户端对应的起始地址规则;接受核心控制的调度,检查该客户端在当前会话状态时,是否有权以起始地址的方式访问该起始地址;其中,起始地址白名单规则包括客户端条件、客户端会话状态条件、起始地址;
所述后续地址白名单由后续地址白名单规则组成,后续地址白名单规则能实现下述功能:接受核心控制的调度,能查询、增加、删除该客户端对应的后续地址规则;接受核心控制的调度,检查该客户端在当前会话状态时,是否有权以后续地址的方式访问该后续地址;其中,后续地址白名单规则包括客户端条件、客户端会话状态条件、后续地址。
2.根据权利要求1所述的一种基于自适应代理机制的肌1?业务防火墙,其特征在于,所述核心控制能进行人机交互,核心控制通过输出设备输出数据、讯号,并通过输入设备获取外部输入,从而实现人机交互。
3.根据权利要求2所述的一种基于自适应代理机制的肌1?业务防火墙,其特征在于,所述输出设备包括屏幕、喇叭、灯光,输入设备包括键盘、鼠标。
4.根据权利要求1所述的一种基于自适应代理机制的肌1?业务防火墙,其特征在于,所述客户端许可策略中的客户端来源包括来源I?、来源端口,且客户端来源能通过正则表达式进行标识,也能采用通用的“ ? 通配符进行记录,并支持区段方式标记。
5.根据权利要求1所述的一种基于自适应代理机制的肌1?业务防火墙,其特征在于,所述客户端会话状态库中的每条允许进入的客户端的规则,能通过正则表达式进行标识,也能采用通用的“? 通配符进行记录,并支持区段方式标记。
6.根据权利要求1所述的一种基于自适应代理机制的业务防火墙,其特征在于,所述基于自适应代理机制的肌1?业务防火墙的拦截结论的处理方式,为代理模块直接关闭客户端当前连接或者回应拒绝服务的回应页面后关闭连接。
7.根据权利要求1所述的一种基于自适应代理机制的肌1?业务防火墙,其特征在于,所述起始地址白名单在肌了?业务防火墙初始化时,根据系统运行的设定预置记录;且起始地址白名单能根据系统运行需要,设定不同的模式:根据客户端来源,为不同的来源指定不同的起始地址链接记录;对所有客户端来源,设定相同的起始地址链接记录。
8.根据权利要求1所述的一种基于自适应代理机制的肌1?业务防火墙,其特征在于,所述核心控制对安全策略库中数据记录的更新包括:
对后续地址白名单的更新:代理模块获得业务系统对该请求的回应内容的可访问链接后,核心控制将可访问链接更新到后续地址白名单中,且能采用两种模式实现:将可访问链接记录追加到后续地址白名单中,并将链接记录与会话对应;清除可访问链接对应该会话的所有旧链接记录,将新获得的与会话对应的链接记录加入到后续地址白名单中;
对客户端会话状态库的更新:核心控制将当前访问地址更新到客户端会话状态库中,且能采用两种模式实现:客户端会话状态库中只保存一条当前步骤链接记录,用当前访问的链接记录直接覆盖原有记录;客户端会话状态库中保存多条当前步骤链接记录,将当前访问的连接记录添加进去;
核心控制能定期检查客户端会话状态库,对已有会话的记录进行过期检查,若记录已到过期时间则进行清除;其中,过期时间是指当前时间加上有效期时长得到的时间戳,且核心控制在当前请求为已有会话的情况下,调用客户端会话状态库对已有会话的有效期时长,按照预先设置的会话有效期时长进行延长。
9.根据权利要求1所述的一种基于自适应代理机制的肌1?业务防火墙,其特征在于,所述基于自适应代理机制的肌1?业务防火墙采用两种模式来处理客户端重复发送当前请求:将当前访问的地址作为后续地址添加到后续地址白名单中;不将当前访问的地址加入起始地址白名单和后续地址白名单,若业务系统对当前请求的回应内容中不包含当前请求的链接地址时,不允许刷新页面重新访问当前地址。
【文档编号】H04L29/08GKSQ
【公开日】日
申请日期:日
优先权日:日
【发明者】王锦龙, 范渊
申请人:杭州安恒信息技术有限公司}

我要回帖

更多关于 反向代理实现原理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信