第8章防火墙.ppt
第八章第八章 防火墙防火墙8.1 防火墙的原理防火墙的原理8.2 防火墙技术防火墙技术8.3 防火墙体系结构防火墙体系结构8.4 堡垒主机堡垒主机8.5 数据包过滤数据包过滤8.6 状态检测的数据包过滤状态检测的数据包过滤8.7 防火墙的发展趋势防火墙的发展趋势8.8 本章小结本章小结防火墙是建立在内外网络边界上的过滤封锁机制,内防火墙是建立在内外网络边界上的过滤封锁机制,内部网络被认为是安全和可信赖的,而外部网络(通常部网络被认为是安全和可信赖的,而外部网络(通常是是Internet)被认为是不安全和不可信赖的。防火墙)被认为是不安全和不可信赖的。防火墙的作用是防止不希望的、未经授权的通信进出被保护的作用是防止不希望的、未经授权的通信进出被保护的内部网络,通过边界控制强化内部网络的安全政策。的内部网络,通过边界控制强化内部网络的安全政策。防火墙在网络中的位置如图防火墙在网络中的位置如图8.1所示。所示。8.1 防火墙的原理防火墙的原理 8.1.1 防火墙的概念防火墙的概念图图8.1 防火墙在网络中的位置防火墙在网络中的位置防火墙通常是运行在一台或者多台计算机之上的一组防火墙通常是运行在一台或者多台计算机之上的一组特别的服务软件,用于对网络进行防护和通信控制。特别的服务软件,用于对网络进行防护和通信控制。但是在很多情况下防火墙以专门的硬件形式出现,这但是在很多情况下防火墙以专门的硬件形式出现,这种硬件也被称为防火墙,它是安装了防火墙软件,并种硬件也被称为防火墙,它是安装了防火墙软件,并针对安全防护进行了专门设计的网络设备,本质上还针对安全防护进行了专门设计的网络设备,本质上还是软件在进行控制。是软件在进行控制。如果没有防火墙,则整个内部网络的安全性完全依赖如果没有防火墙,则整个内部网络的安全性完全依赖于每个主机,因此,所有的主机都必须共同达到一致于每个主机,因此,所有的主机都必须共同达到一致的高度安全水平。也就是说,网络的安全水平是由最的高度安全水平。也就是说,网络的安全水平是由最低的那个安全水平的主机决定的,这就是所谓的低的那个安全水平的主机决定的,这就是所谓的“木木桶原理桶原理”,木桶能装多少水由最低的地方决定。网络,木桶能装多少水由最低的地方决定。网络越大,对主机进行管理使它们达到统一的安全级别水越大,对主机进行管理使它们达到统一的安全级别水平就越不容易。平就越不容易。防火墙隔离了内部网络和外部网络,它被设计为只运防火墙隔离了内部网络和外部网络,它被设计为只运行专用的访问控制软件的设备,而没有其他的服务,行专用的访问控制软件的设备,而没有其他的服务,因此也就意味着相对少一些缺陷和安全漏洞。此外,因此也就意味着相对少一些缺陷和安全漏洞。此外,防火墙也改进了登录和监测功能,从而可以进行专用防火墙也改进了登录和监测功能,从而可以进行专用的管理。如果采用了防火墙,内部网络中的主机将不的管理。如果采用了防火墙,内部网络中的主机将不再直接暴露给来自再直接暴露给来自Internet的攻击。因此,对整个内的攻击。因此,对整个内部网络的主机的安全管理就变成了防火墙的安全管理,部网络的主机的安全管理就变成了防火墙的安全管理,这样就使安全管理变得更为方便,易于控制,也会使这样就使安全管理变得更为方便,易于控制,也会使内部网络更加安全。内部网络更加安全。防火墙一般安放在被保护网络的边界,必须做到以下防火墙一般安放在被保护网络的边界,必须做到以下几点,才能使防火墙起到安全防护的作用:几点,才能使防火墙起到安全防护的作用:(1)所有进出被保护网络的通信必须通过防火墙。所有进出被保护网络的通信必须通过防火墙。(2)所有通过防火墙的通信必须经过安全策略的过所有通过防火墙的通信必须经过安全策略的过滤或者防火墙的授权。滤或者防火墙的授权。(3)防火墙本身是不可被侵入的。防火墙本身是不可被侵入的。总之,防火墙是在被保护网络和非信任网络之间进行总之,防火墙是在被保护网络和非信任网络之间进行访问控制的一个或者一组访问控制部件。防火墙是一访问控制的一个或者一组访问控制部件。防火墙是一种逻辑隔离部件,而不是物理隔离部件,它所遵循的种逻辑隔离部件,而不是物理隔离部件,它所遵循的原则是,在保证网络畅通的情况下,尽可能地保证内原则是,在保证网络畅通的情况下,尽可能地保证内部网络的安全。防火墙是在已经制定好的安全策略下部网络的安全。防火墙是在已经制定好的安全策略下进行访问控制,所以一般情况下它是一种静态安全部进行访问控制,所以一般情况下它是一种静态安全部件,但随防火墙技术的发展,防火墙或通过与件,但随防火墙技术的发展,防火墙或通过与IDS(入侵检测系统)进行联动,或自身集成(入侵检测系统)进行联动,或自身集成IDS功能,功能,将能够根据实际的情况进行动态的策略调整。将能够根据实际的情况进行动态的策略调整。防火墙具有如下几个功能:防火墙具有如下几个功能:(1)访问控制功能访问控制功能。这是防火墙最基本也是最重要。这是防火墙最基本也是最重要的功能,通过禁止或允许特定用户访问特定的资源,的功能,通过禁止或允许特定用户访问特定的资源,保护网络的内部资源和数据。需要禁止非授权的访问,保护网络的内部资源和数据。需要禁止非授权的访问,防火墙需要识别哪个用户可以访问何种资源。防火墙需要识别哪个用户可以访问何种资源。8.1.2 防火墙的功能防火墙的功能(2)内容控制功能内容控制功能。根据数据内容进行控制,比如。根据数据内容进行控制,比如防火墙可以从电子邮件中过滤掉垃圾邮件,可以过滤防火墙可以从电子邮件中过滤掉垃圾邮件,可以过滤掉内部用户访问外部服务的图片信息,也可以限制外掉内部用户访问外部服务的图片信息,也可以限制外部访问,使它们只能访问本地部访问,使它们只能访问本地Web服务器中的一部分服务器中的一部分信息。简单的数据包过滤路由器不能实现这样的功能,信息。简单的数据包过滤路由器不能实现这样的功能,但是代理服务器和先进的数据包过滤技术可以做到。但是代理服务器和先进的数据包过滤技术可以做到。(3)全面的日志功能全面的日志功能。防火墙的日志功能很重要。防火墙的日志功能很重要。防火墙需要完整地记录网络访问情况,包括内外网进防火墙需要完整地记录网络访问情况,包括内外网进出的访问,需要记录访问是什么时候进行了什么操作,出的访问,需要记录访问是什么时候进行了什么操作,以检查网络访问情况。就如银行的录像监视系统,记以检查网络访问情况。就如银行的录像监视系统,记录下整体的营业情况,一旦有什么事发生,就可以看录下整体的营业情况,一旦有什么事发生,就可以看录像,查明事实。防火墙的日志系统也有类似的作用,录像,查明事实。防火墙的日志系统也有类似的作用,一旦网络发生了入侵或者遭到破坏,就可以对日志进一旦网络发生了入侵或者遭到破坏,就可以对日志进行审计和查询。日志需要有全面的记录和方便的查询。行审计和查询。日志需要有全面的记录和方便的查询。(4)集中管理功能集中管理功能。防火墙是一个安全设备,针对。防火墙是一个安全设备,针对不同的网络情况和安全需要,需要制定不同的安全策不同的网络情况和安全需要,需要制定不同的安全策略,然后在防火墙上实施,使用中还需要根据情况改略,然后在防火墙上实施,使用中还需要根据情况改变安全策略,而且在一个安全体系中,防火墙可能不变安全策略,而且在一个安全体系中,防火墙可能不止一台,所以防火墙应该是易于集中管理的,这样管止一台,所以防火墙应该是易于集中管理的,这样管理员就可以很方便地实施安全策略。理员就可以很方便地实施安全策略。(5)自身的安全和可用性自身的安全和可用性。防火墙要保证自身的安。防火墙要保证自身的安全,不被非法侵入,保证正常的工作。如果防火墙被全,不被非法侵入,保证正常的工作。如果防火墙被侵入,防火墙的安全策略被修改,这样内部网络就变侵入,防火墙的安全策略被修改,这样内部网络就变得不安全。防火墙也要保证可用性,否则网络就会中得不安全。防火墙也要保证可用性,否则网络就会中断,网络连接就失去意义。断,网络连接就失去意义。另外防火墙还有如下附加的功能:另外防火墙还有如下附加的功能:(1)流量控制,针对不同的用户限制不同的流量流量控制,针对不同的用户限制不同的流量,可可以合理使用带宽资源。以合理使用带宽资源。(2)NAT(Network Address Translation,网络地,网络地址转换),是通过修改数据包的源地址(端口)或者址转换),是通过修改数据包的源地址(端口)或者目的地址(端口),来达到节省目的地址(端口),来达到节省IP地址资源,隐藏内地址资源,隐藏内部部IP地址的功能的一种技术。地址的功能的一种技术。(3)VPN(Virtual Private Network,虚拟专用网),虚拟专用网),指利用数据封装和加密技术,使本来只能在私有网,指利用数据封装和加密技术,使本来只能在私有网络上传送的数据能够通过公共网络(络上传送的数据能够通过公共网络(Internet)进行)进行传输,使系统费用大大降低。传输,使系统费用大大降低。对防火墙而言,网络可以分为对防火墙而言,网络可以分为可信网络可信网络和和不可信网络不可信网络。可信网络和不可信网络是相对的,一般来讲内部网络可信网络和不可信网络是相对的,一般来讲内部网络是可信网络,是可信网络,Internet是不可信网络;但是在内部网是不可信网络;但是在内部网络中,比如财务部网络需要特殊保护,在这里财务部络中,比如财务部网络需要特殊保护,在这里财务部网络是可信网络,其他的内部网络就变成了不可信网网络是可信网络,其他的内部网络就变成了不可信网络。对于服务器来说,比如络。对于服务器来说,比如Web服务器、数据库服务服务器、数据库服务器,内部网络和外部网络则都是不可信网络。器,内部网络和外部网络则都是不可信网络。8.1.3 边界保护机制边界保护机制防火墙的安放位置是可信网络和不可信网络的边界,防火墙的安放位置是可信网络和不可信网络的边界,它所保护的对象是网络中有明确闭合边界的网段。防它所保护的对象是网络中有明确闭合边界的网段。防火墙是可信网络通向不可信网络的惟一出口,在被保火墙是可信网络通向不可信网络的惟一出口,在被保护网络周边形成被保护网络与外部网络的隔离,防范护网络周边形成被保护网络与外部网络的隔离,防范来自被保护网络外部的对被保护网络安全的威胁,所来自被保护网络外部的对被保护网络安全的威胁,所以它是一种边界保护,它对可信网络内部之间的访问以它是一种边界保护,它对可信网络内部之间的访问无法控制,仅对穿过边界的访问进行控制。无法控制,仅对穿过边界的访问进行控制。防火墙放在可信网络的边界,直接面对的是不可信网防火墙放在可信网络的边界,直接面对的是不可信网络可能的攻击,面临络可能的攻击,面临Internet中的恶意访问者的攻击。中的恶意访问者的攻击。由于大多数主机操作系统和服务存在缺陷、薄弱点和由于大多数主机操作系统和服务存在缺陷、薄弱点和安全漏洞,系统的配置文件不当和口令选择失误都会安全漏洞,系统的配置文件不当和口令选择失误都会被恶意破坏者所利用,安全配置错误和失误越来越普被恶意破坏者所利用,安全配置错误和失误越来越普遍。遍。恶意破坏者主要有以下几种可能的攻击:恶意破坏者主要有以下几种可能的攻击:8.1.4 潜在的攻击和可能的对象潜在的攻击和可能的对象(1)入侵内部网络入侵内部网络。包括没有授权地访问内部网络,。包括没有授权地访问内部网络,盗取信息。比如进行地址欺骗,不可信网络的用户伪盗取信息。比如进行地址欺骗,不可信网络的用户伪装成可信网络的地址,从而绕过系统的认证实现进入装成可信网络的地址,从而绕过系统的认证实现进入被攻击系统;或者通过在内部网络中安装木马程序,被攻击系统;或者通过在内部网络中安装木马程序,实现对内部机器的控制。实现对内部机器的控制。(2)针对防火墙的攻击,使其失去功能。针对防火墙的攻击,使其失去功能。包括各种包括各种协议漏洞攻击和碎片攻击,控制防火墙,使防火墙死协议漏洞攻击和碎片攻击,控制防火墙,使防火墙死机或者失去本身应有功能。机或者失去本身应有功能。(3)拒绝服务攻击拒绝服务攻击。此种攻击现在非常普遍,对网。此种攻击现在非常普遍,对网络的危害非常大,是防火墙较难阻挡的攻击之一。它络的危害非常大,是防火墙较难阻挡的攻击之一。它主要有以下几种方式。主要有以下几种方式。Syn Flood:该攻击以多个随机的源主机地址向目该攻击以多个随机的源主机地址向目的主机发送的主机发送SYN包,而在收到目的主机的包,而在收到目的主机的SYN ACK后并不回应,这样,目的主机就为这些源主机建立了后并不回应,这样,目的主机就为这些源主机建立了大量的连接队列,而且由于没有收到大量的连接队列,而且由于没有收到ACK一直维护一直维护着这些队列,造成了资源的大量消耗而不能向正常请着这些队列,造成了资源的大量消耗而不能向正常请求提供服务。求提供服务。Smurf:该攻击向一个子网的广播地址发一个带该攻击向一个子网的广播地址发一个带有特定请求(如有特定请求(如ICMP回应请求)的包,并且将源地回应请求)的包,并且将源地址伪装成想要攻击的主机地址。子网上所有主机都回址伪装成想要攻击的主机地址。子网上所有主机都回应广播包请求而向被攻击主机发包,使该主机受到攻应广播包请求而向被攻击主机发包,使该主机受到攻击。击。Land based:攻击者将一个数据包的源地址和目攻击者将一个数据包的源地址和目的地址都设置为目标主机的地址,然后将该数据包通的地址都设置为目标主机的地址,然后将该数据包通过过IP欺骗的方式发送给被攻击主机,这种包可以造成欺骗的方式发送给被攻击主机,这种包可以造成被攻击主机因试图与自己建立连接而陷入死循环,从被攻击主机因试图与自己建立连接而陷入死循环,从而很大程度地降低了系统性能。而很大程度地降低了系统性能。Ping of Death:根据根据TCP/IP的规范,一个的规范,一个IP包的包的长度最大为长度最大为65 536B,但发送较大的,但发送较大的IP包时将进行分包时将进行分片,这些片,这些IP分片到达目的主机时又重新组合起来。在分片到达目的主机时又重新组合起来。在Ping of Death攻击时,各分片组合后的总长度将超过攻击时,各分片组合后的总长度将超过65 536B,在这种情况下会造成某些操作系统的宕机。,在这种情况下会造成某些操作系统的宕机。Teardrop:较大的较大的IP数据包在网络传递时,数据数据包在网络传递时,数据包可以分成更小的片段。攻击者可以通过发送两段包可以分成更小的片段。攻击者可以通过发送两段(或者更多)数据包来实现(或者更多)数据包来实现Teardrop攻击。第一个包攻击。第一个包的偏移量为的偏移量为0,长度为,长度为N,第二个包的偏移量小于,第二个包的偏移量小于N。为了合并这些数据段,为了合并这些数据段,TCP/IP堆栈会分配超乎寻常堆栈会分配超乎寻常的巨大资源,从而造成系统资源的缺乏甚至系统崩溃。的巨大资源,从而造成系统资源的缺乏甚至系统崩溃。Ping Sweep:使用使用ICMP Echo轮询多个主机,阻轮询多个主机,阻塞网络。塞网络。Ping Flood:该攻击在短时间内向目的主机发送该攻击在短时间内向目的主机发送大量大量ping包,造成网络堵塞或主机资源耗尽。包,造成网络堵塞或主机资源耗尽。现在的攻击方式在不断地增加,但是现在的攻击方式在不断地增加,但是主要的攻击方式主要的攻击方式可以分为以下几种:可以分为以下几种:(1)强度攻击强度攻击(即洪水攻击)。发送大量的无用数(即洪水攻击)。发送大量的无用数据包来堵塞网络带宽,使目标机器无法对正常的请求据包来堵塞网络带宽,使目标机器无法对正常的请求发生反应。发生反应。(2)协议漏洞攻击协议漏洞攻击。主要是针对系统的协议漏洞进。主要是针对系统的协议漏洞进行的攻击。行的攻击。(3)应用漏洞攻击应用漏洞攻击。主要是针对系统的应用漏洞进。主要是针对系统的应用漏洞进行的攻击,比如针对行的攻击,比如针对IIS的的Unicode漏洞的远程控制的漏洞的远程控制的攻击,针对攻击,针对FTP的漏洞的攻击等。的漏洞的攻击等。从原理上来讲,防火墙可以对以上各种攻击进行有效从原理上来讲,防火墙可以对以上各种攻击进行有效的检测和阻挡,不让这些攻击渗透到内部网络中。的检测和阻挡,不让这些攻击渗透到内部网络中。防火墙是一种安全设备,同时也是一种网络设备,它防火墙是一种安全设备,同时也是一种网络设备,它安放在网络系统中,需要和其他网络设备配合,以适安放在网络系统中,需要和其他网络设备配合,以适应各种网络环境,这样才能做到安全性和可用性的统应各种网络环境,这样才能做到安全性和可用性的统一。一。防火墙需要适应各种网络环境,这样就要求防火墙除防火墙需要适应各种网络环境,这样就要求防火墙除了在安全防护的功能之外,还需要具有各种网络设备了在安全防护的功能之外,还需要具有各种网络设备的功能,比如路由功能,支持各种路由协议,这样才的功能,比如路由功能,支持各种路由协议,这样才能和其他的路由器协同工作;能和其他的路由器协同工作;VLAN的支持,这样才的支持,这样才能支持划分了能支持划分了VLAN的网络;的网络;ADSL的支持,就能对的支持,就能对ADSL的接入方式提供安全保护。的接入方式提供安全保护。8.1.5 互操作性要求互操作性要求如果在已有的网络体系中添加防火墙,将可能影响整如果在已有的网络体系中添加防火墙,将可能影响整个网络的结构。所以防火墙要做到尽量配置灵活,使个网络的结构。所以防火墙要做到尽量配置灵活,使网络的改造工作尽量简单。一般防火墙是充当路由器网络的改造工作尽量简单。一般防火墙是充当路由器的角色,但是如果有些环境改变路由比较困难,防火的角色,但是如果有些环境改变路由比较困难,防火墙就需要工作在二层,作为一个桥接设备来使用,这墙就需要工作在二层,作为一个桥接设备来使用,这样就不需要改变路由,网络的结构就不需要改变,另样就不需要改变路由,网络的结构就不需要改变,另外防火墙可能还需要路由器和桥接混用的情况,以适外防火墙可能还需要路由器和桥接混用的情况,以适应复杂的网络环境。应复杂的网络环境。安装防火墙并不能做到绝对的安全,它有许多防范不安装防火墙并不能做到绝对的安全,它有许多防范不到的地方,具体如下:到的地方,具体如下:(1)防火墙不能防范不经由防火墙的攻击防火墙不能防范不经由防火墙的攻击。例如,。例如,如果允许从受保护网内部不受限制地向外拨号,一些如果允许从受保护网内部不受限制地向外拨号,一些用户可以形成与用户可以形成与Internet的直接的连接,从而绕过防的直接的连接,从而绕过防火墙,造成一个潜在的后门攻击渠道。火墙,造成一个潜在的后门攻击渠道。(2)防火墙不能防止感染了病毒的软件或文件的传防火墙不能防止感染了病毒的软件或文件的传输。输。这只能在每台主机上装反病毒软件。这是因为病这只能在每台主机上装反病毒软件。这是因为病毒的类型太多,操作系统也有多种,不能期望防火墙毒的类型太多,操作系统也有多种,不能期望防火墙去对每一个进出内部网络的文件进行扫描,查出潜在去对每一个进出内部网络的文件进行扫描,查出潜在的病毒,否则,防火墙将成为网络中最大的瓶颈。的病毒,否则,防火墙将成为网络中最大的瓶颈。8.1.6 防火墙的局限性防火墙的局限性(3)防火墙不能防止数据驱动式攻击防火墙不能防止数据驱动式攻击。有些表面看。有些表面看起来无害的数据通过电子邮件发送或者其他方式复制起来无害的数据通过电子邮件发送或者其他方式复制到内部主机上,一旦被执行就形成攻击。一个数据型到内部主机上,一旦被执行就形成攻击。一个数据型攻击可能导致主机修改与安全相关的文件,使得入侵攻击可能导致主机修改与安全相关的文件,使得入侵者很容易获得对系统的访问权。后面将会看到,在堡者很容易获得对系统的访问权。后面将会看到,在堡垒主机上部署代理服务器是禁止从外部直接产生网络垒主机上部署代理服务器是禁止从外部直接产生网络连接的最佳方式,能减少数据驱动型攻击的威胁。连接的最佳方式,能减少数据驱动型攻击的威胁。(4)防火墙不能防范恶意的内部人员侵入防火墙不能防范恶意的内部人员侵入。内部人。内部人员通晓内部网络的结构,如果他从内部入侵内部主机,员通晓内部网络的结构,如果他从内部入侵内部主机,或进行一些破坏活动,因为该通信没有通过防火墙,或进行一些破坏活动,因为该通信没有通过防火墙,所以防火墙无法阻止。所以防火墙无法阻止。(5)防火墙不能防范不断更新的攻击方式防火墙不能防范不断更新的攻击方式,防火墙,防火墙制定的安全策略是在已知的攻击模式下制定的,所以制定的安全策略是在已知的攻击模式下制定的,所以对全新的攻击方式缺少阻止功能。防火墙不能自动阻对全新的攻击方式缺少阻止功能。防火墙不能自动阻止全新的侵入,所以以为安装了防火墙就可以高枕无止全新的侵入,所以以为安装了防火墙就可以高枕无忧的思想是很危险的。忧的思想是很危险的。从实现技术方式来分类,防火墙可分为从实现技术方式来分类,防火墙可分为包过滤防火墙、包过滤防火墙、应用网关防火墙、代理防火墙和状态检测防火墙,应用网关防火墙、代理防火墙和状态检测防火墙,后后面分别详述。面分别详述。8.1.7 防火墙的分类防火墙的分类从形态上来分类,防火墙可以分为从形态上来分类,防火墙可以分为软件防火墙软件防火墙和和硬件硬件防火墙防火墙。软件防火墙提供防火墙应用软件,需要安装。软件防火墙提供防火墙应用软件,需要安装在一些公共的操作系统上,比如在一些公共的操作系统上,比如MS Windows或者或者UNIX,此类防火墙如,此类防火墙如Checkpoint防火墙。硬件防火防火墙。硬件防火墙是将防火墙软件安装在专用的硬件平台和专有操作墙是将防火墙软件安装在专用的硬件平台和专有操作系统(有些硬件防火墙甚至没有操作系统)之上,以系统(有些硬件防火墙甚至没有操作系统)之上,以硬件形式出现,有的还使用一些专有的硬件形式出现,有的还使用一些专有的ASIC硬件芯硬件芯片负责数据包的过滤。这种方式可以减少系统的漏洞,片负责数据包的过滤。这种方式可以减少系统的漏洞,性能更好,是比较常用的方式,比如性能更好,是比较常用的方式,比如Cisco的的PIX防火防火墙。墙。防火墙是网络的开放性和安全的控制性矛盾对立的产防火墙是网络的开放性和安全的控制性矛盾对立的产物。一方面网络的优势是它的互联互通性,用户希望物。一方面网络的优势是它的互联互通性,用户希望快捷顺畅地访问网站、收发电子邮件等;另一方面,快捷顺畅地访问网站、收发电子邮件等;另一方面,网络也是不安全的,所以需要使用防火墙对网络进行网络也是不安全的,所以需要使用防火墙对网络进行控制,添加安全规则,让用户通过登录来完成访问授控制,添加安全规则,让用户通过登录来完成访问授权,可这样会使用户感到繁琐,而且需要检查的安全权,可这样会使用户感到繁琐,而且需要检查的安全规则越多,网络性能就会越差。所以防火墙的访问效规则越多,网络性能就会越差。所以防火墙的访问效率和安全需求是一对矛盾,应该努力寻找平衡。防火率和安全需求是一对矛盾,应该努力寻找平衡。防火墙的访问效率一般是指防火墙的性能,根据墙的访问效率一般是指防火墙的性能,根据RFC2544网络设备的性能指标,网络设备的性能指标,防火墙主要有以下几防火墙主要有以下几个性能指标个性能指标(具体的指标术语由(具体的指标术语由RFC1242定义)。定义)。8.1.8 防火墙的访问效率和安全需求防火墙的访问效率和安全需求(1)吞吐量吞吐量:指防火墙在不丢失数据包的情况下能指防火墙在不丢失数据包的情况下能达到的最大的转发数据包的速率。这个指标反应了防达到的最大的转发数据包的速率。这个指标反应了防火墙转发包的能力,对网络的性能影响很大,吞吐量火墙转发包的能力,对网络的性能影响很大,吞吐量是防火墙性能中的一项非常重要的指标。如果防火墙是防火墙性能中的一项非常重要的指标。如果防火墙的吞吐量指标太低就会造成网络瓶颈,影响网络的性的吞吐量指标太低就会造成网络瓶颈,影响网络的性能。能。(2)时延时延:对存储转发设备,如路由器,是指从入对存储转发设备,如路由器,是指从入口处进入的输入帧的最后一个比特到达,到从出口发口处进入的输入帧的最后一个比特到达,到从出口发出的输出帧的第一个比特输出所用的时间间隔。这个出的输出帧的第一个比特输出所用的时间间隔。这个指标能够衡量出防火墙处理数据的快慢。指标能够衡量出防火墙处理数据的快慢。(3)丢包率丢包率:在特定负载下,指应由网络设备传输,在特定负载下,指应由网络设备传输,但由资源耗尽而丢弃帧的百分比。在连续负载的情况但由资源耗尽而丢弃帧的百分比。在连续负载的情况下,指防火墙设备由于资源不足应转发但却未转发的下,指防火墙设备由于资源不足应转发但却未转发的帧所占的百分比。丢包率是衡量防火墙设备稳定性和帧所占的百分比。丢包率是衡量防火墙设备稳定性和可靠性的重要指标。可靠性的重要指标。(4)背对背背对背:指从空闲状态开始,以达到传输介质指从空闲状态开始,以达到传输介质最小合法间隔极限的传输速率发送相当数量的固定长最小合法间隔极限的传输速率发送相当数量的固定长度的帧,当出现第一个帧丢失时所发送的帧数。背对度的帧,当出现第一个帧丢失时所发送的帧数。背对背的测试结果能够反映出防火墙设备的缓存能力、对背的测试结果能够反映出防火墙设备的缓存能力、对网络突发数据流量的处理能力。网络突发数据流量的处理能力。(5)并发连接数并发连接数:指穿越防火墙的主机之间或主机指穿越防火墙的主机之间或主机与防火墙之间能同时建立的最大连接数,并发连接数与防火墙之间能同时建立的最大连接数,并发连接数的测试主要用来测试被防火墙建立和维持的测试主要用来测试被防火墙建立和维持TCP连接的连接的性能。同时也能够通过并发连接数的大小体现防火墙性能。同时也能够通过并发连接数的大小体现防火墙对来自客户端对来自客户端TCP连接请求的响应能力。连接请求的响应能力。在选择防火墙时,应该结合在选择防火墙时,应该结合安全需求安全需求和和防火墙的性能防火墙的性能来进行选择。现在网络速度越来越快,对防火墙的要来进行选择。现在网络速度越来越快,对防火墙的要求也越来越高,一般的防火墙都能做到在满足安全需求也越来越高,一般的防火墙都能做到在满足安全需求的情况下保证性能,但是它们一般达不到线速,只求的情况下保证性能,但是它们一般达不到线速,只有通过专门的数据包过滤芯片才可以使防火墙真正达有通过专门的数据包过滤芯片才可以使防火墙真正达到线速。到线速。包过滤包过滤(Packet Filtering)技术技术是防火墙在网络层中根是防火墙在网络层中根据数据包中包头信息有选择地实施允许通过或阻断。据数据包中包头信息有选择地实施允许通过或阻断。依据防火墙内事先设定的过滤规则依据防火墙内事先设定的过滤规则,检查数据流中每检查数据流中每个数据包头部个数据包头部,根据数据包的源地址、目的地址、根据数据包的源地址、目的地址、TCP/UDP源端口号、源端口号、TCP/UDP目的端口号及数据包目的端口号及数据包头中的各种标志位等因素来确定是否允许数据包通过,头中的各种标志位等因素来确定是否允许数据包通过,其核心是安全策略即过滤规则的设计。一般来说,不其核心是安全策略即过滤规则的设计。一般来说,不保留前后连接信息,利用包过滤技术很容易实现允许保留前后连接信息,利用包过滤技术很容易实现允许或禁止访问。或禁止访问。8.2 防火墙技术防火墙技术 8.2.1 包过滤技术包过滤技术例如,基于特定的例如,基于特定的Internet服务的服务器驻留在特定服务的服务器驻留在特定的端口号的事实(如的端口号的事实(如TCP端口端口23用于提供用于提供Telnet服务)服务),使包过滤器可以通过规定适当的端口号来达到阻止,使包过滤器可以通过规定适当的端口号来达到阻止或允许到特定服务连接的目的,也可以通过规定协议或允许到特定服务连接的目的,也可以通过规定协议号,来达到阻止或允许协议的连接,并可进一步组成号,来达到阻止或允许协议的连接,并可进一步组成一套数据包过滤规则。一套数据包过滤规则。包过滤技术在防火墙上的应用非常广泛,因为包过滤技术在防火墙上的应用非常广泛,因为CPU用用来处理包过滤的时间相对很小,而且这种防护措施对来处理包过滤的时间相对很小,而且这种防护措施对用户透明,合法用户在进出网络时,根本感觉不到它用户透明,合法用户在进出网络时,根本感觉不到它的存在,使用起来很方便。但是因为包过滤技术是在的存在,使用起来很方便。但是因为包过滤技术是在IP/TCP层实现的,所以包过滤的一个很大的弱点是层实现的,所以包过滤的一个很大的弱点是不能在应用层级别上进行过滤,所以防卫方式比较单不能在应用层级别上进行过滤,所以防卫方式比较单一。但是现在已经有一些在一。但是现在已经有一些在IP层重组应用层数据的技层重组应用层数据的技术,从而可以对应用层数据进行检查,可以辨认一些术,从而可以对应用层数据进行检查,可以辨认一些入侵活动,达到很好的防护效果。入侵活动,达到很好的防护效果。包过滤技术作为防火墙的应用有两类:包过滤技术作为防火墙的应用有两类:一是路由设备一是路由设备在完成路由选择和数据转发之外,同时进行包过滤,在完成路由选择和数据转发之外,同时进行包过滤,这是目前较常用的方式;二是在一种称为屏蔽路由器这是目前较常用的方式;二是在一种称为屏蔽路由器的路由设备上启动包过滤功能。的路由设备上启动包过滤功能。应用网关应用网关(Application Gateway)与包过滤防火墙不同,与包过滤防火墙不同,它不使用通用目标机制来允许各种不同种类的通信,它不使用通用目标机制来允许各种不同种类的通信,而是针对每个应用使用专用目的的处理方法。虽然这而是针对每个应用使用专用目的的处理方法。虽然这样做看起来有些浪费,但却比任何其他方法安全得多,样做看起来有些浪费,但却比任何其他方法安全得多,因为不必担心不同过滤规则集之间的交互影响及对外因为不必担心不同过滤规则集之间的交互影响及对外部提供安全服务的主机中的漏洞,而只需仔细检查选部提供安全服务的主机中的漏洞,而只需仔细检查选择的应用程序。择的应用程序。8.2.2 应用网关技术应用网关技术应用网关技术是建立在网络应用层上的协议过滤,它应用网关技术是建立在网络应用层上的协议过滤,它针对特别的网络应用服务协议即数据过滤协议,并且针对特别的网络应用服务协议即数据过滤协议,并且能够对数据包进行分析并形成相关的报告。应用网关能够对数据包进行分析并形成相关的报告。应用网关对某些易于登录和控制所有输出输入的通信的环境给对某些易于登录和控制所有输出输入的通信的环境给予严格的控制予严格的控制,以防有价值的程序和数据被窃取。它以防有价值的程序和数据被窃取。它的另一个功能是对通过的信息进行记录,如什么样的的另一个功能是对通过的信息进行记录,如什么样的用户在什么时间连接了什么站点。在实际工作中用户在什么时间连接了什么站点。在实际工作中,应应用网关一般由专用工作站系统来完成。用网关一般由专用工作站系统来完成。有些应用网关还存储有些应用网关还存储Internet上那些被频繁使用的页上那些被频繁使用的页面。当用户请求的页面在应用网关服务器缓存中存在面。当用户请求的页面在应用网关服务器缓存中存在时,服务器将检查所缓存的页面是否是最新的版本时,服务器将检查所缓存的页面是否是最新的版本(即该页面是否已更新)。如果是最新版本,则直接(即该页面是否已更新)。如果是最新版本,则直接提交给用户;否则,到真正的服务器上请求最新的页提交给用户;否则,到真正的服务器上请求最新的页面,然后再转发给用户。面,然后再转发给用户。应用层网关的优点是它易于记录并控制所有的进出通应用层网关的优点是它易于记录并控制所有的进出通信,并对信,并对Internet的访问做到内容级的过滤,控制灵的访问做到内容级的过滤,控制灵活而全面,安全性高。应用级网关具有登记、日志、活而全面,安全性高。应用级网关具有登记、日志、统计和报告功能,有很好的审计功能,还可以具有严统计和报告功能,有很好的审计功能,还可以具有严格的用户认证功能。格的用户认证功能。应用层网关的缺点应用层网关的缺点是需要为每种应用写不同的代码,是需要为每种应用写不同的代码,维护比较困难,另外就是速度较慢。维护比较困难,另外就是速度较慢。状态检测状态检测(Stateful Inspection)防火墙现在应用非常广防火墙现在应用非常广泛,状态检测是一种相当于泛,状态检测是一种相当于4.5层的过滤技术,它不层的过滤技术,它不限于包过滤防火墙的限于包过滤防火墙的3/4层的过滤,又不需要应用层层的过滤,又不需要应用层网关防火墙的网关防火墙的5层过滤,既提供了比包过滤防火墙更层过滤,既提供了比包过滤防火墙更高的安全性和更灵活的处理,也避免了应用层网关防高的安全性和更灵活的处理,也避免了应用层网关防火墙带来的速度降低的问题。火墙带来的速度降低的问题。8.2.3 状态检测防火墙状态检测防火墙要实现状态检测防火墙,最重要的是实现连接的跟踪要实现状态检测防火墙,最重要的是实现连接的跟踪功能。对于单一连接的协议来说相对比较简单,只需功能。对于单一连接的协议来说相对比较简单,只需要数据包头的信息就可以进行跟踪;但对于一些复杂要数据包头的信息就可以进行跟踪;但对于一些复杂协议,除了使用一个公开端口的连接进行通信外,在协议,除了使用一个公开端口的连接进行通信外,在通信过程中还会动态建立子连接进行数据传输,而子通信过程中还会动态建立子连接进行数据传输,而子连接的端口信息是在主连接中通过协商得到的随机值,连接的端口信息是在主连接中通过协商得到的随机值,因此对于此类协议,用包过滤防火墙就只能打开所有因此对于此类协议,用包过滤防火墙就只能打开所有端口才能允许通信,但这会带来很大的安全隐患。端口才能允许通信,但这会带来很大的安全隐患。而对于状态检测防火墙,则能够进一步分析主连接中而对于状态检测防火墙,则能够进一步分析主连接中的内容信息,识别出所协商的子连接的端口而在防火的内容信息,识别出所协商的子连接的端口而在防火墙上将其动态打开,连接结束时自动关闭,充分保证墙上将其动态打开,连接结束时自动关闭,充分保证系统的安全。如使用系统的安全。如使用FTP协议进行数据传送时是通过协议进行数据传送时是通过另一个子连接进行的,状态检测防火墙能够通过跟踪另一个子连接进行的,状态检测防火墙能够通过跟踪主连接中的信息得到子连接所用的端口,自动确定允主连接中的信息得到子连接所用的端口,自动确定允许此连接的数据通过而不必另加规则。使用多个连接许此连接的数据通过而不必另加规则。使用多个连接的协议,除了的协议,除了FTP协议外,还有一些数据库通信使用协议外,还有一些数据库通信使用的协议、多媒体通信使用的协议等,状态检测防火墙的协议、多媒体通信使用的协议等,状态检测防火墙为能跟踪这些协议,就必须单独为各协议实现连接跟为能跟踪这些协议,就必须单独为各协议实现连接跟踪模块,而且一般要求这些协议在协商子连接端口时踪模块,而且一般要求这些协议在协商子连接端口时是明文协商,不能进行加密。是明文协商,不能进行加密。电路级网关电路级网关也被称为线路级网关,它工作在会话层。也被称为线路级网关,它工作在会话层。它在两个主机首次建立它在两个主机首次建立TCP连接时创立一个电子屏障。连接时创立一个电子屏障。它作为服务器接收外来请求,转发请求;与被保护的它作为服务器接收外来请求,转发请求;与被保护的主机连接时则担当客户机角色,起代理服务的作用。主机连接时则担当客户机角色,起代理服务的作用。它监视两主机建立连接时的握手信息,如它监视两主机建立连接时的握手信息,如SYN、ACK等标志和序列号等是否合乎逻辑,判定该会话等标志和序列号等是否合乎逻辑,判定该会话请求是否合法。一旦会话连接有效后网关仅复制、传请求是否合法。一旦会话连接有效后网关仅复制、传递数据,而不进行过滤。电路网关中特殊的客户程序递数据,而不进行过滤。电路网关中特殊的客户程序只在初次连接时进行安全协商控制,其后就透明了