网络防火墙早已是一般企业用来保护网络安全的主要安全机制。然而,企业网络的整体安全涉及层面相当广,防火墙不仅无法解决所有的安全问题,防火墙所使用的控制技术、自身的安全保护能力、网络结构、安全政策等因素都会影响企业网络的安全性及效能。
在众多影响防火墙安全性的因素中,有些是管理人员可以控制的,有些却是在选择了防火墙之后便无法改变的特性,其中很重要的一点在于防火墙所使用的存取控制技术。目前防火墙的控制技术可分为:封包过滤型(Packet Filter)、封包检验型(Stateful Inspection Packet Filter)以及应用网关型(Application Gateway)三种。这三种技术分别在安全性或效能上有自身优点。不过一般人往往只注意防火墙的效能而忽略了安全性与效率之间的矛盾。
封包过滤型: 封包过滤型会检查所有进出防火墙的封包标头内容,如来源及目地IP、使用协定、TCP 或UDP 的Port 等信息进行控制管理。目前的路由器、交换型路由器以及某些操作系统已经具有封包过滤型控制能力。封包过滤型最大的好处是效率高,但却有几个严重缺点: 管理复杂、无法对连线做完全的控制、规则设置的先后顺序会严重影响结果、不易维护以及记录功能少。
封包检验型: 封包检验型通过一个检验模组对封包中的各个层次做检验。封包检验型可谓是封包过滤型的加强版,目的在于增加封包过滤型的安全性,增加控制“连线”的能力。但由于封包检验的主要检查对象仍是个别的封包,不同的封包检验方式可能会产生极大的差异。其检查的层面越广将会越安全,但其相对效能也越低。封包检验型防火墙在检查不完全的情况下,某些经过精心设计、切割过的、原来并不允许通过的封包,在到达目的地时,可因重组而被转变成可通过的连线要求。去年被公布的有关Firewall-1 的Fast Mode TCP Fragment 的安全弱点就是其中一例。这一项为了增加效能的设计反而成了安全弱点。
应用网关型:应用网关型采用将连线动作拦截,由一个特殊的代理程序来处理两端间的连线方式,并分析其连线内容是否符合应用协定的标准。这种方式的控制机制可以从头到尾有效地控制整个连线的动作,而不会被客户端或服务器端欺骗,在管理上也不会像封包过滤型那么复杂,但可能必须针对每一种应用写一个专属的代理程序,或用一个一般用途的代理程序来处理大部分连线。这种运作方式是最安全的方式,但也是效能最低的方式。
防火墙是为保护安全性而设计的,因此,与其一味地要求效能,不如思考如何在不影响效能的情况下提供最大的安全保护。上述三种运作方式虽然在效能上有所区别,但我们在评估效能的同时,必须考虑这种效能的差异是否会对实际运作造成影响。事实上,对大部分使用T1或xDSL 连线的宽带网而言,即便是使用应用网关型也不会真正影响网络的使用效能。在这种应用环境下,防火墙的效能不应该是考虑的重点。但是,若防火墙是架在企业网内不同部门之间时,企业就必须考虑能否接受这种效能上的牺牲。