防火墙是在网络之间执行控制策略的系统,它包括硬件和软件。防火墙保护的内部网络是可信任网络(TrusedNetwok),而外部网络是不可信任网络(Untrused Network)。防火墙的目的是保护内部网络的资源不被外部非授权用户使用,防止内部受到外部非法用户的攻击。
防火墙的主要功能如下。
(1)检查所有从外部网络进人内部网络的数据包
(2)检查所有从内部网络流出到外部网络的数据包。
(3)执行安全策略,限制所有不符合安全策略要求的数据包通过。
(4)具有防攻击能力,保证自身安全性的能力。
构成防火墙系统的两个基本部件是:包过滤路2(Packet Filering Router)和应用级网关(ApplicationGatewny)。最简单的防火墙由一个包过滤路由器组成,而复杂的防火墙系统是由包过滤路由器和应用级网关组合而成。由于组合方式有多种,所以防火墙的结构也有多种形式。
包过滤路由器也称为屏蔽路由器(Screening Router),它是被保护的内部网络与外部网络之间的第一道防线。路由器按照设置的分组过滤规则(即访问控制表),检查每个分组的源地址、目的地址,决定该分组是否应该转发。普通路由器只处理分组的网络层报头,不处理传输层报头,而包过滤路由器会检查TCP报头的端口号字节。包过滤规则通常基于部分或全部报头内容。
包过滤方法的优点:结构简单,便于管理,造价低。由于包过滤在网络层、传输层进行操作。这种操作对于应用层是透明的,所以不要求客户机与服务器程序做任何修改。包过滤方法的缺点:配置包过滤规则比较困难;包过滤只能工作在“内部主机可靠,外部主机不可靠”的假设上。它只能控制到主机级,无法涉及用户级,因此存在很大的局限性。
多归属主机(Multi-homed Host)又称为多宿主主机,它是具有多个网络接口卡的主机。多归属主机具有两个或两个以上的网络接口,每个网络接口与一个网络连接。由于具有在不同网络之间交换数据的“路由”能力,所以人们也将它称为网关(Gateway)。但是,如果将多归属主机用在应用层的身份认证与服务请求合法性检查上,这类有防火墙作用的多归属主机通常称为应用级网关”。
如果多归属主机连接两个网络,它可称为双归属主机(Dual-homed Host)。双归属主机可用于网络安全与网络服务代理。只要能确定应用程序访问控制规则,可采用双归属主机作为应用级网关,在应用层过摅进出内部网络的特定服务请求与响应。如果网关认为服务请求与响应会法将服务请求与响应转发到相应的服务器或主机。如果网关认为服务请求与响应非法,拒给用户的服务请求,丢弃相应的包,并且向网络管理员报警。
应用代理(Application Proxy)是应用级网关的另一种形式。应用级网关是以存储转发方式检查服务请求的用户身份是否合法,决定转发还是丢弃该服务请求。应用代理与应用级网关的不同之处在于:应用代理完全接管用户对服务器的访问隔离用户主机与被访问服务器间的数据交换通道。
从理论上来说,用一个双归属主机作为应用级网关,即可起到防火墙的作用。在这种结构中,应用级网关完全暴露给外部网络,应用级网关的自身安全会影响整个系统的工作,因此运行应用级网关软件的计算机系统必须非常可靠。人们将处于防火墙关键部位、运行应用级网关软件的计算机系统称为堡垒主机(Bastion Host)。
由于不同网络的安全策略与防护要求不同,所以防火墙系统的配置与结构有很大区别。任何一种结构的防火墙系统都由包过滤路由器与应用级网关组合而成。为了讨论方便,我们引人些符号,以简化防火墙系统的表示方法。
在实际的防火墙应用中,堡垒主机可以有两种具体实现方案。一种是应用级网关通过两个网卡,分别连接到两个网络中。另一种结构更简单,它只需通过一块网卡接人网络中,在包过滤路由器的配合下,同样可以起到堡垒主机的作用。
对于安全要求更高的应用领域,还可采用两个过滤路由器与两个堡垒主机组成S-BI-S -B1防火墙系统。外部包过滤路由器开始的部分是由网络系统所属的单位组建,因此属于单位的内部网络。外部包过滤路由器与外部堡垒主机构成防火墙的过滤子网。内部包过滤路由器与内部堡垒主机用来进一步保护内部网络的服务器与工作站。人们通常将必须向外部提供服务,并且安全要求相对较低的服务器(如E-mail服务器)连接在过滤子网,而将安全要求较高的服务器、工作站连接在内部网络的服务子网中。有人将过滤子网叫作安全缓冲区或非军事区 Demilitarized Zone,DMZ)。
DMZ 是指一个公共访问区城,任何非敏感、可直接访问的 Web、E-mail 服务器都放在DMZ中。DMZ 中的服务器系统是公开的,因此容易受到攻击,但在网络安全设计中已对放置在公共区域内的服务器安全,以及出现攻击做好应急处置预案,同时DMZ 与内部网络已实现防火墙保护下的逻辑隔离,DMZ 中服务器的安全状况对内部网络的安全不构成威胁。