今天,我们发现自己处在一种网络不安全的现状,呼唤我们对防火墙架构的基础进行一个仔细的回顾。
防火墙对网络安全的保护程度,很大程度上取决于防火墙的体系架构。一般的防火墙采用以下防火墙架构的一种或几种:
<1> 静态包过滤(Static Packet Filter)
<2> 动态包过滤(Dynamic or Stateful Packet Filter)
<3> 电路网关(Circuit Level Gateway)
<4> 应用网关(Application Level Gateway)
<5> 状态检测包过滤(Stateful Inspection Packet Filter)
<6> 切换代理(Cutoff Proxy)
<7> 物理隔离(Air Gap)
网络安全是一种平衡
网络安全只是在可信和性能之间的一种简单的平衡。
所有的防火墙都依赖于对通过防火墙的包的信息进行检查。检查的越多,越安全。检查的重点是对网络协议的信息,这些信息按OSI 的模型来讲,即分布在7 层。知道防火墙运行在那一层上,就知道它的体系架构是什么。
一般说来,OSI 的层号越高,防火墙要检查包的信息内容就越多,对CPU 和内存的要求就高。
OSI 的层号越高,防火墙检查的内容就越多,也就越安全。
在防火墙的体系架构中,效率速度与防火墙的安全性,一直是一个折中方案。即高安全性的防火墙的效率和速度较低,高速度高效率的防火墙的安全性较低。然而,随着多CPU 计算机的成本的下降,和操作系统支持对称多处理系统(SMP)的特性,传统的高速的包过滤的防火墙与开销较大的代理防火墙之间的差距逐步缩小。
成功的防火墙的一个最重要的因素,是谁在安全和性能之间选择做决定:(1)防火墙厂商,通过限制用户的架构选择,或(2)用户,在一个强壮的防火墙中要求更多的架构。实际上,到底是用户决定市场,还上厂商决定市场。这个问题没有答案,要看最后的事实。
防火墙的架构总体上如下图。我们把OSI 的明显和TCP/IP 的模型,对照起来,以便把问题说清楚。

在检查防火墙的架构中,查看IP 包头中最重要的几项信息是:
* IP 包头(IP header)
* TCP 包头(TCP header)
* 应用层包头(application header)
* 数据加载的包头(data-payload header)

