防火墙到底应该有多“厚”?(2) 防火墙的进出控管 防火墙是设计用来管控所有进出的数据包,而管控的体系因控管的程度而有所区别,我们称之为防火墙的控管级别,这就好比城门守卫,管制进出城门的人员。如下图所示,目前防火墙" name="description" />
防火墙是设计用来管控所有进出的数据包,而管控的体系因控管的程度而有所区别,我们称之为防火墙的控管级别,这就好比城门守卫,管制进出城门的人员。如下图所示,目前防火墙的控管级别大致上区分为三层:
防火墙的控管级别
Packet Filtering:
Packet Filtering是最基本的防火墙控管,只能管控Network级别的数据包内容,因此过滤速度是三种级别中最快速的,相对的对于管控的安全性是最差的。举例来说,这就好像H君企图送杂志包裹给城内的A书店,Packet Filtering只检查H君的通行证,以及查询是否允许杂志包裹进入,如果答案是肯定的话就给予放行,否则给予阻挡。因此有可能H君所宣称的杂志包裹,实际上是邮包炸弹;同时也可能有人从中挟持H君的通行证,企图用伪冒身分闯关。
Stateful Inspection:
因为Packet Filtering不能有效地保证存取身分,因此有可能发生IP Spoofing的黑客事件,也就是伪冒身份的存取。Stateful Inspection就是为了弥补此一缺陷而改进的Packet Filtering技术,它位于MAC Layer,能持续追踪每一个开启端口的连线,直到连线终止。
Stateful Inspection
同前例,此时守卫在H君进入城门时验明正身后,一路上即予以监视录像,同时并联络A书店是否收到一件杂志包裹,直到H君送完包裹步出墙门后,整个监视过程才终止。因为一路上监视,因此能有效地防止H君被从中挟持而遭伪冒;虽然它能追踪包裹是否完整送达,但也可能宣称的杂志包裹其实是邮包炸弹!
Application Layer Gateway:
上述的两种控管机制,都无法完整管控整个数据包传递过程,Application Layer Gateway顾名思义是能控管到达每个Application,也就是说防火墙需要了解每个Application到底在作些什么事。因此要控管HTTP,防火墙就必须为HTTP写一个控管程序,这支程序知道HTTP实际上的运作内容为何。因为每种应用程序都有相对应的控管程序,因此Application Layer Gateway的防火墙可以完整地管控每个进出的数据包;同时与前两种控管机制不同的是,Application Layer Gateway会将连线存取的行为,转交由防火墙进行,而不是两端点间的直接连线。
Application Layer Gateway
同前例,H君要送杂志包裹给A书店,城门守卫验明正身后会将包裹接下,同时打开包裹检查是否为杂志,确认后由守卫亲自将包裹送达A书店。如此就不用担心是否包裹被从中掉包,同时确认包裹内容。