Web网关的安全和性能_负载集群教程
Web安全网关是Gartner在其2008年的报告中所重点提及的边界应用安全网关。其主要功能包括防病毒、URL过滤、Internet应用控制和带宽管理等。下面,我们将对web安全网关的相关性能指标进行一一分析解读,希望能对广大消费者选购web安全网关提供一个帮助。
一、防病毒处理能力
网关防病毒主要针对HTTP/HTTPS、FTP、SMTP、POP3等协议流量进行双向的过滤扫描,来达到对企业内网用户和服务器的保护,并防止内网已感染病毒的客户端和服务器对外扩散病毒。随着Internet,尤其是Http应用的日益普及发展,使得越来越多的企业应用转为了B/S构架,借助HTTP协议的方便和易用提高企业效率。同时Internet上无穷无尽的各类资源、虚拟社区、Web游戏等等使得内网用户访问Internet的需求在不断增加,Web应用已经成为客户的最主要流量;而安全网关作为内外网之间的唯一数据通道,如果吞吐量太小,就会成为网络瓶颈,给整个网络的传输效率带来负面影响。因此,考察网关的HTTP吞吐能力将有助于我们更好的评价其性能,这里需要注意的是网关防病毒关键性能是HTTP的吞吐量,而不是UDP的吞吐量,企业在选购产品时一定要搞清楚这两个吞吐量的差别。UDP吞吐量代表的是整个设备的包转发能力,而网关防病毒针对的是具体应用协议和数据内容的扫描与检测性能,因此对于网关防病毒产品来说UDP的吞吐量参考意义不大,UDP的吞吐量高,并不一定内容检测性能就高。在企业的 internet应用协议流量中通常http流量所占的比重最大,因此HTTP协议的检测性能才是网关防病毒的关键性能指标。为了提升病毒检测的性能,目前主流解决方案主要有两种:一种是串流扫描技术;一种是借助ASIC加速卡将由代理缓存下来的整个文件做深度内容扫描检测与特征匹配。客观的讲,这两种扫描技术各有所长,但是对于企业而言,找寻性能和检测率、漏判之间的平衡,将成为企业防病毒成败的关键。串流扫描方案由于优先考虑用户的网络使用体验,不得不简化病毒扫描流程,对一些较复杂的文件不能进行深入的检测,会造成病毒的漏判;另外当网络流量较大时,很多扫描不能在文件传输之前完成,这就造成实际上的病毒扫描功能失效。2005年市面上采用串流病毒扫描技术的网关产品较多,但很快发现漏判漏查的问题无法避免,所以为了解决漏判漏查问题,web安全网关厂商Anchiva(安启华)在2006毅然抛开串流扫描的做法,坚持要用深度内容检测的方式提高病毒检测率,于是Anchiva(安启华)利用1年多的时间开发了基于ASIC芯片的深度内容检测与特征匹配引擎,成功的解决了扫描性能问题,并且提高了病毒检测率。Anchiva(安启华)通过测试对比发现,ASIC硬件扫描引擎在相同测试条件下的Http吞吐量是纯软件扫描引擎的4-5倍。当然,网络流量中需要扫描杀毒的文件类型很多,有txt文本文件,有二进制文件,有可执行的pe文件等,因此企业在选购产品时还需要重点考察防病毒网关产品对这三类主要文件类型进行扫描杀毒的http吞吐量。
除了http吞吐量外,http的并发连接数也是网关防病毒的关键性能指标,这里同样需要注意的是http的并发连接数,并不是TCP并发连接数。TCP并发连接数是指设备能够同时处理的点对点TCP连接的最大数目,主要反映的是防火墙、路由器等设备对多个TCP连接的访问控制能力和连接状态跟踪能力。对网关防病毒来说,因为需要针对某个具体的应用协议进行扫描过滤,TCP并发连接数并不能完全反映设备的访问控制能力和连接状态跟踪能力,http并发连接数才是真正反映网关防病毒能支持的最大信息点数的性能指标。一般厂家会通过增加内存的方式来提高http并发连接数,但是Anchiva(安启华)公司总架构师贺先生说:“http并发连接数跟内存大小有直接的关系,但是没有很好的扫描处理算法来降低每一个连接的开销,即使内存大小一样,http并发连接数也是有明显差别的;另外还有关键的一点是传统的TCP协议栈在透明代理情况下会受限于端口数目65535的限制,”。从这一点可以看出如果是传统的TCP协议栈,即使内存再大,HTTP并发连接数也不可能超过65535,否则就是欺骗。除非像 Anchiva(安启华)公司那样经过优化改写过的TCP协议栈才有可能并发连接数突破65535个。
二、Internet应用控制和带宽管理处理能力
Internet应用控制和带宽管理,通常是通过对应用数据包进行分析,通过识别匹配协议或应用特征进行的4-7层的应用管控。仅仅靠识别端口是不行的,因为当前网络上的大部分应用会采用隐藏或假冒端口号的方式躲避检测和管控,也常常通过动态协商端口等方式仿冒合法应用的数据流来侵蚀着网络,因此对于应用管控还需要识别出协议或应用中特定的字符串以便更准确地进行应用的识别与管控。当然,对于应用管控不需要对所有的应用数据包进行一一的检测过滤,仅仅需要对应用流量中开始的1个或几个数据包进行特征分析与匹配。因此,对于Internet应用控管,其性能的关键在于网关的包转发能力。用户在选购产品时,需要考察的是设备对数据包的吞吐量。为了提高吞吐量,市面上有ASIC加速技术也有多核技术,二者的目的一致,都是为了提高性能。支持多核并不难,普通的Linux就可以支持,但如果没有良好的并行多核控制技术,既使再多的核也不能完全发挥出多核的硬件优势。因此,这就需要具备并行多核优化控制技术来保证多核CPU快速均衡的响应不同的网络应用。Anchiva(安启华)并行多核控制技术采用数据包动态均衡分发处理机制,实现流量在多核间的负载均衡,极大的提升了系统的运算效率。并且一般的多核控制技术是通过CPU的其中一个核来完成流量的均衡分发,而Anchiva(安启华)为了充分利用硬件资源,使性能达到最优,不是占用CPU的一个核来完成流量的均衡分发,而是通过专门编写的控制技术利用网卡中的芯片完成流量在不同CPU间的均衡分发,这样使相同的多核CPU的处理能力更进一步发挥出来。另外在多核上实现的应用调度处理也很重要,应用调度处理一般有并行和串行两种模式。显然,为了实现对多核资源的充分挖掘和利用,并行应用调度处理方式也是必须的,为此Anchiva(安启华)专门编写了自己的并行应用处理引擎,以便充分的利用多核资源。
三、URL过滤处理能力
URL过滤的实现机制是将客户端请求的URL与网关中的URL过滤策略进行匹配,从而达到过滤控制的目的。对于这部分功能,web安全网关仅仅需要对http header中的URL进行扫描处理,不需要对http请求的内容进行扫描,以一个32K的http请求为例,http 的header部分只有几百个字节,不到1K。于是可以看出,对于URL过滤,需要考察的重要性能指标是http的并发连结数和每秒新建连接数,这就需要一个强大的http处理引擎。各厂家也都在http的处理性能上下功夫,通常使用最多的还是多核技术, Anchiva(安启华)认为,良好的HTTP 处理引擎不仅跟CPU是单核还是多核有关系,即使有多核技术,如果没有优化基于kernel的TCP协议栈,对于上层应用代理的处理能力也会受限于传统 TCP协议栈共享锁的限制。目前很少有厂商愿意花费时间来攻破这一难题。攻破TCP协议栈的束缚将成就更快的Web安全网关。Anchiva(安启华)公司在成立之初就决定优化重写TCP协议栈,在兼顾安全性的基础上,开发了横跨系统内核层和系统应用层的TCP协议栈,同时将TCP协议栈与应用进程并行结合,打破了通用操作系统基于内核的TCP协议栈共享锁的限制及系统应用层与系统内核层分离的制约,实现了转发层面和应用层面的并行处理,也使 Anchiva Web安全网关的性能随着硬件配置的提升,能够做到近似线性增长。
当然,单独的吞吐量、并发连接数和每秒新建连接数的数据毫无意义,一定要说明这个数据是用什么方法测试出来的才有用,同类产品相互性能的比较一定要在同样的测试环境和方法下以及相同的策略条件下进行才公平和有意义。最好的方法是对同类产品用相同的测试仪器通过相同的测试环境和测试参数测试出来的性能才具有可比性和参考价值。对于防火墙、路由器等设备,测试标准通常要遵从RFC 2544/1242;但是对于应用网关,目前没有成型的测试标准,各家都有各家的方法,这里就需要企业在选购时一定要清楚各家的性能参数是如何得到的。
除此之外,对于web安全网关而言应用层的处理能力是需要用户考察的关键点。成就高性能的应用层面处理能力,首先需要克服的是转发层面和协议层面甚至硬件架构等等更底层的处理瓶颈或处理技术。因此认清其对多核和ASIC的支持能力、TCP协议栈以及上层应用处理引擎的并行处理能力和扫描检测算法的优化能力,这些都是web安全网关性能能否达到最优的核心技术。攻克这些核心技术,不仅能成就高性能的网关杀毒,对于URL过滤和应用管控的性能提高仅仅是顺带手就能够做到的。相信认清市场上种类繁多的web安全网关的真正优势后,企业选择一款真正适合自己的边界web安全网关设备并不难。
- 相关链接:
- 教程说明:
负载集群教程-Web网关的安全和性能。