■
近年来,随着财政改革不断推向深入,越来越多的财政业务实现了信息化应用管理,同时也面临着用户访问数量不断增大、系统响应能力不足、安全保障困难的问题。主要表现在以下四个方面:
1.稳定性:单台应用服务器导致的单点故障,造成业务系统的不稳定。
2.安全性:针对应用层业务系统的攻击手段层出不穷,对业务系统的安全性带来了极大的风险。
3.可用性:由于应用服务器或业务系统软件的不稳定,业务系统故障后无法第一时间被发现和解决。
4.高效性:应用服务器部署方式采用主备模式,造成了服务器资源浪费,无法提高业务效率。其中稳定性是整个业务系统的基础,是业务应用系统的命脉。
为解决系统面临的问题,需要在现有软硬件资源的基础上进行负载均衡、合理分配现有流量、平衡服务器压力,充分利用数据中心的资源,提高应用的访问速度,并可以同虚拟化技术顺利融合,同时提供高度的系统安全性和易用性。目前很多企业、单位都采用了负载均衡技术,传统的负载均衡技术只能实现最基本的四层数据转发,无法识别业务应用内容,无法从根本上解决系统应用的关键问题。因此,应用交付网关技术进入用户的视线。
应用交付网关是一个达到网络设备标准的统一平台,这个平台将会集成智能流量管理、应用加速、应用安全防护和应用控制等诸多技术特点,并将最终替代Web应用前端庞大的“设备层”,从而帮助数据中心构建全新的应用交付基础架构。应用交付网关承载应用系统的交互流量,能够深度感知应用内容,通过与应用系统紧密结合,智能地处理应用数据。因此,应用交付网关可以提高应用性能、可靠性、可管理性和安全性,进而使数据中心能够快速而有效地实现应用交付基础架构。
为实现核心系统稳定运行,保证应用服务器高可用,降低核心系统故障率,提高核心系统维护效率,应用交付网关应该实现以下几方面的目标:
通过深度识别应用层信息,实现基于内容信息的智能转发功能。在应用交付概念中,对应用行为和内容的智能控制是其核心理念的重要组成部分,因此应用智能控制也成为应用交付网关至关重要的功能。应用交付网关的核心工作引擎——策略控制引擎允许可以识别Http应用层信息,包括:识别客户端类型及属性,了解请求使用的方法(Get或Post),了解响应的结果类型,甚至了解请求或响应的内容,基于对这些信息的细粒度识别,策略控制引擎可以制定规则,对应用流量进行分类判断,并基于判断的结果进行策略操作。
通过TCP连接复用、TCP单边加速、Http压缩、内容缓存等优化技术的引入,不仅提升系统的整体性能,还有效的卸载了真实服务器上的非内容处理任务,解决了服务器不断扩容的压力。
网络层的DDoS防护、应用层的协议清洗、针对应用数据的SSL加密,应用交付网关直接集成Web应用安全防护功能,在安全防护能力上,应用交付网关产品有了显著的提升。
通过定制化的策略脚本,来改变应用的请求或响应,而这些改变是在不需要更改程序代码的情况下实现的,强化了通过应用交付网关来达到控制应用的能力。
Web应用天生的性能缺陷使得仅仅利用传统负载均衡设备难以解决应用性能的问题,因此应用交付网关在改善Web应用系统性能方面提供诸多技术手段,能够帮助Web应用提升5-10倍的效率。
对于 HTTP/HTTPS 应用,应用交付网关其实扮演着反向代理的角色,它终结来自客户端的连接,并替代客户端与真实服务器通过长连接进行应用层数据交互,正是这种机制让我们对Web应用性能进行优化提供可能。
应用交付网关可以识别Http应用层信息,包括:识别客户端类型及属性,了解请求使用的方法(Get或 Post),了解响应的结果类型,甚至了解请求或响应的内容,基于对这些信息的细粒度识别,策略控制引擎可以制定规则,对应用流量的进行分类判断,并基于判断的结果进行策略操作。
策略控制引擎就是根据预先定义的规则脚本(SmartRules),实现对特定应用数据进行特殊操作。SmartRules策略规则由两个重要部分组成的,即识别策略控制对象的“表达式”和针对此对象的“操作行为”。
SmartRules中的“表达式”,规划了4类应用控制的“操作行为”,分别是:
(1)基于Http请求的内容交换行为
(2)基于Http请求的内容过滤行为
(3)基于Http请求的内容改写行为
(4)基于Http响应的内容改写行为
通过操作行为的定义,策略控制引擎就知道对相应的应用数据如何进行操作,以达到SmartRules定制的策略。
Web应用的安全性是目前业界的热点话题,应用交付网关提供的安全防护机制能够帮助Web应用系统提升安全防护能力,它具有如下特点:
(1)隔离保护
由于应用交付网关缺省工作在反向代理模式,因此黑客无法直接与服务器联系,通常情况下,应用交付网关上的虚拟服务器只对外提供应用服务端口,从而有效地屏蔽了黑客攻击的第一步——端口扫描,增加了黑客攻击的难度。此时,服务器完全被应用交付网关与外界隔离,甚至对于提供服务的Web应用,也会尽量屏蔽响应信息中关于真实服务器的信息,让黑客无法准确定位后台Web系统的构架和类型。
(2)DDoS防护
DDoS攻击主要是黑客利用系统对外提供的正常服务,通过其控制的大量主机持续发送的数据请求,以达到阻止业务正常服务的目的。应用交付网关为了抵御DDoS攻击,在内核中优化了TCP协议栈,利用独特的连接管理技术和其它限制手段精心打造一个全面的DDoS防护体系。
(3)Http协议清洗
针对协议层攻击,应用交付网关内置协议清洗功能引擎,该引擎实时检测Http请求内容是否符合RFC定义,防止Http协议范围外的行为,可以对HTTP协议整理、发送无缺陷的数据包、阻止非法请求等。对于黑客恶意制造的非法请求,直接进行有效阻断,避免无效的请求耗费服务器资源。
(4)基于策略的安全过滤规则
应用交付网关提供基于策略脚本的应用行为和内容控制机制,其中基于请求的内容过滤功能,主要用于用户自定义非法请求特征,并予以告警和阻断。
这种能力来源于两个坚实的技术基础,首先,应用交付网关具有详细的HTTP数据流检测能力,能够深度感知应用层信息。其次,策略控制引擎为外部提供一套完整的策略控制机制,它基于系统内部API,允许用户通过简单易用的SmartBiulder图形工具定制请求过滤策略规则。
应用交付网关采用基于Http对象的内容缓存功能,利用策略规则将允许缓存的Http对象存放在系统内存空间或硬盘空间。当用户的HTTP访问请求发送到慧敏时,如果Cache中的内容能够匹配用户的访问请求则直接由交付网关来响应用户的访问,从而避免了对后台服务器的负载压力,在减小了后台服务器负载的同时,提高了对用户的响应速度和整体网站的处理能力。同时又通过监视缓存内容的命中率变化情况,及时将命中率较高的对象迁移至内存中,保障绝大多数命中的内容对象始终存放在内存中,避免频繁的磁盘I/O读写操作,实现真正智能的内容缓存。
负载均衡算法就是负载调度的标准和决策依据,它可以使应用交付网关有效地管理应用流量,指引客户端请求选择一台最合适的真实服务器来进行处理,决策方法将确保实现最佳的流量分配。
应用交付网关系统可以设置以下这些算法来实现服务器负载均衡:
(1)轮询算法
轮询算法按照请求的先后顺序将其依次循环地调度到不同的真实服务器,即每次调度执行i = (i + 1) mod n,并选出第i台服务器。算法非常简洁,无需记录当前连接的状态,所以它是一种无状态调度。
(2)加权轮询算法
加权轮询算法是在轮询算法的基础上,根据真实服务器的不同处理能力,依照预设的权重按比例来调度访问请求。这样可以保证处理能力强的服务器能处理更多的请求任务。
(3)最少连接算法
最少连接算法是一种动态调度算法,它依据服务器当前活跃的TCP连接数信息来估计服务器的负载情况。应用交付网关会记录每个真实服务器活跃连接的数目,当一个请求来临时,会被调度到活跃的TCP连接数最少的那台服务器。
应用交付网关是应用数据交互的载体,它需要解决系统可用性问题,而后台真实的应用服务器是真正处理应用业务请求并响应客户请求的宿主机,因此实时监控应用服务器的健康状态,避免将请求转发到不可用的服务器是保障整个系统可用性的关键。
应用交付网关的高级健康检查功能,可以准确的做到应用层的健康检查。而服务器健康检查的结果是负载均衡决策的依据,健康状态为不可用的服务器将不再参与负载分发决策。应用交付网关支持的服务器健康检测方法,包括:基础网络检查方法(Ping)、四层应用检查方法(TCP)、基于应用层内容的应用检查方法(HTTP/HTTPs/SMTP)以及利用自定义脚本的应用检查程序(检查范围可以从2层到 7 层)。
自定义脚本的健康检查方法允许用户利用Perl script,完全依据应用系统的特性定义发送和接收数据包的行为与内容。根据脚本程序执行的结果来确认应用的健康状态。
应用交付网关不仅可以为关键业务系统提供高可用性和智能负载均衡,与此同时,还可以满足用户固定访问特定服务器的要求,以支持用户会话持续建立到某台固定服务器上。会话保持意味着一旦一个真实服务器被选择处理某客户端请求,那么后续的从该用户发出的请求都被转发到同一服务器上。“会话保持”功能常用于需要检查会话状态的一致性的特定应用。
主要支持的“会话保持”的方法包括:
(1)基于源IP进行会话保持
基于源IP会话保持,应用交付网关会对此客户端IP与虚拟服务器之间的连接创建一个计数器,只要持续性计数器尚未到时,它们之间新建的连接就会持续转发到同一台服务器。
(2)基于Cookie进行会话保持
基于Cookie的会话保持主要应用于Http/Https应用,在这种模式下,利用Http数据包存储的coockie信息进行持续性的判断,并把持续性请求转发到同一台服务器上。
会话保持技术中,还有一个重要的控制参数:会话保持时间。这个时间就是相同用户前后两次持续性请求之间的间隔时间,如果相同用户前后两次持续性请求的时间间隔超过会话保持时间,会话保持机制将忽略其会话的关联性,这个会话请求会依据负载均衡算法进行决策调度。
根据应用系统的具体架构,我们采用的这种将应用交付网关旁路部署的方式体现了稳定、可靠、灵活、安全的部署原则,主要体现在以下几个方面:
(1)稳定性
在不影响原有网络架构的基础上,将应用交付网关以单臂方式旁接在核心交换机上,既不影响原有网络架构,又可以为不同业务系统提供安全、可控、高效、稳定的业务支撑,实现了与业务系统无缝结合。
(2)可靠性
应用交付网关采用双机部署,所有物理连接均采用双线连接,不但实现了硬件设备和链路的双冗余,同时实现了业务的双冗余,彻底解决了业务系统单点故障问题,切实保障了核心业务的高可用,实现了业务系统稳定运行。
(3)灵活性
由于不影响原有网络架构,部分非关键业务不需要经过应用交付网关处理,所以我单位财政务系统可以非常灵活的控制,哪些数据需要应用交付网关处理,哪些不需要,有针对性的进行灵活管控。
(4)安全性
对于核心系统来讲,系统安全至关重要,利用反向代理的实现原则,在应用交付网关上只放开相关的业务地址和端口,只有满足条件的业务请求才允许通过。利用这层天然的安全屏障,有效的提高了河北省财政核心系统的安全性,协助河北省财政信息中心将安全事故率降到了最低。
通过部署应用交付网关,我们的应用系统达到了更高标准的可靠性和突发流量状况下的高可用性,确保了数据中心的安全稳定运行,为企业财政的信息化推进提供了坚实的技术保障。