计算机工程
COMPUTER ENGINEERING
1999年 第25卷 第8期 Vol.25 No.8 1999



带身份认证和加密的Internet防火墙系统
王月桥，汪为农
摘要：介绍了有关Internet的安全问题，并设计一个带有身份认证和加密的防火墙系统的体系结构和功能结构；此外，还介绍了包过滤路由器的配置规则。
关键词：堡垒主机；包过滤；身份认证；拒绝服务
Internet Firewall System with Authenticatin and Encryption
Wang Yueqiao,Wang Weinong
(Center of Networkamp;Information,shanghai Jiaotong University,shanghai 200030)
【Abstract】This paper introduces the current of netowrk security,then it show,the architecture,its funtions and charateristics of a firewall system.And it discusses the rules with which the router is configured.
【Key words】Bastion host;Packet filtering;Authentication;Denial of services
1 网络安全现状 
　　Internet 最初由大学和科研机构使用，渐渐进入社会的各个行业。可以说 Internet 已与人们的日常生活紧密联系起来，而且有越来越多的机密信息利用 Internet 传送，随之产生了很多与 Internet 有关的安全问题。例如： 

注： R 代表包过滤路由器 
图 1 防火墙结构图 
　　(1) 企业安全意识淡薄 
　　所用的操作系统存在不安全因素，对外开放高风险的网络服务，却没有设置严密的安全防范措施，使企业的许多主机暴露在外，从而就为入侵者敞开了方便之门。 
　　(2) 黑客增多 
　　随着网络技术的普遍使用，网络黑客也应运而生，如今黑客遍布世界，其入侵手段越来越高明。在 Internet 上可以找到很多攻击网络和系统安全漏洞的小程序，黑客使用这些小程序来进行网络攻击，如 Crack 、 sniffer 、 SATATN 、 COPS 、 Tiger 等等。而且有许多专门的黑客站点，提供网络入侵的技术和工具，如 www.rootshell.com 、 www.10oht.com 、 www.2600.com 等。 
　　(3) 内部攻击不容忽视 
　　在网络黑客中，内部攻击者占很大的比重。但内部攻击经常被网络管理人员忽视，因为内部攻击者通常了解系统很多有用信息，从而进攻更易得手，造成的危害往往也更大。 
2 防火墙系统的体系结构
　　这个防火墙系统由两个包过滤路由器和一个堡垒主机构成，认为非常安全的防火墙系统，因为它支持应用层和网络层的安全功能。把代理服务器 (WWW 、 Email 、 FTP) 、身份认证系统、日志系统、加密系统放在堡垒主机中。堡垒主机位于外部网和内部网之间。 
　　(1) 包过滤路由器 是防火墙的第一道关卡，其对进入内部网的通信进行预先审查。包过滤路由器利用包过滤规则转发或丢弃数据包。过滤规则定义为：内部网络上的主机可以直接访问外部网络，而外部网络上的主机对内部网络的主机的访问是受限制的，并且，要阻塞设置源路由选项的数据包和假冒 DMZ 内主机地址的数据包。 
　　(2) DMZ 即不安全网络段。由于包过滤路由器允许外部网与 DMZ 内的主机进行通信使 DMZ 不安全，从安全的角度来看， DMZ 应属于 Internet 的一部分，尽管它在内部网的管理控制之下。 
　　(3) 堡垒主机 是位于内部网和 DMZ 之间的网关，内部网和 DMZ 之间的所有通信必须通过堡垒主机。堡垒主机运行安全，为 Internet 和内部网之间的信息交换提供条件。 
　　(4) IF1 是堡垒主机连接 DMZ 的网卡，为这块网卡配置的 IP 地址与 DMZ 内主机的 IP 地址具有相同的子网掩码，即它们处于同一子网内。 
　　(5) IF2 即堡垒主机连接内部网的网卡，为这块网卡配置的 IP 地址与内部网主机的 IP 地址具有相同的子网掩码，即它们处于同一子网内。 
3 包过滤路由器
　　包过滤路由器对接收到的每个数据包进行检查，以确定允许包通过、还是丢弃该包。路由器分析每个数据包的内容，以确定是否与一条包过滤规则匹配。过滤规则基于数据包的包头信息，包头信息包括 IP 源地址、 IP 目标地址、内装协议、 (TCP 、 UDP 、 ICMP 、 IP Tunnel) 、 TCP/UDP 目标端口、 ICMP 消息类型、包出入接口。如果有规则匹配并且允许该数据包通过，那么该数据包就会按照路由表中的信息被转发。如果规则拒绝该数据包通过，那么该数据包就会被丢弃。如果没有规则匹配，由用户配置的缺省参数来决定是转发还是丢弃该数据包。 
　　(1) 与服务相关的过滤 包过滤路由器可根据特定的服务允许或拒绝流动的数据包，因为多数的网络服务程序都与已知的 TCP/UDP 端口相连。例如， Telnet 服务器在 TCP 的 23 号端口上监听远端连接，而 SMTP 服务器在 TCP 的 25 号端口上监听到来自 Email 的信息。为了阻塞所有进入的 Telnet 连接，路由只需丢弃 TCP 端口号为 23 的数据包。为了限制外部主机登录到内部网的主机，路由器必须拒绝所有 TCP 端口号为 23 且 IP 地址不属于内部网地址的数据包。一些典型的过滤规则：
　　.允许进入的 Telnet 会话与指定的内部主机连接 
　　.允许进入的 FTP 会话与指定的内部主机连接 
　　.允许所有外出的 Telnet 会话 
　　.允许所有外出的 FTP 会话 
　　.拒绝所有来自特定的外部主机的数据包 
　　(2) 与服务无关的过滤 有几种类型的黑客攻击很难使用基本的包头信息来识别，因为这几种攻击与服务无关。针对这几种攻击的过滤规则很难指定，因为过滤规则需要附加某些信息，而且这些信息只能通过检查路由表和特定的 IP 选项才能识别出来。这几种攻击为： 
　　.源地址欺骗：是外部入侵者向内部发送具有内部主机 IP 地址的数据包。对于这种攻击，可丢弃所有来自路由器外部端口且 IP 地址为内部地址的数据包。 
　　.源路由攻击：是入侵者指定了数据包在 Internet 上所走的路线，这样可以让数据包旁路掉安全防御措施。路由器应该丢弃所有带有源路由选项的数据包。 
　　.极小数据片攻击：是入侵者使用了 IP 分片的特性，构造极小的 IP 包数据片并强行将 TCP 头信息分成多个数据包段。这种攻击可绕过用户定义的过滤规则。对于这种攻击，必须丢弃协议类型为 TCP/IP FragmentOffset 为 1 的数据包。 
4 堡垒主机的功能结构 
　　(1) 代理服务器 包括： WWW 、 SMTP 、 FTP 、 Telnet ，其特点如下： 
　　.每一个代理服务器都是一个简短的程序，专门为网络安全目的而设计，它只支持标准命令集合的子集。如果代理应用不支持某个命令，用户就没有使用该命令的权限。 
　　.代理服务器只允许被特定主机访问。 
　　.每个代理服务器与其它的代理服务器无关。如果某个代理服务器出现了安全漏洞，只需简单的卸掉该服务器，不会对其它服务器造成影响。这样也便于增加新的功能。 
　　.代理服务器除了读取初始化配置文件外，一般不进行磁盘操作。这使得入侵者很难安装特洛伊马程序或其它危险文件。 
　　.每个代理服务器都以非特权用户身份在堡垒主机的安全目录中运行。 
　　(2) 身份认证 身份认证是用来改善仅有简单口令保护的多用户操作系统安全性能的机制。防火墙采用的身份认证机制为一次性口令机制。如名字，口令仅使用一次。在一台主机上，用户不同时间所用的口令是不同的。一个用户在注册到远程主机之前，必须向主机表明身份并产生一个口令表，以用作挑战应答系统的一部分。这个表是由计算机生成的一些单词与单词搭配的词组或数字与单词搭配的词组对。 
grasstree
bananataste
goodhope
starsun

.单词与单词词组对22goodbay
23deautiful
24strong
25jump

.数字与单词词组对

　　如果某用户注册时得到的挑战为 “ grass ” ，用户必须应答 “tree” ，才能得到系统的认可。如果口令不慎被偷听到，因为“ grass ”不会再作为挑战出现， “tree” 也就没有用了。 
　　词汇表是用 S/Key 产生的，其特点是简单、灵活、代价低。 S/Key 使用一个与用户共享的秘密口令来生成词汇表，任何挑战只出现一次，然后口令作废。 
　　(3) 加密系统 堡垒主机的加密系统可对 Internet 和内部网之间的通信进行自动加密，经过这个系统加密的信息，除合法的发送和接受用户外，其它任何用户都不可读取，即每次通信都建立一条安全通道。在两地加密系统的保证下，信息是不可破译或破译后没有实际的用处。 
　　加密系统采用公开密钥技术。发送方用自己的私密密钥对信息加密后传送给接受方，接收方在收到信息后用发送方的公开密钥进行解密。双方用户为了使用公开密钥加密技术，发送方必须有自己的私密密钥和公开密钥，接收方必须知道发送方的公开密钥。 
　　防火墙区分一般数据包和加密包、密钥交换包的方法是让后者带有特殊的标记。标记的方式应该保证数据包仍然符合 TCP/IP 协议规范，使得其对于公共网具有透明性，而不至于被公众网中的路由器或其它设备过滤掉。加密包未引进额外数据，否则可能需要在源分片在目重组使其 MTU 符合公共网的要求。 IP 协议报头的标志字段中有若干位没有定义，可供任意使用。用其标记特殊包可以满足上述要求。 
　　密钥交换协议的源目为安全通道两端的防火墙。由于透明通道防火墙没有 IP 地址，使交换包无法在公共网中寻径。分配属于安全通道一端主机的某个端口用于密钥交换协议是一个可行的办法。所分配的端口应避免使用公共端口而引起冲突。端口和主机地址可由用户指定，并在安全通道配置文件中给出。协议缺省使用安全通道本端子网的第一个可用 IP 地址的端口 60000 ，采用无连接的 UDP 。由于防火墙将截获交换协议包，该主机不必真实存在。 
　　本防火墙使用的是 RSA 公开密钥算法。 RSA 公钥和密钥的管理和分发有成熟的解决方案。一般由用户自行生成公钥密钥，然后将公钥和用户身份电子或手工提交到认证机构 (Certificate Authority) ，由认证机构做民事调查后，签署认证书用以认证用户使用该公钥的权利。由于国内尚无具有法律认可的认证机构，防火墙系统使用的 RSA 公密钥由系统附带的应用程序生成；公钥无认证，以文件形式传递给其他防火墙系统。 
5 防火墙系统的特点 
　　连接 DMZ 的路由器用来管理外来的访问，检查进入内部网的信息，防范通常的外部攻击，它只允许外部访问堡垒主机 ( 还可能有信息服务器 ) 。连接内部网的路由器提供了第二层防御，它只接受来自堡垒主机的数据包，负责管理堡垒主机到内部网的访问。 
　　对于源于内的访问，连接内部网的路由器只允许内部用户访问堡垒主机或某些 Internet 站点。连接 DMZ 的路由器的过滤规则要求只接收来自堡垒主机的数据包。 
　　这个防火墙具有以下几个优点： 
　　(1) 入侵者必须突破 3 个不同的设备才能侵入内部网：外部路由器、堡垒主机、内部路由器。 
　　(2) 由于外部路由器只向外部网通告堡垒主机的存在，这样可以保证内部网对外是 “ 不可见 ” 的。并且只有 DMZ 网络上选定的系统才能对外部网开放。 
　　(3) 由于堡垒主机的存在，内部网用户只有通过堡垒主机上的代理系统才能与外界通信。 
作者单位：上海交通大学网络信息中心，上海 200030
参考文献 
1 Cheswick W R,Bellovin S M.Firewalls and Internet Security-- Repelling the Willy Hacker.ATamp;T Bell Lab.,1995 
2 Abrams M,Podell H.Computer and Network Security.Los Alam- itors,CA:IEEE Computer Society Press,1987 
3 Venema W.TCP Wrapper: Network Monitoring.ACCESS Control and Body Traps.USENIX Proceeding.UNIX Security Symposiunm III,1992-09 
