防火墙的安全性分析

发表于:2007-06-23来源:作者:点击数: 标签:
近年来, 网络犯罪的递增、大量黑客网站的诞生,促使人们思考网络的安全性问题。各种 网络安全 工具也跟着在市场上被炒得火热。其中最受人注目的当属网络安全工具中最早成熟,也是最早产品化的网络防火墙产品了。 目前防火墙产品已经进入战国时代,在全球至少

   
  近年来, 网络犯罪的递增、大量黑客网站的诞生,促使人们思考网络的安全性问题。各种网络安全工具也跟着在市场上被炒得火热。其中最受人注目的当属网络安全工具中最早成熟,也是最早产品化的网络防火墙产品了。

目前防火墙产品已经进入战国时代,在全球至少有千种以上的防火墙,那么防火墙到底是一种什么东西?它有那些技术指标?我们应该怎样选择一个合适的防火墙呢?本文试图就这些问题对防火墙进行探讨。
   。一. 防火墙是什么?
   所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络,防止他们更改、拷贝、毁坏你的重要信息
   。二.防火墙的安全技术分析
   防火墙对网络的安全起到了一定的保护作用,但并非万无一失。通过对防火墙的基本原理和实现方式进行分析和研究,我对防火墙的安全性有如下几点认识。
   1.正确选用、合理配置防火墙非常不容易
   防火墙作为网络安全的一种防护手段,有多种实现方式。建立合理的防护系统,配置有效的防火墙应遵循这样四个基本步骤:
   a. 风险分析;
   b. 需求分析
   c. 确立安全政策;
   d. 选择准确的防护手段,并使之与安全政策保持一致。
   然而,多数防火墙的设立没有或很少进行充分的风险分析和需求分析,而只是根据不很完备的安全政策选择了一种似乎能“满足”需要的防火墙,这样的防火墙能否“防火”还是个问题。
   2.需要正确评估防火墙的失效状态
   评价防火墙性能如何及能否起到安全防护作用,不仅要看它工作是否正常,能否阻挡或捕捉到恶意攻击和非法访问的蛛丝马纪,而且要看到一旦防火墙被攻破,它的状态如何? 按级别来分,它应有这样四种状态:
   a.未受伤害能够继续正常工作;
   b.关闭并重新启动,同时恢复到正常工作状态;
   c.关闭并禁止所有的数据通行;
   d.关闭并允许所有的数据通行。
   前两种状态比较理想,而第四种最不安全。但是许多防火墙由于没有条件进行失效状态测试和验证,无法确定其失效状态等级,因此网络必然存在安全隐患。
   3.防火墙必须进行动态维护
   防火墙安装和投入使用后,并非万事大吉。要想充分发挥它的安全防护作用,必须对它进行跟踪和维护,要与商家保持密切的联系,时刻注视商家的动态。因为商家一旦发现其产品存在安全漏洞,就会尽快发布补救(Patch) 产品,此时应尽快确认真伪(防止特洛伊木马等病毒),并对防火墙软件进行更新。
   4.目前很难对防火墙进行测试验证防火墙能否起到防护作用,最根本、最有效的证明方法是对其进行测试,甚至站在“黑客”的角度采用各种手段对防火墙进行攻击。然而具体执行时难度较大:
   a.防火墙性能测试目前还是一种很新的技术,尚无正式出版刊物,可用的工具和软件更是寥寥无几。据了解目前只有美国ISS公司提供有防火墙性能测试的工具软件。
   b.防火墙测试技术尚不先进,与防火墙设计并非完全吻合,使得测试工作难以达到既定的效果。
   c.选择“谁”进行公正的测试也是一个问题。
   可见,防火墙的性能测试决不是一件简单的事情,但这种测试又相当必要,进而提出这样一个问题:不进行测试,何以证明防火墙安全?
   5.非法攻击防火墙的基本“招数”
   a.通常情况下,有效的攻击都是从相关的子网进行的。因为这些网址得到了防火墙的信赖,虽说成功与否尚取决于机遇等其他因素,但对攻击者而言很值得一试。下面我们以数据包过滤防火墙为例,简要描述可能的攻击过程。
   这种类型的防火墙以IP地址作为鉴别数据包是否允许其通过的条件,而这恰恰是实施攻击的突破口。许多防火墙软件无法识别数据包到底来自哪个网络接口,因此攻击者无需表明进攻数据包的真正来源,只需伪装IP地址,取得目标的信任,使其认为来自网络内部即可。IP地址欺骗攻击正是基于这类防火墙对IP地址缺乏识别和验证的机制。
   通常主机A与主机B的TCP连接(中间有或无防火墙) 是通过主机A向主机B提出请求建立起来的,而其间A和B的确认仅仅根据由主机A产生并经主机B验证的初始序列号ISN。
   具体分三个步骤:
   1.主机A产生它的ISN,传送给主机B,请求建立连接;
   2.B接收到来自A的带有SYN标志的ISN后,将自己本身的ISN连同应答信息ACK一同返回给A;
   3. A再将B传送来的ISN及应答信息ACK返回给B。
   至此,正常情况,主机A与B的TCP连接就建立起来了。
   IP地址欺骗攻击的第一步是切断可信赖主机。
   这样可以使用TCP淹没攻击(TCPSynFloodAttack) ,使得信赖主机处于"自顾不暇"的忙碌状态,相当于被切断,这时目标主机会认为信赖主机出现了故障,只能发出无法建立连接的RST包而无暇顾及其他。
   攻击者最关心的是猜测目标主机的ISN。为此,可以利用SMTP的端口(25),通常它是开放的,邮件能够通过这个端口,与目标主机打开(Open) 一个TCP连接,因而得到它的ISN。在此有效期间,重复这一过程若干次,以便能够猜测和确定ISN的产生和变化规律,这样就可以使用被切断的可信赖主机的IP地址向目标主机发出连接请求。
   请求发出后,目标主机会认为它是TCP连接的请求者,从而给信赖主机发送响应(包括SYN) ,而信赖主机目前仍忙于处理Flood淹没攻击产生的"合法"请求,因此目标主机不能得到来自于信赖主机的响应。
   现在攻击者发出回答响应,并连同预测的目标主机的ISN一同发给目标主机。
   随着不断地纠正预测的ISN, 攻击者最终会与目标主机建立一个会晤。通过这种方式,攻击者以合法用户的身份登录到目标主机而不需进一步的确认。如果反复试验使得目标主机能够接收对网络的ROOT登录,那么就可以完全控制整个网络。
   归纳起来,防火墙安全防护面临威胁的几个主要原因有:SOCK的错误配置;不适当的安全政策; 强力攻击;允许匿名的FTP协议;允许TFTP协议;允许Rlogin命令;允许X-Windows或OpenWindows;端口映射;可加载的NFS协议;允许Win95/NT文件共享;Open端口。
   b.破坏防火墙的另一种方式是攻击与干扰相结合。也就是在攻击期间使防火墙始终处于繁忙的状态。防火墙过分的繁忙有时会导致它忘记履行安全防护的职能,处于失效状态。
   C.需要特别注意的是,防火墙也可能被内部攻击。因为安装了防火墙后,随意访问被严格禁止了, 这样内部人员无法在闲暇的时间通过Telnet浏览邮件或使用FTP向外发送信息,个别人会对防火墙不满进而可能攻击它、破坏它,期望回到从前的状态。这里,攻击的目标常常是防火墙或防火墙运行的操作系统,因此不仅涉及网络安全,还涉及主机安全问题。
   以上分析表明,防火墙的安全防护性能依赖的因素很多。防火墙并非万能,它最多只能防护经过其本身的非法访问和攻击,而对不经防火墙的访问和攻击则无能为力。
   从技术来讲,绕过防火墙进入网络并非不可能。
   目前大多数防火墙都是基于路由器的数据包分组过滤类型,防护能力差,存在各种网络外部或网络内部攻击防火墙的技术手段。
   三.防火墙的基本类型
   实现防火墙的技术包括四大类:网络级防火墙(也叫包过滤型防火墙)、应用级网关、电路级网关和规则检查防火墙。
   1.网络级防火墙
   一般是基于源地址和目的地址、应用或协议以及每个IP包的端口来作出通过与否的判断。一个路由器便是一个“传统”的网络级防火墙,大多数的路由器都能通过检查这些信息来决定是否将所收到的包转发,但它不能判断出一个IP包来自何方,去向何处。
   先进的网络级防火墙可以判断这一点,它可以提供内部信息以说明所通过的连接状态和一些数据流的内容,把判断的信息同规则表进行比较,在规则表中定义了各种规则来表明是否同意或拒绝包的通过。包过滤防火墙检查每一条规则直至发现包中的信息与某规则相符。如果没有一条规则能符合,防火墙就会使用默认规则,一般情况下,默认规则就是要求防火墙丢弃该包。其次,通过定义基于TCP或UDP数据包的端口
   号,防火墙能够判断是否允许建立特定的连接,如Telnet、FTP连接。 下面是某一网络级防火墙的访问控制规则:
   (1)允许网络123.1.0使用FTP(21口)访问主机150.0.0.1;
   (2) 允许IP地址为202.103.1.18和202.103.1.14的用户Telnet(23口)到主机150.0.0.2上;
   (3)允许任何地址的E-mail(25口)进入主机150.0.0.3;
   (4)允许任何WWW数据(80口)通过;
   (5)不允许其他数据包进入。
   网络级防火墙简洁、速度快、费用低,并且对用户透明,但是对网络的保护很有限,因为它只检查地址和端口,对网络更高协议层的信息无理解能力。
   2.应用级网关
   应用级网关能够检查进出的数据包,通过网关复制传递数据,防止在受信任服务器和客户机与不受信任的主机间直接建立联系。应用级网关能够理解应用层上的协议,能够做复杂一些的访问控制,并做精细的注册和稽核。但每一种协议需要相应的代理软件,使用时工作量大,效率不如网络级防火墙。
   常用的应用级防火墙已有了相应的代理服务器, 例如: HTTP、 NNTP、 FTP、Telnet、rlogin、X-windows等,但是,对于新开发的应用,尚没有相应的代理服务,它们将通过网络级防火墙和一般的代理服务。
   应用级网关有较好的访问控制,是目前最安全的防火墙技术,但实现困

原文转自:http://www.ltesting.net