随着网络的发展,各种网络应用不断增多,用户对网络安全的要求也不断提高。原先用户被动接受防火墙所提供的功能,如今在实际应用中,用户从各种角度发现了当前防火墙的缺憾和不足,对防火墙产品提出了更高的要求。
性能是应用的基础
在回顾用户对防火墙产品的众多需求时,我们惊讶地发现,从防火墙出现以来,用户关注的焦点一直集中于防火墙的两个基本特性:防火墙的应用防护能力和防火墙的性能。
传统防火墙厂商常常告诉用户,防火墙的功能是控制网络访问,并不能包揽一切,对于所访问对象的内容控制是无能为力的。而随着网络应用的普及,用户不再满足于防火墙单纯的网络访问控制的内容,希望防火墙能直接对应用进行更细致的防护。
对网络应用的防护,包括以Web应用为代表的各种高层协议的应用过滤和对包含视频、音频、用户数据等多种数据流的多媒体应用的安全防护。多媒体应用的数据量大,数据传输协议复杂,数据流众多,每种数据对于网络传输质量的要求不尽相同。其中的代表如H.323、UPnP协议都非常复杂,需要打开大量的动态端口,这就需要防火墙能智能识别哪些连接是正常的,哪些是网络攻击,而不是被动的打开所有的端口,开门迎“盗”。
另一方面,网络的发展也要求防火墙的性能再度提升。目前许多业务已经移到网络上运行,网络数据量不断加大。用户端的网络带宽也不断升级。目前,在主板中集成千兆网卡已成趋势,千兆的路由、交换设备的价格也不断降低,大有千兆普及到桌面之势。为了确保防火墙不成为整体网络的瓶颈,用户对防火墙的性能又提出了新的要求。
在实际应用中,银行、电信、大中型网站等大型用户对防火墙性能的需求高是毋庸置疑的。就是普通用户,随着多媒体应用的广泛,对防火墙的性能也提出了很高的要求。在实际使用中,还出现了Nimda病毒传播时大量的病毒扫描连接导致某些低性能防火墙崩溃的实际案例。业务需求、应用需求和安全防护需求,这三方面都提出了对防火墙高性能的要求。如果没有性能作为基础和保障,那么再多再好的功能和协议支持都只能是绣花枕头,经受不住用户实际应用的考验。
应用防护两大难题
如果对防火墙整体的技术发展做一个简单回顾,可以清晰地看到,应用防护能力和性能这两个基本特性如同防火墙的DNA双链一般互相交缠,衍生出防火墙的各种需求,同时也推动着防火墙技术不断向前发展。
最初的防火墙技术恰恰体现了这两个基本特性的两个极端:包过滤技术性能较高,但是只能对数据包的头部信息进行控制,灵活性低,根本谈不上对应用的防护;应用网关防火墙和应用结合紧密,但是所有的访问控制都在应用层实现,性能较低。
为了进一步提高防火墙的性能,防火墙研究人员提出了状态检测技术,采用这种技术的第二代防火墙在访问控制的过程中改进了包过滤每个数据包均进行检查的方式,只对每次会话进行检查,大幅提高了防火墙的性能。但是状态检测技术和应用的紧密程度依然很低,在控制对象上没有扩展。
近几年,随着网络应用的大量普及,防火墙的安全防护从简单的IP端口向更高层协议的应用防护(包括应用过滤和对多媒体的支持)方向发展,成为所有人的共识。
但是,目前有两大难题困扰着应用防护在实际中的应用。其一,应用防护大大降低了防火墙的性能,包括吞吐量、时延、并发连接数等,都大受影响;其二,应用防护控制的对象复杂程度远远超出了IP端口的复杂程度,用户往往没有足够的精力进行有效的安全策略制定和维护。如何解决应用防护性能问题和策略可维护性问题,将是摆在防火墙厂商面前的两座大山。只有真正解决了这两个问题,应用防护才能真正为广大用户服务。
应用与性能的统一
综上所述,当今的防火墙系统作为首要的网络边界安全设备,已经从初期的3层协议安全网关,向2-7层全面的安全网关方向发展,并且要有强大的性能作为支撑。2层协议的支持是为了使防火墙有良好的网络适应性;7层协议的支持,是为了防火墙有强大的多媒体支持能力,以及应用过滤能力。而高性能,使得这一切得以真正实用化,而不仅仅是一些理论原型。
为了达到2-7层的安全防护,防火墙技术人员推出了种种的技术和方案来解决这些问题,有软件的,也有硬件的,包括目前热度正高的NP技术,也是希望通过硬件的改进直接获得高性能。但是,我们应该看到,采用硬件的方法也需要软件的配合,而对应用的防护最终也需要软件来实现,可以说,防火墙技术最终的决定性因素还是在软件上。
在这些技术中,值得一提的是复合型防火墙技术,它合并了已有先进技术,在实现了状态检测的同时,在防火墙内核中实现对应用的访问控制,扩展了防火墙的控制对象。
方正方御防火墙的智能IP识别(Intelligent IP Identifying)技术可以说是复合型防火墙技术中比较先进的一种。它采用先进的内核调度算法、零拷贝流分析算法(Zero-copy Stream Analysis,ZeSA算法)和快速搜索算法实现高效的数据应用分类和规则快速定位;再通过将它与状态检测技术相结合,对会话进行访问控制。
传统复合型防火墙解决了应用防护的问题,但是在性能上却难以两全,一个很重要的原因是其采用的算法类似于代理服务技术,必须要在内存中组包,进行额外的拷贝、对齐等操作,大大降低了防火墙的处理性能,严重影响了吞吐量、时延和总并发连接数等关键指标。
智能IP识别技术中先进的ZeSA算法可以省去这一步骤,通过高效偏序匹配,以及网络包的安全模式识别,在进行有效流处理的同时,保持防火墙处理的高性能。
ZeSA算法在防火墙内核中建立了两张表:连接状态表和应用分类表。连接状态表用以记录每个数据连接的情况,与状态检测技术中的连接状态表类似。应用分类表则用于记录每个连接对应的应用类型以及相关的端口、内容信息。网络上的数据包经过时,同时查找两张表,一次性识别出数据包所属的连接和应用类型,并对其应用关键字做索引备查,这样节省了在内核进行组包和拷贝的开销,保证内核对应用进行检查时的效率。
内置的应用分类表中存有当前连接的应用相关信息,例如对于视频/音频应用的H.323连接,应用分类表中还存放了其通过协商动态打开的端口信息,通过这些信息,可以在应用需要时打开相关端口,应用完成时封闭这些端口,实现安全的应用防护。
传统的防火墙中另外一个常见的问题是规则数增加时防火墙性能的下降,这是因为防火墙规则搜索算法是顺序查找的,在复合型防火墙中,应用的防护同时意味着防火墙需要检测对象的增加,在防火墙应用规则数增大时,防火墙需要搜索的对象也会呈指数增长,防火墙的性能自然也会受到较大的影响。
为了解决这一问题,智能IP识别技术在内核中采用快速搜索算法,结合B树搜索和哈希算法,使用流水线方式并行搜索,在保持规则优先级顺序的情况下,大幅降低平均搜索深度及最大搜索深度,从而减少规则搜索判断所需时间,在防火墙规则增大时也能保证高效的规则定位。
在智能IP识别技术的支撑下,防火墙的多媒体支持功能和应用过滤功能都非常出色。智能IP识别可以全面的支持H.323、UPnP等多媒体协议,支持Netmeeting、MSN、Realplay、Mediaplay、IPTV等关键多媒体应用。在不降低用户网络安全级别和性能的前提下,智能IP识别技术支持这些协议和应用进行完整的状态检测,并且提供完整的NAT支持;智能IP识别技术的应用过滤功能效率出众,不再成为网络瓶颈,为应用过滤真正的到应用迈出了重要一步。
此外,智能IP识别技术提供了完整的2-7层协议分析的框架,对各种底层协议,如VLAN/TRUNK、Bridge/STP、高效热备协议、VPN协议、动态路由、ARP代理等都有良好的支持,提供了透明、路由、混杂等模式。在复杂网络拓扑下,还能有效支持VPN的NAT穿越及H.323、UPnP等多媒体协议的NAT支持等。在实施时,对原有网络拓扑的改动很小,给用户提供最大的便捷和安全。
智能IP识别技术突破了防火墙技术发展的瓶颈,提供了完整高效的2-7层的网络安全防护,较好地解决了用户在实际应用中对防火墙应用防护和性能方面的需求。随着用户对防火墙的应用防护能力和性能需求的进一步提高,我们有理由相信,现有的各种防火墙技术也会不断发展完善,以更好地去满足用户的需求。