计算机应用
COMPUTER APPLICATIONS
1999年 第19卷 第6期 Vol.19 No.6 1999



防火墙技术与防火墙系统设计
肖　捷
　　摘　要　本文通过对防火墙系统的两种基本技术的分析，提出了防火墙系统总体设计的基本思想，并设计了一种基于包过滤技术、代理技术和身份验证技术相结合的实用防火墙系统。
　　关键词　包过滤技术，代理技术，身份验证
1　防火墙
　　随着Internet 在世界范围内的普及，网络安全问题变得愈来愈重要。 为了防止侵入者盗窃、修改或破坏系统上的数据，维护私用网络和防止对计算机资源的非授权使用，获得对Internet比较安全的应用，防火墙系统是一种重要的应用模式。
2　防火墙技术分析
　　根据ISO/OSI参考模型，防火墙技术主要分为两大类：一类是建立在网络层上的基于包过滤技术的防火墙;另一类是建立在应用层上的基于代理技术的防火墙。
2.1　包过滤技术防火墙
　　包过滤技术防火墙，也称网络层防火墙，作用于IP层，通常由过滤路由器来构建，其实现原理是：对每一个到达过滤路由器的IP包，过滤路由器从IP包头中获得有关信息，如：IP包头中协议类型、源IP地址、目的IP地址、源端口号、目的端口号及各种标志位等信息，根据过滤路由器中预先制订好的过滤规则进行检查，决定IP包的通过或阻塞，从而实现对IP包的过滤，其核心就是过滤规则的制订。连接结构如图1。这种防火墙技术的优点是简单方便，透明性好，速度快，对网络性能影响不大，缺点是正确建立和管理包过滤规则比较困难，同时还缺乏审计、跟踪及身份验证功能。

图1　过滤路由器防火墙系统连接结构
2.2　代理技术防火墙
　　代理技术防火墙，也称应用层防火墙，作用于应用层。其核心是运行于防火墙主机上的代理服务器进程，它代替网络用户完成特点的TCP/IP功能。一个代理服务器实际上是一个为特定网络应用而连接两个网络的网关，对于每一种不同的应用服务，都必须有一个相应的代理。外部网络和内部网络之间要建立连接，必须通过代理的中间转换，内部网络只接受代理服务提出的服务请求，拒绝外部网络的直接连接。连接结构如图2。这种防火墙技术的优点是它能完全控制通信双方的会话过程，具有用户级的身份验证、日志管理和帐号管理功能，提供了比过滤路由器更为严格的安全性，缺点是缺乏透明性，影响网络性能，必须针对每一项服务都建立对应的应用层网关，才能提供全面的安全保证，这势必严重限制新应用的采纳。能否开发一个包罗万象的代理服务器，将有利于新应用的挂接。

图2　代理服务器防火墙系统连接结构
　　综合上述两种防火墙技术的优缺点，在实际构建防火墙系统时，通常由过滤路由器和代理服务器组合在一起构成一个混合的多级防火墙系统，由过滤路由器提供第一级的安全防护，主要用于防止IP欺骗攻击，再由代理服务器提供更高级的安全防护机制。连接结构如图3。

图3　过滤路由器+代理服务器防火墙系统连接结构
3　防火墙系统总体设计基本思想
3.1　设计防火墙系统的拓扑结构
　　在确定防火墙系统的拓扑结构时，首先必须确定被保护网络的安全级别。从整个系统的成本、安全保护的实现、维护、升级、改造以及重要资源的保护等方面进行考虑，以决定防火墙系统的拓扑结构。通常有三种主要的拓扑结构。一、双宿主主机结构，通过在主机中插入两块网卡实现硬件连接，它是防火墙系统使用的最基本配置，这种防火墙主机的重要性是路由被禁止，网络段之间唯一的路径是通过应用层的服务程序来实现。二、屏蔽主网关结构，即由过滤路由器和代理主机分别实现包过滤和代理服务两级安全防护，其中代理主机是这种结构防火墙系统的中心主机，通常称为堡垒主机。三、屏蔽子网网关结构，即由两台路由器和一台堡垒主机构成一个中间的过滤子网，由其实现外部网与内部网的分离，但内部网、外部网都可以访问中间的过滤子网，显然，这种结构的安全性较好。
3.2　制定网络安全策略
　　不同的组织有各自特定的安全要求，在实现的过程中，有两条基本的安全策略原则，也即没有授权认可的服务都被禁止，不受授权限制的服务都被允许。前一条策略拒绝一切未经认可的服务，防火墙封锁所有的信息流，逐一完成每项许可的服务。后一条策略允许一切没有被禁止的服务，防火墙转发所有信息，逐一删除被禁止的服务。
3.3　确定包过滤规则
　　包过滤规则是以处理IP包头信息为基础，在设计包过滤规则时，一般先组织好包过滤规则 ，然后再进行具体设置。
3.4　规划代理服务器
　　代理服务器(PROXY)是防火墙系统中的一个服务器进程，安装运行在防火墙主机上，为内部网络与外部网络充当中继，阻止内部网络与外部网络的直接连接。由于它作用于应用层，故可以利用各种安全技术，如：身份验证、日志记录、审计跟踪等技术来加强内部网络安全性，解决包过滤所不能解决的问题，从而建立一个更加严密的防火墙系统。对于网络管理员来说，选择一个成熟且便于管理和配置的代理服务器程序非常重要，图4给出了代理服务器的逻辑结构。

FTP代理TELNET代理WWW代理……
用户身份验证模块
监控、记录模块

图4 代理服务器的逻辑结构
4　防火墙系统设计实例
　　按照防火墙系统总体设计基本思想，本文给出了一个基于包过滤技术、代理技术以及身份验证技术相结合的实用防火墙系统，拓扑结构如图5。该防火墙系统由一个内部路由器、一个代理服务器和一个边界路由器构成一个中间的过滤子网，以实施安全防护。

图5　实用防火墙系统拓扑结构
4.1　包过滤规则的设计
　　对于过滤路由器中过滤规则的设计，我们采用的安全策略是：不允许IP源路由，起于内部网络的服务允许给过滤子网中的代理服务器，允许外部网络到代理服务器的流量，允许过滤子网中代理服务器到内部网络的流量。设计的过滤规则如下表。采用这种过滤机制，使得路由器中的规则库仅包含3条规则，既方便维护和管理，又易于验证过滤规则的完备性和正确性。
表1　外部路由器过滤规则表

过滤规则号允许/拒绝源IP地址源端口号目的IP地址目的端口号协议ACK位描述
1允许外部网络＊代理服务器＊TCPACK　
2允许内部网络＊＊＊TCPACK　
3允许代理服务器＊＊＊TCPACK　

表2　内部路由器过滤规则表

过滤规则号允许/拒绝源IP地址源端口号目的IP地址目的端口号协议ACK位描述
1允许内部网络＊＊＊TCP＊　
2允许＊＊＊＊TCPACK　
3允许代理服务器＊＊＊TCP＊　

4.2　代理服务器的设计
　　代理服务器为内部网络和外部网络双方的通信充当中继，阻止内部网络和外部网络的直接连接，再辅以用户身份验证模块和监控、记录模块，可以完全控制通信双方的会话过程，提供更高级的安全性。本文提供了一种常用的代理服务模型，其逻辑结构如图6。

图6　代理服务器逻辑结构
　　我们选用Netscape Proxy server3.5代理服务器软件，在安装好代理服务器后，再设计一个代理服务器的配置文件，代理服务器根据该配置文件的源IP地址、目的IP地址和身份验证控制内外网络的访问权限，利用监控、记录模块实现对所有数据流的监控和记录，以提供网管所需的各种数据。另外，为了防止侵入者窃取系统口令文件和通过偷听网络连接来获取合法用户ID和口令，从而对内部网络进行攻击，本系统采用了一次性口令系统（OTP）对用户身份进行认证，以进一步提高整个网络系统的安全性。
5　结论
　　网络的安全性涉及许多方面，本文主要从防火墙的设计、实现方面进行探讨，给出了一种实用的防火墙构建模型，希望能给读者有所帮助。
作者简介：肖捷　工程师。研究方向：计算机网络及数据库系统。
作者单位：广东省韶关大学　广东.韶关（512005）
参考文献
［1］　（美）Chris Hare Karanjit Siyan,著.Internet防火墙与网络安全.北京:机械工业出版社,1998
［2］　（美）David Wolfe,著. Microsoft Proxy Server开发指南.北京:电子工业出版社,1998
［3］　(美)William A.T., Mary A.P., Keith A.B,著.Internet 使用大全.北京:清华大学出版社,1995
收稿日期:1999-01-10(修改稿)
