[周报全文]网络防火墙的体系结构

2001-06-18 |  作者:佚名 |  来源:互联网 |  查看原文

摘要网络防火墙的体系结构

网络防火墙的体系结构 □ 曹斌 防火墙对于企业网络的防御系统来说,是一个不可缺少的基础设施。我们在选择防火墙时,首先考虑的就是需要一个什么结构的产品,防火墙发展到今天,很多产品已经越来越象是一个网络安全的工具箱,工具的多少固然很重要,而系统的结构则是一个起决定性作用的前提,因为防火墙的结构决定了这些工具的组合能力,决定了当你在某种场合需要一个系统声称提供的功能的时候是不是真的能够用得上。 防火墙的基本结构可以分为包过滤和应用代理两种。包过滤技术关注的是网络层和传输层的保护,而应用代理则更关心应用层的保护。 包过滤是历史最久远的防火墙技术,从实现上分,可以分为简单包过滤和状态检测的包过滤两种。 简单包过滤是对单个包的检查,目前绝大多数路由器产品都提供这样的功能,所以如果你已经有边界路由器了,那么完全没有必要购买一个简单包过滤的防火墙产品。由于这类技术不能跟踪TCP的状态,所以对TCP层的控制是有漏洞的,比如当你在这样的产品上配置了仅允许从内到外的TCP访问时,一些以TCP应答包的形式进行的攻击仍然可以从外部通过防火墙对内部的系统进行攻击。简单包过滤的产品由于其保护的不完善,在1999年以前国外的防火墙市场上就已经不存在了,但是目前国内研制的产品仍然有很多采用这种简单包过滤的技术,从这点上可以说,国内产品的平均技术水准至少比国外落后2到3年。 状态检测的包过滤利用状态表跟踪每一个网络会话的状态,对每一个包的检查不仅根据规则表,更考虑了数据包是否符合会话所处的状态,因而提供了更完整的对传输层的控制能力。同时由于一系列优化技术的采用,状态检测包过滤的性能也明显优于简单包过滤产品,尤其是在一些规则复杂的大型网络上。 顺便提一下免费软件中的包过滤技术,比较典型的是OpenBSD 和Linux中的IP Filter和IP Chains。一些有较强技术能力的网络管理人员喜欢利用这样的软件自己配置成防火墙。但是从实现的原理上分析,虽然它们提供了对TCP状态位的检查,但是由于没有跟踪TCP的状态,所以仍然是简单包过滤。值得关注的是Linux2.4中的IP Table,从其名称就可以看出,它在进行过滤时建立了一个用来记录状态信息的Table,已经具备了状态检测技术的基本特征。 包过滤结构的最大优点是部署容易,对应用透明。一个产品如果保护功能十分强大,但是不能加到你的网络中去,那么这个产品所提供的保护就毫无意义,而包过滤产品则很容易安装到用户所需要控制的网络节点上,对用户的应用系统则几乎没有影响。特别是近来出现的透明方式的包过滤防火墙,由于采用了网桥技术,几乎可以部署在任何以太网线路上,而完全不需要改动原来的拓扑结构。 包过滤的另一个优点是性能,状态检测包过滤是各种防火墙结构中在吞吐能力上最具优势的结构。 但是对于防火墙产品来说,毕竟安全是首要的因素,包过滤防火墙对于网络控制的依据仍然是IP地址和服务端口等基本的传输层以下的信息。对于应用层则缺少足够的保护,而大量的网络攻击是利用应用系统的漏洞实现的。 应用代理防火墙可以说就是为防范应用层攻击而设计的。应用代理也算是一个历史比较长的技术,最初的代表是TIS工具包,现在这个工具包也可以在网络上免费得到,它是一组代理的集合。代理的原理是彻底隔断两端的直接通信,所有通信都必须经应用层的代理转发,访问者任何时候都不能直接与服务器建立直接的TCP连接,应用层的协议会话过程必须符合代理的安全策略的要求。针对各种应用协议的代理防火墙提供了丰富的应用层的控制能力。可以这样说,状态检测包过滤规范了网络层和传输层行为,而应用代理则是规范了特定的应用协议上的行为。 对于使用代理防火墙的用户来说,在得到安全性的同时,用户也需要付出其他的代价。代理技术的一个主要的弱点是缺乏对应用的透明性,这个缺陷几乎可以说是天生的,因为它只有位于应用会话的中间环节,才会对会话进行控制,而几乎所有的应用协议在设计时都不认为中间应该有一个防火墙存在。这使得对于许多应用协议来说实现代理是相当困难的。代理防火墙通常是一组代理的集合,需要为每一个支持的应用协议实现专门的功能(+微信网络世界),所以对于使用代理防火墙的用户来说经常遇到的问题是防火墙不支持某个正在使用的应用协议,要么放弃防火墙,要么放弃应用。特别是在一个复杂的分布计算的网络环境下,几乎无法成功地部署一个代理结构的防火墙,而这种情况在企业内部网进行安全区域分割时尤其明显。 代理的另一个无法回避的缺陷是性能很差。代理防火墙必须建立在操作系统提供的Socket服务接口之上,其对每个访问实例的处理代价和资源消耗接近于Web服务器的两倍。这使得应用代理防火墙的性能通常很难超过45Mbps的转发速率和1000个并发访问。对于一个繁忙的站点来说,这是很难接受的性能。 代理防火墙的技术发展远没有包过滤技术活跃,比较一下几年以前的TIS和现在的代理类型的商用产品,在核心技术上几乎没有什么变化,主要变化是增加了协议的种类。同时为了克服代理种类有限的局限性,很多代理防火墙同时也提供了状态检测包过滤的能力,当用户遇到防火墙不能支持的应用协议时,就以包过滤的方式让其通过。由于很难将这两者的安全策略结合在一起,所以混合型的产品通常更难于配置,也很难真正结合两者的长处。 状态检测包过滤和应用代理这两种技术目前仍然是防火墙市场中普遍采用的主流技术,但两种技术正在形成一种融合的趋势,演变的结果也许会导致一种新的结构名称的出现。  防火墙技术发展这么多年,已经成为了网络安全中最为成熟的技术,是安全管理员手中有效的防御工具。但是防火墙本身的核心技术的进步却从来没有停止过,事实上,任何一个安全产品或技术都不能提供永远的安全,因为网络在变化,应用在变化,入侵的手段在变化。对于防火墙来说,技术的不断进步才是真实的保障。■

相关文章