发信人: arclight (无是无非), 信区: CRC
标  题: 防火墙(Internet Firewall)
发信站: 紫 丁 香 (Mon Jun 21 18:23:04 1999), 转信



    近两年来, 越来越多的商业和政府机构连入Internet, 基于Web的贸易有了惊
人的增长。据"U.S News & World Report" 1995年11月的报道, 至少有250万北美
居民曾经通过Internet进行购物。由于Internet的日益商业化和社会化, 人们对
Internet的信息安全越来越关注。这种关注使得Internet Firewall技术有了迅速
的发展。
    所谓Firewall, 就是一个或一组系统, 它用来在两个或多个网络间加强访问
控制。它的实现有好多形式, 但原理确实很简单。你可以把它想象成一对开关, 一
个开关以来阻止传输, 另一个开关用来允许传输。不同的Firewall侧重点不同。从
某种意义上来说, Firewall实际上代表了你的网络访问原则。
    目前Internet上使用的应用程序通常很少考虑安全方面的要求, 而且广泛使用
 的应用程序可能隐藏着系统漏洞, 著名的莫里斯蠕虫(Worm)就利用了这一漏洞。
 此外, 网络上已经发现专门攻击TCP/IP协议的软件包, 它们试图寻找TCP/IP的弱点
 所在, 例如著名的Satan和ISS。Firewall必须在使内部网络运行的同时, 防止从未
 被授权的外部节点访问被保护的网络。
     虽然Firewall有很多种类型, 但大体上可以分为两类: 一类基于Packet filter
(包过滤形), 另一类基于Proxy Service(代理服务)。它们的区别在于基于 Packet
filter的Firewall通常直接转发报文, 它对用户完全透明, 速度较快。而基于Proxy
的Firewall则不是如此, 它通过Proxy Server来建立连接, 它可以有更强的身份验证
(Authentication)和注册(log)功能。下面, 我们来讨论这两种不同的模式。


         一.     Packet filter

    Packet filter通常基于IP Packet的源或目标IP地址或TCP端口。用户可能不会
察觉到Packet filter的存在, 除非他是非法用户而被拒绝了。Packet Filter比起
其它模式的Firewall有着更高的网络性能和更好的应用程序透明性。当然, 由于Packet
filter无法有效地区分同一IP地址的不同用户, 它的安全性相对较低。
    Packet filter通常安装在路由器上, 并且许多常用的商业路由器缺省配置提供
Packet filter。另外那些用来充当路由器的PC机上同样可以安装Packet Filter, 而且
可能会有更强的功能。因此基于Packet filter的Firewall又被称为基于路由器的Firewall。
也许你还没有听说过smart Packet filter, 它与普通的Packet filter没有太大的区别,
只是它能允许通常应被拒绝的连接。例如, 它应当懂得FTP的Port命令, 允许建立反向
连接。然而smart Packet filter还是无法区别同一节点的不同用户。ALF就是一个高
性能的smart Packet filter的例子。
    地址和端口号是网络层和传输层的特性, 但Packet filter同样可以在应用层工
作。Internet的应用程序同常有约定俗成的专用端口号。例如, Telnet应用程序总是
TCP端口23上运行。因此, 有可能设置一个Firewall, 来阻止向内部节点发送Telnet
请求的企图。
    使用Packet filter模式的Firewall好处在于, 在原有网络上增加这样的Firewall
几乎不需要任何额外的费用。因为差不多所有的路由器都可以对通过的Packet进行过
滤, 而路由器对一个网络与Internet连接是必不可少的。目前, 已安装的Firewall 80%
都是Packet filter模式的Firewall, 它们不过是在连接内部网络与Internet的路由器
上设置了一些过滤原则而已。
    常用的路由器如Cisco很容易设置一个Firewall。最早的Cisco路由器只能根据IP
进行过滤; 9.21以后的版本则可以检查出IP spoofing(冒充可靠节点), 而10.3以后的
版本有更好的性能。比如, 你可以根据TCP端口及连接建立的情况进行过滤, 而且在过
滤语法上也有了一定改进。商业的Packet filter比起一般的路由器增加可外部注册功
能和某些安全特性。例如可以对付IP spoofing。
    随着Firewall技术的发展, Packet filter的原理也被用于UDP和ICMP Packet。这
种本来基于IP的Packet filter更加低层化, 也使Packet filter能够具有更多的log特
性, 也使Firewall具有更大的安全性。Mazama Software Lab的Mazama Packet filter
正是具有这种能力的Firewall之一。它的原理也被应用于Limux 1.2X的Firewall软件包。
    除了商业Packet filter之外, 在网络上还可以得到一些免费的Packet filter软件
包。如对路由器而言, 有TAMU(ftp://net.tamu.edu/pub/security/TAMU);对PC型路由器
有Karlbridge(ftp://fet.net.chio-state.edu/pub/kbridge)。关于Cisco路由器上建立
Firewall的方法可以从下面获得: ftp://ftp.cisco.com/pub/acl-example.tar.Z。这些
例子或许稍微有些过时, 不过它们是很好的范例, 对网络管理员大有益处。通常, 你只
需根据自己的网络访问原则稍加修改, 就可以得到适合你的网络的Firewall。


       二.    Proxy Service

    Proxy Service使用了和Packet filter不同的方法。Proxy使用一个客户程序(或许
被修改过), 使用这个称序与特定的中间结点(Firewall)连接, 然后中间结点与期望的
服务器进行实际连接。与Packet filter所不同的是, 使用这种类型的Firewall, 外部
网络之间不存在直接连接。因此, 即使Firewall发生了问题, 外部网络也无法获得与
被保护的网络的连接。我们通常把那个中间结点称之为"dual-homed Host"(双端主机)。
    Proxy提供了详细的注册(log)及审计(audit)功能, 这大大提高乐网络的安全性, 也
为改进现有软件的安全性能提供了可能性。Proxy server运行在dual-homed Host上, 它
是基于特定应用程序的。为了通过Proxy支持一个新的协议, 必须改进Proxy以适应新协
议。一个流行的Proxy集是TIS Internet Firewll Toolkit(FWTK), 它包括针对telnet、
rlogin、ftp、X-Window、http/Web、NNTP/VSenet News的Proxy。还有一个通用的Proxy
系统是SOCKS, 它可以用来编译成Client端应用程序, 使这些程序通过Firewall工作。
SOCKS的优点在于易于使用, 可是缺乏身份验证和基于协议注册的功能。而FWTK则缺乏
足够的透明性, 用户必须经过一定的训练。最新的Proxy Server在透明性方面有了很大
的改进。
    Proxy Server通常由两个部分构成: server端程序和client程序。相当多的Proxy
Server要求使用固定的Client程序。例如socks要求适应SICKS的Client程序。如果网络
管理员不能改变所有的server和Client程序, 系统就不能正常工作。Proxy使网络管理员
有了更大的能力改善网络的安全特性。然而, 它也给软件开发者、网络系统员和最终用
户带来了很大的不便, 这就是使用Proxy的代价。也有一些标准的Client程序可以利用
Proxy Server通过Firewall运行, 如mail,FTP和telnet等。即便如此, 最终用户也许
还需要学习特定的步骤通过Firewall。
    透明性对基于Proxy Service的Firewall显然是一个大问题。即使是那些声称是透明
性Firewall的Proxy也期望应用程序使用特定的TCP或UDP端口。假如一个节点在非标准端
口上运行一个标准应用程序, Proxy将不支持这个应用程序。许多Firewall允许系统管理
员运行两个Proxy拷贝, 一个在标准端口运行, 另一个在非标准端口运行, 常用服务的最
大数目取决于不通的Firewall产品。
    基于Proxy Service的Firewall厂商正在开始解决这个问题。基于Proxy的产品开始
改进成能够设置常用服务和非标准端口。然而, 只要应用程序需要升级, 基于Proxy的
用户会发现他们必须发展新的Proxy。一个明显的例子是许多的Web浏览器中加入了大量
的安全措施。Firewall的购买者应留心询问Firewall厂商他们的产品到底能处理哪些应
用程序。
    另外, 基于Proxy Service的Firewall常常会使网络性能明显下降。在《Data Magzine》
95年11月的报道, 相当多的Firewall不能处理高负载的网络通信。在被其测试的20种商业
Firewall中, 在T1


条件下,只有两种没有发生session丢失的情况.由于一种被称为"denial of service"
的黑客手法对Firewall的网络性能提出了很高的要求,如果Firewall的网络性能太差,
就很容易受到这种攻击.

                       三  Firewall技术发展趋势
     从对Packet filter 和 Proxy的分析可以看出,这两种模式都有一定的缺陷,因
此人们正在寻找其他模式的Firewall,下面分别指出Firewall技术的几个发展趋向:
     *复合型(hybrid)Firewall
     由于对更高安全性的要求,有的厂商把基于Packet filter的方法和基于Proxy
service的方法结合起来,形成了新的Firewall产品.这种结合通常是以下两种方案之
一:
screened host(被屏蔽主机)或screened subnet(被屏蔽子网).在第一种方案中,一
个Packet filter路由器与Internet相连,同时,一个dual-homed Host安装在内部网
络.通常情况下,在路由器上设立过滤原则,使这个dual-homed Host成为Internet上
其他节点所能到达的唯一节点.这确保了内部网络不受未被授权的外部用户的攻击.
Screened subnet的方法与此相反,dual-homed Host放在这一子网内,用Packet filter
路由器使这一子网与内部网络分开.在许多Screened subnet的实现中,两个Packet
filter路由器放在子网的两端,在子网内构成了一个"非军事区"(DMZ即demi litarized
zone).象WWW和FTP这样的Internet服务器一般就放在DMZ中.在这两种方案中,dual-homed
host必须有高度的安全性能,能够抵抗来自外部的各种攻击,因此有的文献也把它称为
堡垒主机(bastion host).这个主机和Packet filter共同构成了整个Firewall的安全
基础.这样的方案构成了这样一个Firewall系统,数据在通过这个快速的Packet filter
系统时进行详细的注册(log)和审计(audit).
      *NAT(网络地址转换器)
      目前,有一些Firewall使用了NAT(Network Address Transtlater).NAT的原理就
好象一部电话总机,当不同的内部机器向外连接时使用相同的IP地址("总机号码");而内
部网络互相通讯时则使用内部IP地址("分机号码").这样做可以使内部网络不用担心自
己的IP地址与外界的IP地址发生冲突.
      使用NAT的网络,可以使内部网络对外部网络来说是不可见的.这给内部网络带来
了很大的安全好处,因为与外部网络的连接只能由内部网络发起.然而这对网络透明性提
出了严重的挑战.
      NAT的另外一个显而易见的可能用途是解决IP地址的匮乏问题,但对NAT可能带来的
一些不良后果值得重视.
      *Encrypting Router(加密路由器)
      加密路由器把通过路由器的内容进行加密和压缩,然后让它们通过"不可靠"的网
络传输,并在目的端进行解压缩和解密.加密路由器的使用将使Internet看上去更象一个
"私有网络".
      值得注意的是,在网络上使用加密传输,显然会涉及到一些法律问题.例如,在美国,
联邦政府要求得到加密算法和密钥,以便保证这些内容能得到监控.此事正在争论之中.
      *"身份证"(Authentication Token);
      "身份证"是一种可以用来验证用户身份的设备."身份证"使用challenge/response.
基于时间的代码序列或其他技术.在最简单的情况下,它可能是一张纸,上面是一次性口令
(one-time password)列表."身份证"使用的"one-time password"机制,使网络管理员有可
能根据时间,机器,要求的服务来确定安全方案.
      *安全内核(secured kernel)
      除了采用Proxy service以外,人们开始考虑在操作系统的层次上考虑安全性.人们
尝试把系统内核中可能引起安全性问题的部分从内核中剔除出去,从而使系统更安全.这
一策略的原理是用户不能得到不存在的服务.目前,已有一些商业Firewall推出了UNIX版
本的安全内核.
      *最少特权(the least privilege)
      Internet上有些基于存储转发的应用程序在运行时具有系统特权,这是一个重大的
安全漏洞.例如,最近版本的WUArchive ftpd存在一个漏洞使得在Internet上的任何一个用
户都可以获得运行这个程序的机器的系统特权.因此,在基于Proxy service的Firewall中,
要使得Proxy server具有最少的特权,最好不要以特权运行.一种可行的解决办法是使这些
server成为系统常驻进程,在UNIX系统中,这称为"CHOOT".

        上面提到了一些Firewall技术发展的新趋势,那么,将来的Firewall应该如何呢?
一个好的Firewall应该是具有高度安全性.高透明性.高网络性能的Firewall.然而,这些
特性是相互制约和相互影响的.因此,你需要根据你的网络访问原则来确定你的Firewall.
        另外,目前的Firewall对由数据驱动的攻击还没有好的解决办法.因此,更有效的
Packet filter能否对数据的内容进行更有效的管理也是值得注意的问题.

                四      我国的Firewall研究
        随着Internet在中国的迅速发展,Firewall技术引起了业界的广泛关注.目前,中
科院计算所信息安全实验室,中科院研究生院信息安全国家重点实验室已经对此开展研究,
到去年年底为止,在加密算法和身份验证算法(基于one-time password)方面已取得了一定
的进展.中科院高能物理研究所,中科院网络中心,清华大学都开始对Firewall技术表示了
极大的关注.中科院高能物理研究所还与美国有关方面开展国际合作,对信息安全和Fire
wall技术的发展进行跟踪.
        Firewall技术还处在一个发展阶段,仍有许多问题有待解决.例如,对于基于IP请
求的服务,如PPP,是被视为来自内部网络还是被视为来自外部网络呢?此外,如何对在我国
广泛使用的电话拨号(dial-in)服务上,如何用Firewall进行管理,也是在我国推广Firewall
时要考虑的问题之一.因此,密切关注Internet Firewall的最新发展,对推动Internet在我国
的健康发展有着重要的意义.

--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: sys03.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.045毫秒