应用层指标是衡量下一代防火墙性能的主要标准
发表日期:2016-01-15 11:07:42
近年来,用户对网络业务的可视性、可管理性要求越来越高,要求能从业务视角理解网络流量,并针对应用制定管理策略;随之而来的,是以下一代防火墙(NGFW)为代表的应用层网络安全产品如雨后春笋般涌现出来;传统的网络层安全产品,如传统防火墙、IPS等,由于缺乏应用识别与控制能力,正在被面向应用层的NGFW、下一代IPS等产品取代。以NGFW为例,根据Gartner的调研,在2011年时仅有不到1%的互联网连接采用NGFW来保护,而到2014年底,这个数字飙升到35%。
什么样的防火墙能称之为下一代防火墙?
“下一代防火墙”较早提出于2009年。Gartner在题为《Defining the Next-Generation Firewall》的报告中指出:“不断变化的业务流程、IT技术和网络威胁,正推动网络安全的新需求。协议的使用方式和数据的传输方式已发生变化,网络攻击的目标由单纯的破坏演变为恶意软件植入。在这种环境中,试图要求在标准端口上使用合适协议的控制方法已不再具备足够的有效性,传统防火墙必须演进为下一代防火墙。”
由此可以总结得出,NGFW应具备应用识别和感知能力,同时应融合IPS系统以应对网络威胁;下一代防火墙的核心安全能力,是能够执行不依赖于IP、端口的应用、用户和内容控制策略,并能够实时检测网络流量中的恶意网址、病毒、漏洞利用、间谍软件等行为。这一切的基础,是对网络中的数据包执行深度检测,也就是将数据包解封到应用层。数据包封装和解封层次越多,CPU的计算负载就会越高,具体表现为设备性能衰减,这是“鱼与熊掌不能兼得”的简单逻辑,也是为了应用级防护所必须付出的成本。
NSS Labs是如何评估NGFW性能的
评估防火墙设备(包括传统防火墙和NGFW)的主要指标,是设备的吞吐量,其他指标还包括丢包率、延时等。吞吐量指的是被测设备在不丢包的情况下,所能转发的较大数据流量。吞吐量有很多种,如大包、小包、UDP包、HTTP包等吞吐量;同一台设备,在处理不同报文时,会表现出迥然不同的吞吐量。为了总体评估NGFW的性能,全球知名的独立测评机构NSS Labs提出了具体的评估指标与测试方法:
1.UDP裸包处理性能(Raw Packet Processing Performance (UDP Traffic))
2.延迟(Latency)
3.较大性能(Maximum Capacity)
4.无延时情况下的HTTP性能(HTTP Capacity With No Transaction Delays)
5.应用平均响应时间(Application Average Response Time: HTTP)
6.有延时情况下的HTTP性能(HTTP Capacity With Transaction Delays)
7.“逼近真实”的通讯(“Real-World” Traffic)
可见大部分测试指标是跟吞吐量相关的,包括一些传统的网络层性能指标,如UDP裸包处理能力,这是为了衡量设备对数据报文的基本转发能力。如果某些具有攻击特征的数据包严重影响了整机的处理能力,应用层的性能也将受到显著影响,应用层处理引擎能力再强也无法发挥作用。但NSS Labs更侧重于考核设备在进行应用层处理情况下的转发性能,也就是俗称的应用层吞吐量,如HTTP性能、应用平均响应时间等。因此NSS Labs大量引入这些指标,用以衡量被测设备的应用引擎的性能,再结合参考网络层性能指标,才能全面评估NGFW在真实业务环境中的实际表现。
NGFW不同于数通设备,网络层吞吐量只是其中一个基础功能,真正考验其在“逼近真实”网络环境中性能表现的核心指标是在进行应用层处理情况下的转发性能。尽管不是所有厂商都能在商务层面上认同NSS Labs的认证,但NSS Labs测试NGFW性能的技术路线,受到了国内外防火墙厂商的广泛认同。例如,下一代防火墙厂商的鼻祖Palo Alto,在其NGFW产品数据表中已经不再提及使用网络层方法测试得出的防火墙吞吐量,而是标注启用了应用识别功能后的吞吐量。
使用UDP大包测出的指标比较好看,然并卵
NSS Labs的测试方法中确实引入了UDP裸包处理性能这个指标,但这个指标只是为了用快速转发包的有效性来验证设备是否具有高级别的网络性能和低延迟,也就是设备在理想条件下所能达到的较佳性能。在具体的UDP裸包测试方法上,NSS Labs采用了从64字节到1514字节不同长度UDP包进行综合测试的方法:
对网络通讯原理有一定了解的用户都知道,每个以太网帧都有较小64字节较大1518字节的大小限制,超出了这个范围的帧都会被认定为错误的数据帧,一般的转发设备都会将其丢弃。吞吐量的计量单位是报文数/秒(pps)或字节数/秒(bps),在同样的条件下,使用的包长越长,测试得出的吞吐量越大,使用达到极限长度1518字节的UDP包测出的吞吐量一定是较大的。这好比是安检仪上的传送带,在传送速度不变的前提下,传送带上放置的包越多,单位时间内完成的安检量越大。大包吞吐量只能体现出防火墙在理想状态下所表现出的极限性能,在现实网络环境中是不太可能出现这种理想状态的。正因为此,NSS Labs采用了不同长度UDP包综合测试的方法,尽可能的模拟出“逼近真实”的网络环境。
使用UDP 1518包来衡量网络层吞吐量尚有局限性,如果将其简单的套用到聚焦于应用层功能的NGFW上,就更无法完整的评估设备的性能,甚至是片面的。事实上,测试仪表打出的UDP包是较简单的、对NGFW引擎的运算资源消耗较小、甚至可以忽略不计的一种包。用这种包来测试,测不出NGFW在真实业务场景中表现出来的实际性能。有些防火墙厂商为了体现产品性能强,让用户觉得产品更具竞争力,使用UDP 1518包的吞吐量来标称NGFW的吞吐量,这是一种偷换概念的做法,不但不能给用户选型带来任何帮助,反而会误导用户。