1、第5章 防火墙技术第第5章章 防防火火墙墙技技术术5.1 防火墙的基本概念5.2 防火墙的体系结构和组合形式5.3 包过滤技术5.4 代理服务技术5.5 防火墙产品举例5.6 小结习题 第5章 防火墙技术5.1 防火墙的基本概念防火墙的基本概念防火墙是一种允许或阻止业务往来的网络通信安全机制,也就是提供可控的过滤网络通信,只允许授权的通信。本节介绍防火墙的定义、功能以及类型等基本概念。第5章 防火墙技术5.1.1 防火墙的定义及功能防火墙的定义及功能1防火墙的定义防火墙的定义防火墙是在两个网络之间执行访问控制策略的一组硬件和软件系统,其目的是保护本地网络的通信安全。如果形象地把两个网络想象成是
2、两个禁火区域,防火墙则是位于这两个区域之间的一道屏障,在出现火情时,它阻止火灾在这些区域之间蔓延,好像一堵墙一样,把火隔开。在计算机通信网络的访问控制系统中,它是一种允许或阻止业务往来的网络通信安全机制,也就是提供可控的过滤网络通信,只允许授权的通信。第5章 防火墙技术从逻辑上讲,防火墙是分离器、限制器和分析器。从物理角度看,各站点防火墙物理实现的方式有所不同。通常防火墙是一组硬件设备,在硬件上,它可能是一台路由器,也可能是一台普通的计算机,更多的情况下它可能是一台专用计算机。不管是什么样的硬件形式,都把它称为堡垒主机。其目的如同一个安全门,为门内的部门提供安全,控制受保护区域的出入。就像工作
3、在前门的安全警卫,检查并控制站点的访问者。在软件上,防火墙是实施安全控制策略的规则,防火墙软件就是这些规则在具体系统中实现的软件。这些软件具有网络连接、数据转发、数据分析、安全检查、数据过滤、操作记录等功能。第5章 防火墙技术2防火墙的功能防火墙的功能防火墙对内部网络的保护是双向的,从入的方向上看,它阻止外面网络对本地网络的非法访问和入侵,从出的方向上看,它控制本地网络对外部不良网络进行访问或者是未经允许的数据输出,防止内部信息的泄露。防火墙是由管理员为保护自己的网络免遭外界非授权访问但又允许与外部网络连接而发展起来的。从网络互联的角度看,防火墙可以看成是安装在两个网络之间的一道栅栏,根据安全
4、计划和安全策略中的定义来保护其后面的网络。利用防火墙能保护站点不被任意连接,甚至能建立跟踪工具,帮助总结并记录有关正在进行的连接资源、服务器提供的通信量以及试图闯入者的任何企图。第5章 防火墙技术3堡垒主机堡垒主机典型的防火墙建立在一台主机上,这台主机也称为堡垒主机,它是一个多边协议路由器。堡垒主机连接两个网络,如图5.1所示,一边与内部网相连,另一边与因特网相连。它的主要作用除了防止未经授权的来自因特网的访问外,还包括为安全管理提供详细系统活动的记录。在有的配置中,这个堡垒主机经常作为一个公共Web服务器或一个FTP或E-mail服务器使用。第5章 防火墙技术图5.1 防火墙在网络中的位置第
5、5章 防火墙技术从图5.1可以看出,所有来自因特网的传输信息或从内部网络发出的信息都必须穿过防火墙。因此,防火墙能够确保如电子信件、文件传输、远程登录或在特定的系统间信息交换的安全。防火墙的基本目的之一就是防止黑客侵扰站点。站点暴露于无数威胁之中,而防火墙可以帮助防止外部连接。因此,还应注意局域网内非法的Modem连接,特别是当Web服务器在受保护的区域内时。第5章 防火墙技术5.1.2 防火墙的作用防火墙的作用防火墙的作用可以体现在强化安全策略、有效记录网上活动、限制暴露用户、安全策略检查等方面。1强化安全策略强化安全策略因特网上每天都有上百万人浏览信息和交换信息,这样不可避免地会出现个别违
6、反规则的人。防火墙是为了防止不良现象发生的“交通警察”,它严格执行站点的安全策略,仅允许被认可的和符合规则的请求通过。2有效记录网上活动有效记录网上活动因为所有进出信息都必须通过防火墙,所以防火墙非常适用于收集系统和网络使用和误用的信息。作为访问的唯一点,防火墙可以有效地记录被保护的网络和外部网络之间进行的所有事件。第5章 防火墙技术3限制暴露用户限制暴露用户防火墙能够用来隔开网络中的一个网段与另一个网段,这样就能够有效地控制影响一个网段的问题通过整个网络传播。4安全策略检查安全策略检查所有进出网络的信息都必须通过防火墙,防火墙便成为一个安全检查点,使可疑的访问被拒绝。第5章 防火墙技术5.1
7、.3 防火墙的类型防火墙的类型根据防火墙对信息的分析、处理、过滤原理,防火墙可以分成包过滤型防火墙和代理型防火墙。1包过滤型防火墙包过滤型防火墙包过滤技术是在网络层对数据包进行选择。一般情况下,设有一个过滤规则,以访问控制列表的形式体现出来。通过检查数据流,对每个数据包的源地址、目的地址、所用的端口号、协议状态等因素进行检查,确定是否允许该数据包通过。数据包过滤防火墙逻辑简单,易于配置,网络性能和透明性好,它通常安装在路由器上。第5章 防火墙技术2代理型防火墙代理型防火墙代理型防火墙有两种形式。第一种形式是应用网关代理。这种类型的防火墙是在网络应用层建立协议过滤和转发功能。它针对特定的网络应用
8、服务协议使用指定的数据过滤逻辑,并在过滤的同时,对数据包进行必要的分析、登记和统计,形成报告。实际应用中的代理通常安装在专用工作站系统上。第二种形式是链路网关代理。这种类型的防火墙是针对数据包过滤和应用网关技术存在的缺点而引入的防火墙技术,其特点是将所有跨越防火墙的网络通信链路分为两段。防火墙连接的内外计算机系统之间应用层的链接,由代理服务器上的代理程序来实现,外部计算机的网络链路只能到达代理服务器,从而起到了隔离内外计算机系统的作用。第5章 防火墙技术5.1.4 防火墙的局限性防火墙的局限性在通信网络安全中,任何安全措施都不是万能的,都存在一定的缺陷,防火墙也不例外,它在对网络的安全防护上也
9、存在缺点,具有一定的局限性,主要表现在以下几个方面:(1)不能防范内部威胁。如果入侵者已经在防火墙内部,防火墙是无能为力的。防火墙可以禁止系统用户经过网络连接发送专有的信息,但用户可以将数据复制到磁盘、磁带上,放在公文包中带出去。内部用户偷窃数据,破坏硬件和软件,并且巧妙地修改程序而可以不用接近防火墙。对于来自知情者的威胁,只能要求加强内部管理,如主机安全防范和用户教育等。第5章 防火墙技术(2)不能防范绕开它的攻击。防火墙能够有效地防止通过它进行传输信息,然而不能防止不通过它而传输的信息。例如,如果站点允许对防火墙后面的内部系统进行拨号访问,那么防火墙绝对没有办法阻止入侵者进行拨号入侵,实施
10、攻击。(3)防火墙不能自动防御新威胁。从原理上讲,一个好的防火墙设计方案,可以防备新的威胁,但没有一个防火墙能自动防御所有新的威胁。(4)防火墙不能有效防范病毒。防火墙不能有效地消除网络上的计算机病毒。虽然许多防火墙扫描所有通过的信息,以决定是否允许它通过内部网络,但扫描是针对源、目标地址和端口号的,而不扫描数据的确切内容。即使是先进的数据包过滤,在病毒防范上也是不实用的,因为病毒的种类太多,有许多种手段可使病毒在数据中隐藏。第5章 防火墙技术事实上,大多数防火墙采用不同的可执行格式保护不同类型的机器。程序可以是编译过的可执行程序或者是一个副本,数据在网上传输时要分包,并经常被压缩,这样便给病
11、毒带来了可乘之机。无论防火墙是多么的安全,用户只能在防火墙后面清除病毒。第5章 防火墙技术5.2 防火墙的体系结构和组合形式防火墙的体系结构和组合形式防火墙的本质是一套具有访问控制机制的专用计算机软件,由于大部分防火墙软件安装在一台专用计算机上,因此,我们也可以把防火墙看成一台硬件设备。防火墙与网络其它设备进行连接,根据其安装的位置和访问控制过程,防火墙分成几种不同的体系结构。第5章 防火墙技术5.2.1 防火墙的体系结构防火墙的体系结构防火墙的体系结构可分为三种类型,即双重宿主主机体系结构、主机过滤体系结构和子网过滤体系结构。1双重宿主主机体系结构双重宿主主机体系结构双重宿主主机体系结构是围
12、绕具有双重宿主的主体计算机而构筑的。该计算机至少有两个网络接口,这样的主机可以充当与这些接口相连的网络之间的路由器,并能够从一个网络到另一个网络发送IP数据包。然而,实现双重宿主主机的防火墙体系结构禁止这种发送功能。第5章 防火墙技术因而,IP数据包并不是直接从一个网络(如因特网)发送到其它网络(如内部的、被保护的网络)。防火墙内部的网络系统能与双重宿主主机通信,同时防火墙外部的网络系统(在因特网上)也能与双重宿主主机通信。通过双重宿主主机,防火墙内外的计算机便可进行通信了,但是这些系统不能直接互相通信,它们之间的IP通信可以被完全阻止。双重宿主主机实际上是一台拥有两个IP地址的计算机或服务器
13、,为内、外部网络所共有,起到隔离内外网络的功能。双重宿主主机的防火墙体系结构是相当简单的,双重宿主主机位于两个网络之间,并且被连接到因特网和内部网络上。图5.2显示这种体系结构。第5章 防火墙技术图5.2 双重宿主主机体系结构第5章 防火墙技术2主机过滤体系结构主机过滤体系结构在主机过滤体系结构中提供安全保护的主机仅与内部网相连。另外,主机过滤结构还有一台单独的路由器(过滤路由器)。值得注意的是,包过滤就应避免用户直接与代理服务器相连。在这种体系结构中,主要的安全由数据包过滤提供,其结构如图5.3所示。第5章 防火墙技术图5.3 主机过滤体系结构第5章 防火墙技术在该体系结构中提供安全保护的堡
14、垒主机安装在内部网络上,过滤路由器位于内部网络和外部网络之间,通常在路由器上设置过滤规则,并使该主机成为从外部网络唯一可直接到达的主机,以确保内部网络不被末授权的外部用户攻击。堡垒主机与其它主机在同一子网上,一旦被攻破或越过,整个内部网络和堡垒主机之间就再也没有任何阻挡了,它会完全暴露在外部网络之上,因此堡垒主机必须是高度安全的计算机系统。屏蔽主机防火墙实现了网络层和应用层的安全,因而比单独的包过滤或应用网关代理更安全。在该方式中,过滤路由器是否配置正确是关键,如果路由器被攻破,堡垒主机就可能被越过,使内部网络完全暴露。第5章 防火墙技术图5.3中堡垒主机位于内部的网络上。从图中可以看出,在屏
15、蔽的路由器上的数据包过滤是按这样一种方法设置的,即堡垒主机是因特网上的主机连接到内部网络系统的桥梁(例如传送进来的电子邮件)。即使这样,也仅有某些确定类型的连接被允许。任何外部的系统试图访问内部的系统或者服务,都必须连接到这台堡垒主机上。因此,堡垒主机需要拥有高等级的安全。第5章 防火墙技术在屏蔽的路由器中,数据包过滤配置可以按下列方法执行:(1)允许其它的内部主机为了某些服务与因特网上的主机连接,即允许那些已经由数据包过滤的服务与主机连接。(2)不允许来自内部主机的所有连接,强迫那些主机由堡垒主机使用代理服务。用户可以针对不同的服务,混合使用这些手段。某些服务可以被允许直接由数据包过滤,而其
16、它服务可以被允许间接地经过代理,这完全取决于用户实行的安全策略。第5章 防火墙技术因为这种体系结构允许数据包从因特网向内部网移动,所以,它的设计风险较大。因此,保卫路由器比保卫主机较易实现,因为它仅仅提供非常有限的服务组。多数情况下,被屏蔽的主机体系结构提供比双重宿主主机体系结构更高的安全性和可用性。第5章 防火墙技术3子网过滤体系结构子网过滤体系结构子网过滤体系结构添加了额外的安全层到主机过滤体系结构中,即通过添加参数网络,更进一步地把内部网络与因特网隔离开。通过在参数网络上隔离堡垒主机,能减少堡垒主机被侵入的影响。可以说,它只给入侵者一些访问的机会,但不是全部机会。第5章 防火墙技术在防火
17、墙体系中,堡垒主机是用户网络上最容易受侵袭的主体。任凭用户尽最大的努力去保护它,它仍是最有可能被侵袭的,因为它的本质决定了它是最容易被侵袭的对象。在屏蔽主机体系结构中,用户的内部网络在没有其它防御手段时(除了它们可能有的主机安全之外,这通常是非常少的),一旦有人成功地侵入屏蔽主机体系结构中的堡垒主机,那就可以毫无阻挡地进入内部系统,因此,用户的堡垒主机是非常诱人的攻击目标。子网过滤体系结构的最简单的形式为两个过滤路由器,一个位于参数网与内部网络之间,另一个位于参数网与外部网络之间,其结构如图5.4所示。第5章 防火墙技术图5.4 子网过滤体系结构第5章 防火墙技术如果想侵入用这种类型的体系结构
18、构筑的内部网络,侵袭者必须要通过两个路由器,即使侵袭者设法侵入堡垒主机,他仍然需要通过内部路由器。在这种情况下,网络内部的单一的易受侵袭点便不存在了。第5章 防火墙技术1)参数网络参数网络是在内、外网之间另加的一层安全保护网络层。如果入侵者成功地闯过外层保护网到达防火墙,参数网络就能在入侵者与内部网之间再提供一层保护。在许多诸如以太网、令牌环网和FDDI等网络结构中,网络上的任意一台机器都可以观察到网络上其它机器的信息出入情况。入侵者还可以通过观测用户使用Telnet、FTP和Login等操作成功地窃取口令。即使口令不被泄露,入侵者仍能看到用户操作敏感文件的内容(如用户正在阅读的电子邮件等)。
19、第5章 防火墙技术如果入侵者仅仅侵入到参数网络的堡垒主机,则他只能偷看到这层网络(参数网络)的信息流,看不到内部网的信息,而这层网络的信息流仅从参数网络往来于外部网或者从参数网络往来于堡垒主机。因为没有纯粹的内部信息流在参数网络中流动,所以即使堡垒主机受到损害,也不会让入侵者破坏内部网的信息流。显而易见,往来于堡垒主机和外部网的信息流还是可见的。因此,设计防火墙就是确保上述信息流的暴露不会牵连到整个内部网络的安全。第5章 防火墙技术2)堡垒主机在子网过滤结构中,我们将堡垒主机与参数网络相连,而这台主机是外部网服务与内部网的主节点。它为内部网服务的主要内容有:(1)接收外来的电子邮件(SMTP)
20、,再分发给相应的站点。(2)接收外来的FTP,并将它连到内部网的匿名FTP服务器上。(3)接收外来的有关内部网站点的域名服务。第5章 防火墙技术这台主机向外(由内部网的客户向外部服务器)的服务功能可用以下方法来实施:(1)内、外部路由器上建立包过滤,以便内部网的用户可直接操作外部服务器。(2)在主机上建立代理服务,在内部网的用户与外部的服务器之间建立间接的连接。也可以在设置包过滤后,允许内部网的用户与主机的代理服务器进行交互,但禁止内部网用户与外部网进行直接通信。第5章 防火墙技术在出现服务请求的情况下,由堡垒主机安全机制决定是否允许它向外部网络传送信息,或者是否允许它从外部网输入信息。不管它
21、是在为某些协议(如FTP或http)运行特定的代理服务软件,还是在为代理协议(如 SMTP)运行标准服务软件,堡垒主机做的主要工作还是为内外部服务请求进行代理。第5章 防火墙技术3)内部路由器内部路由器也称为阻流路由器,它的主要功能是保护内部网免受来自外部网络与参数网络的侵扰。内部路由器完成防火墙的大部分包过滤工作,它允许某些站点的包过滤系统认为符合安全规则的服务在内外部网之间互传(各站点对各类服务的安全确认规则是不同的)。根据各站点的需要和安全规则,可允许的服务是若干种外向服务,如Telnet、FTP或者其它服务。内部路由器可以设定,使参数网络上的堡垒主机与内部网之间传递的各种服务和内部网与
22、外部网之间传递的各种服务不完全相同。限制一些服务在内部网与堡垒主机之间互传的目的是减少在堡垒主机被侵入后而受到入侵的内部网主机的数目。第5章 防火墙技术应该根据实际需要来限制允许在堡垒主机与内部网站点之间可互传的服务数目,如SMTP、DNS等。还能对这些服务做进一步的限定,限定它们只能在提供某些特定服务的主机与内部网的站点之间互传。比如,对于SMTP,就可以限定站点只能与堡垒主机或内部网的邮件服务器通信。对其余情况可以从堡垒主机上申请连接到的主机就更要加以仔细保护,因为这些主机将是入侵者打开堡垒主机保护后首先能攻击到的机器。第5章 防火墙技术4)外部路由器外部路由器,有时也称为接触路由器,既保
23、护参数网络,又保护内部网。实际上,在外部路由器上仅做一小部分包过滤,它几乎让所有参数网络的外向请求通过,而外部路由器与内部路由器的包过滤规则基本上是相同的。也就是说,如果安全规则上存在疏忽,那么,入侵者可用同样的方法通过内、外部路由器。由于外部路由器一般是由外界(如因特网服务供应商)提供的,因此对外部路由器可做的操作是受限制的。网络服务供应商一般仅会在该路由器上设置一些普通的包过滤,而不会专门设置特别的包过滤,或更换包过滤系统。因此,对于安全保障而言,不能像依赖于内部路由器一样依赖于外部路由器。第5章 防火墙技术外部路由器的包过滤主要是对参数网络上的主机提供保护。然而,一般情况下,因为参数网络
24、上主机的安全主要通过主机安全机制加以保障,所以由外部路由器提供的很多保护并非必要。外部路由器真正有效的任务就是阻断由外部网上伪造源地址进来的任何数据包。这些数据包自称是来自内部网,而其实它来自外部网。内部路由器也具有上述功能,但它无法辨认来自参数网络的包是否是伪造的。因此,内部路由器不能保护参数网络上的系统免受伪数据包的侵扰。第5章 防火墙技术5.2.2 防火墙的组合形式防火墙的组合形式建立防火墙的主要目的是保护内部网络免受来自外部网络的侵扰,但在内部网络中,用户的需要也是千差万别的,它们的权限以及对安全的要求也是不同的,需要用划分子网等形式来区别不同特征的用户。这些子网也需要加以保护,以免受
25、内部的其它用户的侵袭,即在同一结构的两个部分之间,或者在同一内部网的两个不同组织结构之间再建立防火墙,也就是内部防火墙。许多用于建立外部防火墙的工具和技术也可用于建立内部防火墙。第5章 防火墙技术现代防火墙通常将多种安全技术相结合,以满足不同级别、不同环境的安全需要。在实际建立防火墙时,一般也很少采用单一的技术,通常采用多种可以解决不同问题的技术的组合。这种组合主要取决于网管中心向用户提供什么样的服务,以及网管中心能接受什么等级的风险。采用哪种技术主要取决于投资的大小、设计人员的技术、时间等因素。防火墙的组合形式,可以是堡垒主机与堡垒主机的组合、内部路由器与外部路由器的组合、堡垒主机与路由器的
26、组合以及双重宿主主机与子网过滤的组合等。第5章 防火墙技术1使用多堡垒主机使用多堡垒主机多堡垒主机是堡垒主机与堡垒主机的组合形式。这种组合形式中,如果一台堡垒主机被攻击瘫痪,可由另一台堡垒主机提供服务。为了保证堡垒主机的安全,在设计多堡垒主机时,通常要遵循一定的原则。第一个原则是,堡垒主机越简单,堡垒主机本身的安全越有保证。因为堡垒主机提供的任何服务都可能出现软件缺陷或配置错误,而且缺陷或错误都可能导致安全问题。因此,堡垒主机应尽可能少些服务,它应当在完成其作用的前提下,提供它能提供的最小特权的最少服务。第二个原则是,做好堡垒主机将被侵袭的准备。第5章 防火墙技术尽管用户尽了最大的努力确保堡垒
27、主机的安全,但侵入仍可能发生。只有预先考虑最坏的情况,并提出对策,才有可能避免它。如果一台堡垒主机受到侵袭,可以通过切断内部机器对堡垒主机的信任来防止侵袭蔓延,同时能将信任切换到另一台堡垒主机。我们需要仔细地检查堡垒主机提供给内部机器的每一项服务,并且确定每一项服务实际上需要多少信任与特权。第5章 防火墙技术2内部路由器与外部路由器的组合内部路由器与外部路由器的组合可以将内部路由器与外部路由器合并为一个路由器,合并后的路由器应该具有更加强大的功能性和灵活性,合并的路由器在每一个接口上指定入站和出站的过滤器。如果用户合并内部和外部路由器,用户将仍然拥有参数网络连接和到用户的内部网的连接。某种通信
28、将在内部网和因特网之间直接传输。同时,其它通信将在参数网络与因特网或者周边网与内部网之间进行。这种体系结构与屏蔽主机体系结构类似,具有站点易受单一路由器损害的缺点。虽然,路由器比主机更容易保护,但它们也是不难渗透的。第5章 防火墙技术3堡垒主机与路由器的组合堡垒主机与路由器的组合在堡垒主机与外部路由器组合的情况下,用户使用单一的双重宿主主机作为用户的堡垒主机和外部路由器。比如用户仅有对因特网的拨号SLIP或者PPP连接,在这种情况下,用户也许在他的堡垒主机上运行一些如 Morning Star之类的 PPP软件包,并且让它充当堡垒主机和外部路由器。这样,它在功能上同子网过滤体系结构中的堡垒主机
29、、内部路由器和外部路由器配置是等价的。在堡垒主机与内部路由器组合的情况下,如果将堡垒主机与内部路由器合并,其实已从根本上改变了防火墙的结构,这种组合对加强网络的安全性意义不大。第5章 防火墙技术4使用双重宿主主机与子网过滤的组合使用双重宿主主机与子网过滤的组合通过组合双重宿主主机体系结构与子网过滤体系结构,用户的安全防范便可得到明显的增强,这可以通过拆分参数网络并且插入双重宿主主机实现。路由器可以提供保护,以免受到伪装干扰,并且保护双重宿主主机启动路由通信免遭失败。双重宿主主机提供比数据包过滤更细微的连接控制。这种称之为皮带和挂钩式的防火墙,提供了极好的多层保护,虽然它对配置双重宿主主机的要求
30、较高。第5章 防火墙技术5.3 包包过过滤滤技技术术基于协议特定的标准,网络转发设备能够区分包和限制包的能力称为包过滤。数据包是网络上信息流动的单位。在网上传输的文件一般在发出端被划分成一串数据包,经过网上的中间站点,最终传到目的地,然后这些包中的数据又重新组成原来的文件。每个包由包头和数据两部分组成。包头中含有源地址和目标地址等信息。包过滤一直是一种简单而有效的方法。通过拦截数据包,读出并拒绝那些不符合标准的包头,过滤掉不应入站的信息。简单的防火墙可以是在路由器上安装一套具备包过滤功能的软件,这是使因特网连接更加安全的一种简单方法,因为包过滤是路由器的固有属性。第5章 防火墙技术5.3.1
31、包过滤原理包过滤原理 1包的概念包的概念包过滤是一种安全机制,它控制哪些数据包可以进出网络,而哪些数据包应被网络拒绝。为了理解包过滤的原理,我们首先简单介绍一些因特网协议的概念。要使一个文件通过网络传输,必须将文件分成小块,每小块文件单独传输。把文件分成小块的做法主要是为了让多个系统共享网络,每个系统可以依次发送文件块。在IP网络中,这些小块被称为包。所有信息传输都是以包的方式来实施的。将多个IP网络互联的基本设备是路由器。路由器可以是一台专门的硬件设备,也可以是一个运行于计算机操作系统上的软件。数据包在网络群中穿越就是从一台路由器到另一台路由器,最后抵达目的地。因特网本身就是一个巨大的网络群
32、,也可以叫做网中网。第5章 防火墙技术路由器针对每一个接收到的包做出路由决定,由它确定如何将包送达目的地。在一般情况下,包本身不包含任何有助确定路由的信息。包只告诉路由器要将它发往何地,至于如何将它送达,包本身则不提供任何帮助。路由器之间通过诸如RIP和OSPF的路由协议相互通信,并在内存中建立路由表。当路由器对包进行路由时,它将包的目的地址与路由表中的入口地址相比较,并依据该表来发送这个包。在一般情况下,到一个目的地的路由不可能是固定的。同时,路由器还经常使用默认路由,即把包发往一个更加智能的或更上一级的路由器。第5章 防火墙技术包过滤路由器是具有包过滤特性的一种路由器。在对包做出路由决定时
33、,普通路由器只依据包的目的地址引导包,而包过滤路由器就必须依据路由器中的包过滤规则做出是否引导该包的决定。第5章 防火墙技术2包过滤系统的特点包过滤系统的特点大多数包过滤系统判决是否传送包时都不关心包的具体内容,它依据的主要判据是数据包的目的地址、源地址、传送协议等参数。包过滤系统能让我们进行类似以下情况的操作:(1)不让任何用户从外部网用Telnet登录。(2)允许任何用户使用SMTP向内部网发电子邮件。(3)只允许某台机器通过NNTP向内部网发新闻。第5章 防火墙技术包过滤系统的主要特点是可以让我们在一台机器上提供对整个网络的保护。以Telnet为例,假定为了不让使用Telnet,而将网络
34、中所有机器上的Telnet服务器关闭,但是,这不能保证在网络中新增机器时,新机器的Telnet服务器也被关闭或其它用户不重新安装Telnet服务器。如果有了包过滤系统,由于只要在包过滤中对此进行设置,因此也就无所谓机器中的Telnet服务器是否存在的问题了。第5章 防火墙技术包过滤方式有许多优点,而其主要优点之一是仅用一个放置在重要位置上的包过滤路由器就可保护整个网络。如果我们的站点与因特网间只有一台路由器,那么不管站点规模有多大,只要在这台路由器上设置合适的包过滤,站点就可获得很好的网络安全保护。包过滤不需要用户软件的支持,也不要求对客户机做特别的设置,当包过滤路由器允许包通过时,它表现得和
35、普通路由器没有任何区别。这时,用户甚至感觉不到包过滤功能的存在,只有在某些包被禁入或禁出时,用户才认识到它与普通路由器的不同。包过滤工作对用户来讲是透明的,这种透明就是可以在不要求用户做任何操作的前提下完成包过滤工作。第5章 防火墙技术虽然包过滤系统有许多优点,但它也有一些缺陷。这些缺陷对系统安全性的影响要大大超过代理服务系统对系统安全性的影响。因为代理服务的缺陷仅会使数据无法传送,而包过滤的缺陷会使得一些平常该拒绝的包也能进出网络。即使在系统中安装了比较完善的包过滤系统,我们也会发现对有些协议使用包过滤方式不太合适。比如,对Berkeley的“r”命令(reP、rsh、rlogin)和类似于
36、NFS和NIS/YS协议的RPC,用包过滤系统就不太合适。有些安全规则是难以用包过滤系统来实施的。比如,在包中只有来自于某台主机的信息,而无来自于某个用户的信息。因此,若要过滤用户,就不能用包过滤。第5章 防火墙技术3包过滤器操作包过滤器操作不管是过滤路由器还是包过滤网关,几乎都按照如下方式工作:(1)包过滤标准必须由包过滤设备端口存储起来,这些包过滤标准叫做包过滤规则。(2)当包到达端口时,对包的报头进行语法分析,大多数包过滤设备只检查IP、TCP或UDP报头中的字段,不检查包体的内容。(3)包过滤器规则以特殊的方式存储。(4)如果一条规则阻止包传输或接收,则此包便不被允许通过。(5)如果一
37、条规则允许包传输或接收,则该包可以继续处理。(6)如果一个包不满足任何一条规则,则该包被阻塞。第5章 防火墙技术从规则(4)和(5)可知,将规则以正确的顺序存放是很重要的。配置包过滤规则时常犯的错误就是把规则的顺序放错了,如果包过滤器规则以错误的顺序放置,那么有效的服务也可能被拒绝,而应该拒绝的服务却被允许了。在用规则(6)设计网络安全时,应该遵循自动防止故障原理,它与另一个允许原理正好相反,未明确表示禁止的便被允许,此原理是为包过滤设计的。一定要意识到,任何包过滤规则都不能完全保证网络的安全,并且,随着新服务的增加,很有可能遇到与任何现有原则都不匹配的情况。这样,与其阻塞这些服务,不如让这些
38、对网络安全没有太大威胁的服务通过。第5章 防火墙技术4包过滤的局限性包过滤的局限性包过滤的局限性表现在以下几个方面:(1)定义包过滤器规则比较复杂。网络管理员需要详细地了解网络上的各种服务、包头格式和特定的字段值。(2)网络设备的吞吐量随过滤数目的增加而减少。如果打开过滤功能,路由器不仅必须对每个数据包做出转发决定,还必须将所有的过滤器规则施用给每个数据包,这样就消耗了CPU的时间,并且影响系统的性能。(3)不能彻底防止地址欺骗。大多数包过滤都是基于源IP地址、目的IP地址而进行过滤的,而IP地址的伪造是很容易、很普遍的。(4)一些应用协议不适合于数据包过滤,即使是完美的数据包过滤,也会发现一
39、些协议不很适合于经由数据包过滤的安全保护。第5章 防火墙技术(5)正常的数据包过滤无法执行某些安全策略。例如,数据包说它们来自什么主机,而不是来自什么用户,因此,我们不能强行限制特殊的用户。同样地,数据包说它到什么端口,而不是到什么应用程序,当我们通过端口号对高级协议强行限制时,不希望在端口上有别的指定协议之外的协议,而攻击者能够很容易地破坏这种控制。(6)一些包过滤不提供任何日志能力,直到闯入发生后,危险的数据包才可能被检测出来,它可以阻止非法用户进入内部网络,但也不会告诉我们究竟都有谁来过,或者谁从内部进入了外部网络。第5章 防火墙技术(7)面对复杂的过滤需求,任何直接经过路由器的数据包都
40、有被用做数据驱动式攻击的潜在危险。数据驱动式攻击从表面上来看是由路由器转发到内部主机上没有害处的数据。该数据包括了一些隐藏的指令,能够让主机修改访问控制和与安全有关的文件,使得入侵者能够获得对系统的访问权。(8)IP包过滤难以进行有效的流量控制,因为它可以许可或拒绝一个特定的服务,但无法理解一个特定服务的内容或数据。第5章 防火墙技术5.3.2 包过滤的基本原则包过滤的基本原则包过滤有两条十分重要的基本原则。第一个原则是一切未被允许的就是被禁止的。基于该准则,防火墙应封锁所有信息流,然后对希望提供的服务或应用逐项开放。这是一种非常实用而且受推荐的方法,可以构建一种十分安全的环境,因为只有经过仔
41、细挑选的服务才被支持和允许使用。其缺点是,安全性高于用户使用的方便性,用户所能使用的服务范围受到限制。第5章 防火墙技术第二个原则是一切未被禁止的就是被允许的。基于该准则,防火墙应转发所有信息流,然后逐项屏蔽可能有害的服务。这种方法构建了一种更为灵活的应用环境,可为用户提供更多的服务。其缺点是,在日益增多的网络服务面前,网管人员疲于奔命,特别是在受保护的网络范围增大时,很难提供可靠的安全防护。在具体实施应用中,建立包过滤防火墙的基本步骤是:(1)建立安全策略,写出所允许的和禁止的任务。(2)将安全策略转化为数据包分组字段的逻辑表达式。(3)用供货商提供的句法重写逻辑表达式并进行设置。第5章 防
42、火墙技术5.3.3 包过滤技术的特点包过滤技术的特点在几乎不需要任何额外费用的情况下,使用包过滤技术可以在原有网络上增加简易的防火墙。因为几乎所有的路由器都可以对通过的数据包进行过滤,而路由器对一个网络与因特网连接是必不可少的。目前,已安装的防火墙80都是包过滤模式,它们是在连接内部网络与因特网的路由器上设置了一些数据包流通的原则。第5章 防火墙技术由于路由器的主要功能是为网络访问提供动态的、灵活的路由,而包过滤则要对访问行为实施静态的、固定的控制,这是一对难以调和的矛盾,包过滤的规则设置会大大降低路由器的性能。因此,基于包过滤的防火墙只是网络安全的一种应急措施,它无法对付大多数的非法攻击,因
43、为它是一种基于网络层的安全技术,对于应用层的黑客行为是无能为力的。例如,由于包过滤无法有效地区分同一个IP地址的不同用户,它的安全性将会相对较低。第5章 防火墙技术具体来讲,包过滤技术具有以下特点:(1)如果在路由器上实现包过滤,则费用非常小,因为在标准的路由器软件中包含了包过滤功能。(2)由于因特网访问一般都是在WAN接口上提供,因此流量适中并定义较少的过滤器,对路由器的性能几乎没有影响。(3)包过滤路由器对用户和应用来讲是透明的,不需要用户名和密码来登录,易于维护。(4)定义数据包过滤器会比较复杂,因为网络管理员需要对各种因特网服务、包头格式以及每个域的意义有非常深入的理解。网络管理员还要
44、根据新情况不断更新过滤规则集。同时,规则集的复杂性又没有测试工具来检验其正确性,难免仍会出现漏洞,给黑客以可乘之机。第5章 防火墙技术(5)任何直接经过路由器的数据包都有被用做数据驱动式攻击的潜在危险,因为数据驱动式攻击从表面上来看是由路由器转发到内部主机上没有害处的数据。该数据包括了一些隐藏的指令,能够让主机修改访问控制和与安全有关的文件,使得入侵者能够获得对系统的访问权。(6)随着过滤器数目的增加,路由器的吞吐量会下降。如果打开过滤功能,路由器不仅必须对每个数据包做出转发决定,还必须将所有过滤器规则施用于每个数据包,这样会消耗CPU的时间,并影响系统的性能。第5章 防火墙技术(7)包过滤器
45、可能无法对网络上流动的信息提供全面的控制。包过滤路由器能够允许或拒绝特定的服务,但是不能理解特定服务的上下文环境/数据。(8)对于采用动态分配端口的服务,比如很多远程过程调用(RPC)服务相关联的服务器在系统启动时随机分配端口,就很难进行有效的过滤。(9)通常包过滤器只按规则丢弃数据包,而不使用记录和用户报告,不具备审计功能,使得管理员不能从访问记录中发现黑客的攻击记录,无法识别IP地址相同的不同用户,不具备用户身份认证功能,不具备检测通过高层协议(如应用层)实现的安全攻击的能力。第5章 防火墙技术5.3.4 数据包结构数据包结构为了进一步理解包过滤的工作原理,我们简单看一下数据包的组成。在互
46、联网上,信息从一台计算机传输到另一台计算机,中间要经过很多台计算机或网络设备,使得其网络状的结构更像一座城市、一个国家内的公路或铁路运输系统。从源出发点到目的地,可以有很多条路径供选择。为了提高每一条通路的使用效率,数据和文件在上网传输前,被TCP/IP协议分割成若干个小的信息包,每个小的信息包包含了部分要传输的信息和要传送到目的地的地址以及包的编号等重要信息,根据网上当时的线路拥塞情况,从不同的路径分散传送到目的地。第5章 防火墙技术为了保证被分割的小数据包到达目的地时重新正确地组装,数据包自身携带了说明自己的一系列属性标识,下面列出了IP包和TCP包的格式。第5章 防火墙技术1因特网协议因
47、特网协议IP数据包的格式数据包的格式IP数据包包含以下字段:(1)版本:标识现在使用的IP版本。(2)IP包头长度:在一个32位的字节中指示数据包头的长度。(3)服务类型:指定高层协议希望处理的当前数据包的方式,并设置数据包的重要性级别。(4)总长度:指定整个IP数据包以字节计数的长度,包括数据和包头。(5)标识:包含标识当前数据包的整形值,该字段可以帮助将数据报组合在一起。第5章 防火墙技术(6)标志:由一个3位的字段构成,其中两个低位控制分段,最低位标识数据包是否可被分段,中间位标识该数据包是否是一系列数据包中的最后一个。第三位或最高位没有使用。(7)段位移:指示该段中的数据相对于原始数据
48、包中数据起点的位置,以便目的地IP进程可以正确地重组原始数据包。(8)生命期:维护一个逐步减小到0的计数器,0时丢弃数据包,这样可以防止数据包无休止地循环。(9)协议:指示当IP进程结束后,哪一个高层协议接收收到的数据包。(10)头校验和:帮助保证IP包头的完整性。(11)源地址:标识发送节点。第5章 防火墙技术(12)目的地址:标识接收节点。(13)选项:允许IP支持多种选项。(14)数据:包含高层信息。第5章 防火墙技术2传输控制协议传输控制协议TCP数据包的格式数据包的格式TCP数据包包含以下字段:(1)源端口和目的端口:标识高层源和目的进程接受TCP服务的点。(2)序列号:通常指当前消
49、息中数据第一个字节中设置的数值。在连接建立阶段,这个字段也用于标识在要进行的传输中使用的初始化序列号。(3)确认号:包含数据包的发送者希望接收的数据中下一个字节的序列号。(4)数据偏移:指向TCP头中的一个32位的数值。(5)保留:用于将来使用。(6)标志:携带各种控制信息,包括用于建立连接的SYN和ACK位及用于结束连接的FIN位。第5章 防火墙技术(7)窗口:指定发送者的接收窗口大小,也就是可用于接收数据的缓冲区空间。(8)校验和:指示头在传输中是否被破坏。(9)紧急指针:指向数据包中的第一个紧急数据字节。(10)选项:指定TCP的各种选项。(11)数据:包含上层信息。第5章 防火墙技术5
50、.3.5 地址过滤地址过滤在包过滤系统中,最简单的方法是依据地址进行过滤。表5.1是某路由器过滤规则表。第5章 防火墙技术表表5.1 路由器过滤规则表路由器过滤规则表第5章 防火墙技术用地址进行过滤可以不管使用什么协议,仅根据源地址/目的地址或者端口地址对流动的包进行过滤。我们可用这种方法只让某些被指定的外部主机与某些被指定的内部主机进行交互。还可以防止黑客用伪装成来自某台主机,而其实并非来自于那台主机的包对网络进行侵扰。比如,为了防止伪包流入内部网,我们可以这样来制定规则:第5章 防火墙技术请注意,方向是向内的。在外部网与内部网间的路由器上,我们可以将向内的规则用于路由器的外部网接口,以控制