第十一章防火墙技术11.1防火墙概述在互联网的环境中,某个特定网络(专用网络)与其他网络(公共网络)进行数据和信息的交换是互联网存在的目的。但这种信息的交换与共享是要在该网络利益的前提下,特别是在一定的网络安全策略指导下,通过控制和监测网络之间的信息交换和访问行为来实现网络安全的有效管理,使得网络的运行能够健康有序地正常发展。网络安全最开始的技术,也是源于单个主机系统的安全防范模式,即使用访问控制的方法,限制使用者访问系统或网络资源的权限,以达到规范网络行为的目的。于是防火墙技术也就应运而生,并且蓬勃发展起来。11.1.1防火墙的定义一般说来,防火墙并无严格的定义,它是一个或一组实施访问控制策略的系统。它在内部网络(专用网络)与外部网络(公用网络)之间形成一道安全屏障(如图11.1所示),以防止非法用户访问内部网络上的资源和非法向外传递内部信息,同时也防止这类非法和恶意的网络行为导致内部网络的运行遭破坏。在建筑上,防火墙被设计用来防止火灾从建筑物的一部分蔓延到内部一部分。网络防火墙防止外部网络的损坏涉及到内部网络,它就像在网络周围挖了一条护城河,在唯一的桥上设立了安全岗哨,进出的行人都要接受检查。由于防火墙的地位和作用是出于网络边界的位置,它可以由硬件、软件或它们的相互结合具体实现。Internet根据规则判断是防火墙否允许分组通过局域网图11.1防火墙的理论概念防火墙目的就是要通过各种控制手段,保护一个网络不受来自另一网络的攻击。形象地说,防火墙是在两个网络通信时,执行一种访问控制的尺度,它能够允许用户“同意”的人和数据进入他的网络,同时将用户“不同意”的人和数据拒之门外,阻止网络中黑客来访问他的网络,防止他们更改、拷贝、毁坏用户的重要信息。而且所谓的“火”还应该包括内部网络的“人”或数据未经许可访问和进入外部网络。因此,防火墙应该是双向的作用,即是一种将内部网络和外部网络在一定程度上隔离的技术。防火墙的基本思想,不是对每台主机系统进行保护,而是让所有对系统的访问通过某一点,并且保护这一点,并且尽可能的对外界屏蔽被保护网络的信息和结构。防火墙是设置在可信任的内部网络和不可信任的外界之间的一道屏障,它可以实施比较广泛的安全政策来控制信息流,防止不可预料的潜在的入侵破坏。防火墙可以是路由器,也可以是PC、主机系统或者是一批主机系统,专门用于把网点或子网同那些可能被子网外的主机系统滥用的协议和服务隔离。防火墙可以从通信协议的各个层次以及应用中获取、存储管理相关的信息,以便实施系统的访问安全决策控制。从逻辑上来说,防火墙是一个分离器,是一个限制器,是一个分析器。各站点的防火墙的结构是不同的,通常一个防火墙由一套硬件(如一个路由器,或其他设备的组合,一台堡垒主机)和适当的软件组成。组成的方式可以有很多种,这主要取决于站点的安全要求、经费的多少以及其他的综合因素。但是防火墙也不仅仅是路由器、堡垒主机或任何提供网络安全的设备的组合,它是安全策略的一部分。安全策略建立了全方位的防御体系来保护内部网络的信息资源。例如防火墙不再是提供访问控制(如IP包过虑、电路网关和应用网关)的系统,而且初步具备了VPN的某些功能。安全性能和处理速度始终是防火墙设计实现的重点,也是最难处理的一对矛盾。这就导致目前防火墙研制的两个侧重点:一是将防火墙建立在通用的安全操作系统和通用的计算机硬件平台上,利用已有平台提供的丰富功能,使防火墙具备尽可能多的安全服务。二是以提高速度为设计实现目标,利用快速处理器、ASIC和实施高效的操作系统实现防火墙,根据有关测试报告,这类防火墙的实际吞吐率接近线速。11.1.2防火墙的功能与优势现在很多的防火墙都支持对私有数据的加密,以保证通过Internet进行虚拟私人网络和商务活动不受损坏;对于企业本地网络与分支机构、商业伙伴和移动用户间安全通信的附加部分,防火墙还提供客户端认证功能,它只允许指定的用户访问内部网络或选择服务;另外,黑客从外部获取网络访问权的常用手段是欺骗,使数据报号是来自网络内部,对内部网络形成威胁,防火墙的反欺骗技术也是不可缺少的。但从基本要求上看,防火墙还是在两个网络之间执行控制策略的系统(包括硬件和软件),目的是不被非法用户入侵。它遵循的是一种允许或禁止业务来往的网络通信安全机制,也就是提供可控的过滤网络通信,只允许授权的通信。因此,对数据和访问的控制,对网络活动的记录,是防火墙发挥作用的根本和关键。无论何种类型的防火墙,从总体上来看,都应具有以下五大基本功能:过滤进出网络的数据;管理进出网络的访问行为;封堵某些禁止的行为;记录通过防火墙的信息内容和活动;对网络攻击的检测和告警。过滤进、出网络的数据:防火墙是任何信息进出网络的必经之路,它检查所有数据的细节,并根据事先定义好的策略允许或禁止这些数据进行通信。这种强制性的集中实施安全策略的方法,更多的是考虑内部网络的整体安全共性,不为网络中的每一台计算机提供特殊的安全保护,简化了管理,提高了效率。管理进、出网络的访问行为:网络数据的传输是通过不同的网络访问服务而获取的,只要对这些网络访问服务加以限制,包括禁止存在安全脆弱性的服务进出网络,也能够达到安全目的。即通过将动态的、应用层的过滤能力和认证相结合,实现、HTTP、FTP和Telnet等广泛的服务支持。记录通过防火墙的信息内容和活动:对一个网络内部已经连接到外部网络上的机构来说,重要的问题不是网络是否受到攻击,而是何时会受到攻击。网络管理员必须审计并记录所有通过防火墙的重要信息。如果网络管理员不能及时响应报警并审查常规记录,防火墙就形同虚设。在这种情况下,网络管理员永远不会知道防火墙是否受到攻击。对网络攻击检测和告警:封堵某些禁止的业务。传统的内部网络系统与外界相连后,往往把自己完全暴露在一些本身并不安全的服务下。因此,内部网络的安全就完全依赖于各个主机,而且要求各个主机有相同的安全度。就像单位没有设置传达室和门卫一样,任何人度可长驱直入得到各房间中去,特别是单位规模较大,更难以保证每个房间有较高的安全度。况且随着失误变得越来越普遍,很多“入侵”是由于配置或密码错误造成的,而不是故意和复杂的攻击。而防火墙的作用就是提高主机整体的安全性,概略地说只要包括有:1)控制不安全的服务防火墙可以控制不安全的服务,因为只有授权的协议和服务才能通过防火墙,这就大大的降低了内部网络的暴露度,提高了网络的安全度。从而使内部网络免遭来自于外界的基于某协议或服务的攻击。防火墙还能防止基于路由的攻击策略,拒绝这种攻击试探并将情况通知系统管理员。2)站点访问控制防火墙还提供了对站点的访问控制。比如,从外界可以访问某些主机,却不能非法地访问另一些主机,即在网络的边界上形成一道关卡。一般而言,一个站点应该对进来的外部访问有所选择,至于邮件服务和信息服务肯定是要开放的。如果一个用户很少提供网络服务,或几乎不跟别的站点打交道,防火墙就是它保护自己的最好选择。3)集中安全保护如果一个内部网络中大部分需要维护的软件,尤其是安全软件能集中放在防火墙系统上,而不是分散到每个主机中,会使整体安全保护相对集中,也相对便宜,简化网络的安全管理,提高网络的整体安全性。4)网络连接的日志记录及使用统计通过防火墙可以很方便的监视网络的安全性,并产生报警信号。当防火墙系统被配置为所有内部网络与外部Internet连接均需经过的安全系统时,防火墙就能过对所有的访问作出日志记录。日志是对一些可能的攻击进行分析和防范的十分重要的情报。可以使网络资源得到更好的使用。11.1.3防火墙的发展若以产品为对象,防火墙技术的发展可以分为四个阶段:第一阶段:基于路由器的防火墙由于多数路由器本身就包含有分组过滤功能,故网络访问控制功能可通过路由控制来实现,从而使具有分组过滤功能的路由器称为第一代防火墙产品。第一代防火墙产品的特点是:利用路由器本身的对分组的解析,以访问控制表方式实现对分组的过滤。过滤判决的依据可以是:地址、端口号、ICMP报文类型等。只有分组过滤的功能,且防火墙与路由器是一体的,对安全要求低的网络采用路由器附带防火墙的功能的方法,对安全性要求较高的网络则可单独利用一台路由器组防火墙。第一代防火墙产品的不足之处在于:路由协议十分灵活,本身具有安全漏洞,外部网络要探询内部网络十分容易。例如:在使用FTP协议时,外部服务器容易从20号端口上与内部网相连,即使在路由器设置了过滤规则,内部网络的20端口仍可由外部探寻。路由器上的分组过滤规则的设置和配置存在安全隐患。对路由器中过滤规则的设置和配置十分复杂,它涉及到规则的逻辑一致性,作用端口的有效性和规则集的正确性,一般的网络系统管理员难以胜任,加之一旦出现新的协议,管理员就得加上更多的规则去限制,这往往会带来很多错误。路由器防火墙的最大隐患是:攻击者可以“假冒”地址,由于信息在网络上是以明文传送的,黑客可以在网络上伪造假的路由信息欺骗防火墙。路由器防火墙的本质性缺陷是:由于路由器的主要功能是为网络访问提供动态的,灵活的路由,而防火墙则要对访问行为实施静态的、固定的控制,这是一对难以调和的矛盾,防火墙的规则设置会大大降低路由器的性能。第二阶段:用户化的防火墙工具套为了弥补路由器防火墙的不足,很多大型用户纷纷要求以专门开发的防火墙系统来保护自己的网络,从而推动了用户化的防火墙工具套的出现。作为第二代防火墙产品,用户化的防火墙工具套具有以下的特征将过滤功能从路由器中独立出来,并加上审计和告警功能;针对用户需求,提供模块化的软件包;软件可通过网络发送,用户可自己动手构造防火墙;与第一代防火墙相比,安全性提高了,价格降低了。由于是纯软件产品,第二代防火墙产品无论在实现还是维护上都对系统管理员提出了相当复杂的要求,并带来以下问题:配置和维护过程复杂、费时;对用户的技术要求高;全软件实现,安全性和处理速度均有局限;实践表明,使用中出现差错的情况很多。第三阶段:建立在通用操作系统上的防火墙它具有以下特点:是批量上市的防火墙专用产品;包括分组过滤或者借用路由器的分组过滤功能;装有专用的代理系统,监控所有协议的数据和指令;保护用户编程空间和用户可配置内核参数的设置;安全性和速度大为提高。第三代防火墙既有以纯软件实现的,也有以硬件方式实现的,随着安全需求的变化和使用时间的推延,仍表现出不少问题,比如:作为基础的操作系统及其内核往往不为防火墙管理者所知,由于原码的保密,其安全性无从保证;由于大多数防火墙厂商并非通用操作系统的厂商,通用操作系统的厂商不会对操作系统的安全性负责;从本质上看,第三代防火墙既要防止来自外部网络的攻击,还要防止来自操作系统厂商的攻击。用户必须依赖两方面的安全支持:一是防火墙厂商、二是操作系统厂商。第四阶段:具有安全操作系统的防火墙防火墙技术和产品随着网络攻击和安全防护手段的发展而演进,到1997年初,具有安全操作系统的防火墙产品面市,使防火墙产品步入了第四个发展阶段。具有安全操作系统的防火墙本身就是一个操作系统,因而在安全性上较之第三代防火墙有质量上的提高。获得安全操作系统的办法有两种:一种是通过许可证方式获得操作系统的源码;另一种是通过固化操作系统内核来提高可靠性,防火墙具有以下特点:防火墙厂商具有操作系统的源代码,并可实现安全内核;对安全内核实现加固处理:即去掉不必要的系统特性,加上内核特性,强化安全保护;对每个服务器、子系统都作了安全处理,一旦黑客攻破了一个服务器,它将会被隔离在此服务器内,不会对网络的其他部分构成威胁;在功能上包括了分组过滤、应用网关、电路级网关,且具有加密与鉴别功能;透明性好,易于使用。11.2防火墙的分类防火墙的分类并不统一,常见的有两种分法,一种是将其分成三类:包过滤路由器;应用层网关;电路层网关;另外一种方法分为两类:网络层防火墙;应用层防火墙。这是因为包过滤路由器工作在网络层,而且名字容易使人误解,所以许多人把包过滤路由器归为网络层防火墙,而应用层防火墙对应第一种分法里的应用层网关和电路层网关。这是因为电路