第八讲: 防火墙基本知识 A: 什么是防火墙 英特网防火墙是这样的(一组)系统,它能增强机构内部网络的安全性。英特网防火墙用于加强网络间的访问控制,防止外部用户非法使用内部网的资源,保护内部网络的设备不被破坏,防止内部网络的敏感数据被窃取。防火墙系统决定了哪些内部服务可以被外界访问;外界的哪些人可以访问内部的那些可以访问的服务,以及哪些外部服务可以被内部人员访问。要使一个防火墙有效,所有来自和去往英特网的信息都必须经过防火墙,接受防火墙的检查。防火墙必须只允许授权的数据通过,并且防火墙本身也必须能够免于渗透。防火墙系统一旦被攻击者突破或迂回,就不能提供任何的保护了。 从总体上看,防火墙应具有以下五大基本功能: 过滤进出网络的数据包; 管理进出网络的访问行为; 封堵某些禁止的访问行为; 记录通过防火墙的信息内容和活动; 对网络攻击进行检测和告警。 防火墙是一种综合性的技术,涉及到计算机网络技术、密码技术、安全技术、软件技术、安全协议、网络标准化组织(ISO)的安全规范以及安全操作系统等多方面。作为一种有效解决网络之间访问控制的有效方法,国际上在这方面的研究很多。 在国外,近几年防火墙发展迅速,产品众多,而且更新换代快,并不断有新的信息安全技术和软件技术等被应用在防火墙的开发上。国外技术虽然相对领先(比如包过滤、代理服务器、VPN、状态监测、加密技术、身份认证等),但总的来讲,此方面的技术并不十分成熟完善,标准也不健全,实用效果并不十分理想。从1991年6月ANS公司的第一个防火墙产品ANS Interlock Service防火墙上市以来,到目前为止,世界上至少有几十家公司和研究所在从事防火墙技术的研究和产品开发。几乎所有的网络厂商也都开始了防火墙产品的开发或者OEM别的防火墙厂商的防火墙产品,如Sun Microsystems公司的Sunscreen、Check Point公司的Firewall-1、Milkyway公司的Black Hole等。 国内也已经开始了这方面的研究,北京邮电大学信息安全中心研制成功了国内首套PC机防火墙系统。此外,还有北京天融信公司的网络防火墙系统——Talentit防火墙、深圳桑达公司的具有包过滤防火墙功能的SED-08路由器、北大青鸟的内部网保密网关防火墙、电子部30所的SS-R型安全路由器、东北大学软件中心的具有信息过滤功能的NetEye防火墙、邮电部数据所的SJW04防火墙及Proxy98等也都先后开发成功。 防火墙最基本的构件既不是软件又不是硬件,而是构造防火墙的人的思想。最初的防火墙只是一种概念而不是一种产品,是构造者脑海中的一种想法,即谁和什么能被允许访问本网络。“谁”和“什么”极大地影响了如何对网络数据设计路由。从这个意义上讲,构造一个好的防火墙需要、直觉、创造和逻辑的共同作用。一个好的防火墙系统应具有以下五方面的特性: 1. 所有在内部网络和外部网络之间传输的数据都必须通过防火墙; 2. 只有被授权的合法数据,即防火墙系统中安全策略允许的数据,可以通过防火墙; 3. 防火墙本身不受各种攻击的影响; 4. 使用目前新的信息安全技术,比如现代密码技术、一次口令系统、智能卡等; 5. 人机界面良好,用户配置使用方便,易管理。系统管理员可以方便地对防火墙进行设置,对Internet的访问者、被访问者、访问协议以及访问方式进行控制。 防火墙作为内部网与外部网之间的一种访问控制设备,常常安装在内部网和外部网交界的点上。英特防火墙不仅仅是路由器、堡垒主机、或任何提供网络安全的设备的组合,它更是安全策略的一个部分。安全策略建立了全方位的防御体系来保护机构的信息资源。安全策略应告诉用户应有的责任,公司规定的网络访问、服务访问、本地和远地的用户认证、拨入和拨出、磁盘和数据加密、病毒防护措施,以及雇员培训等。所有可能受到网络攻击的地方都必须以同样安全级别加以保护。仅设立防火墙系统,而没有全面的安全策略,那么防火墙就形同虚设。 B: 防火墙的发展 若以产品为对象,防火墙技术的发展可以分为四个阶段: 第一阶段:基于路由器的防火墙 由于多数路由器本身就包含有分组过滤功能,故网络访问控制功能可通过路由控制来实现,从而使具有分组过滤功能的路由器称为第一代防火墙产品。 第一代防火墙产品的特点是: 利用路由器本身的对分组的解析,以访问控制表方式实现对分组的过滤。 过滤判决的依据可以是:地址、端口号、ICMP报文类型等。 只有分组过滤的功能,且防火墙与路由器是一体的,对安全要求低的网络采用路由器附带防火墙的功能的方法,对安全性要求较高的网络则可单独利用一台路由器组防火墙。 第一代防火墙产品的不足之处在于: 路由协议十分灵活,本身具有安全漏洞,外部网络要探询内部网络十分容易。例如:在使用FTP协议时,外部服务器容易从20号端口上与内部网相连,即使在路由器设置了过滤规则,内部网络的20端口仍可由外部探寻。 路由器上的分组过滤规则的设置和配置存在安全隐患。对路由器中过滤规则的设置和配置十分复杂,它涉及到规则的逻辑一致性,作用端口的有效性和规则集的正确性,一般的网络系统管理员难以胜任,加之一旦出现新的协议,管理员就得加上更多的规则去限制,这往往会带来很多错误。 路由器防火墙的最大隐患是:攻击者可以“假冒”地址,由于信息在网络上是以明文传送的,黑客可以在网络上伪造假的路由信息欺骗防火墙。 路由器防火墙的本质性缺陷是:由于路由器的主要功能是为网络访问提供动态的,灵活的路由,而防火墙则要对访问行为实施静态的、固定的控制,这是一对难以调和的矛盾,防火墙的规则设置会大大降低路由器的性能。 可以说,基于路由器的防火墙只是网络安全的一种应急措施,用这种权宜之计去对付黑客的攻击是十分危险的。 第二阶段:用户化的防火墙工具套 为了弥补路由器防火墙的不足,很多大型用户纷纷要求以专门开发的防火墙系统来保护自己的网络,从而推动了用户化的防火墙工具套的出现。 作为第二代防火墙产品,用户化的防火墙工具套具有以下的特征: 将过滤功能从路由器中独立出来,并加上审计和告警功能; 针对用户需求,提供模块化的软件包; 软件可通过网络发送,用户可自己动手构造防火墙; 与第一代防火墙相比,安全性提高了,价格降低了。 由于是纯软件产品,第二代防火墙产品无论在实现还是维护上都对系统管理员提出了相当复杂的要求,并带来以下问题: 配置和维护过程复杂、费时; 对用户的技术要求高; 全软件实现,安全性和处理速度均由局限; 实践表明,使用中出现差错的情况很多。 第三阶段:建立在通用操作系统上的防火墙 基于软件的防火墙在销售、使用和维护上的问题迫使防火墙开发商很快推出了建立在通用操作系统上的商用防火墙产品,近年来在市场上广泛可用的就是这一代产品,它具有以下特点: 是批量上市的防火墙专用产品; 包括分组过滤或者借用路由器的分组过滤功能; 装有专用的代理系统,监控所有协议的数据和指令; 保护用户编程空间和用户可配置内核参数的设置; 安全性和速度大为提高。 第三代防火墙既有以纯软件实现的,也有以硬件方式实现的,已得到广大用户的认同。但随着安全需求的变化和使用时间的推延,仍表现出不少问题,比如: 作为基础的操作系统及其内核往往不为防火墙管理者所知,由于原码的保密,其安全性无从保证; 由于大多数防火墙厂商并非通用操作系统的厂商,通用操作系统的厂商不会对操作系统的安全性负责; 从本质上看,第三代防火墙既要防止来自外部网络的攻击,还要防止来自操作系统厂商的攻击。 用户必须依赖两方面的安全支持:一是防火墙厂商、一是操作系统厂商。 上述问题在基于Windows NT开发的防火墙产品中表现得十分明显。 第四阶段:具有安全操作系统的防火墙 防火墙技术和产品随着网络攻击和安全防护手段的发展而演进,到1997年初,具有安全操作系统的防火墙产品面市,使防火墙产品步入了第四个发展阶段。 具有安全操作系统的防火墙本身就是一个操作系统,因而在安全性上较之第三代防火墙有质量上的提高。获得安全操作系统的办法有两种:一种是通过许可证方式获得操作系统的源码;另一种是通过固化操作系统内核来提高可靠性,由此建立的防火墙具有以下特点: 防火墙厂商具有操作系统的源代码,并可实现安全内核; 对安全内核实现加固处理:即去掉不必要的系统特性,加上内核特性,强化安全保护; 对每个服务器、子系统都作了安全处理,一旦黑客攻破了一个服务器,它将会被隔离在此服务器内,不会对网络的其他部分构成威胁; 在功能上包括了分组过滤、应用网关、电路级网关,且具有加密与鉴别功能; 透明性好,易于使用。 C: 防火墙的优点和缺陷 利用防火墙来保护内部网主要有以下几个方面的优点: 英特网防火墙允许网络管理员定义一个中心“扼制点”来防止非法用户(如黑客、网络破坏者等)进入内部网络。禁止存在安全脆弱性的服务进出网络,并抗击来自各种路线的攻击。英特网防火墙能够简化安全管理,网络安全性是在防火墙系统上得到加固,而不是分布在内部网络的所有主机上。 保护网络中脆弱的服务。防火墙通过过滤存在安全缺陷的网络服务来降低内部网遭受攻击的威胁,因为只有经过选择的网络服务才能通过防火墙。例如,防火墙可以禁止某些易受攻击的服务(如NFS等)进入或离开内部网,这样可以防止这些服务被外部攻击者利用,但在内部网中仍然可以使用这些局域网环境下比较有用的服务,减轻内部网络的管理负担。防火墙还可以防止基于源路由选择的攻击,如企图通过ICMP从定向把数据包发送路径转向不安全网络。防火墙可以拒绝接受所有源路由发送的数据包和ICMP重定向,并把事件告诉系统管理人员,这样一来防火墙可以从一定程度上提高内部网的安全性; 在防火墙上可以很方便的监视网络的安全性,并产生报警。应该注意的是:对一个内部网络已经连接到英特网上的机构来说,重要的问题并不是网络是否会受到攻击,而是何时会受到攻击。网络管理员必须审计并记录所有通过防火墙的重要信息。如果网络管理员不能及时响应报警并审查常规记录,防火墙就形同虚设。在这种情况下,网络管理员永远不会知道防火墙是否受到攻击。 集中安全性:如果一个内部网络的所有或大部分需要改动的程序以及附加的安全程序都能集中地放在防火墙系统中,而不是分散到每个主机中,这样防火墙的保护范围就相对集中,安全成本也相对便宜了。尤其对于口令系统或其他的身份认证软件等等,放在防火墙系统中更是优于放在每个外部网络能访问的主机上; 英特网防火墙可以作为部署NAT(Network Address Translator,网络地址变换)的逻辑地址。因此防火墙可以用来缓解地址空间短缺的问题,也可以隐藏内部网络的结构。 增强保密性、强化私有权:对一些内部网络节点而言,保密性是很重要的,因为,某些看似不甚重要的信息往往会成为攻击者攻击的开始。使用防火墙系统,网络节点可阻塞finger 以及DNS域名服务。因为攻击者经常利用finger会列出当前使用者名单,以及一些用户信息。DNS服务能提供一些主机信息。防火墙能封锁这类服务,从而使得外部网络主机无法获取这些有利于攻击的信息。通过封锁这些信息,可以防止攻击者从中获得另一些有用信息; 英特网防火墙是审计和记录英特网使用量的一个最佳地方。网络管理员可以在此向管理部门提供英特网连接的费用情况,查出潜在的带宽瓶颈的位置,并能够根据机构的核算模式提供部门级的计费。 英特网防火墙也可以成为向客户发布信息的地点。英特网防火墙作为部署WWW服务器和FTP服务器的地点非常理想。还可以对防火墙进行配置,允许英特网访问上述服务,而禁止外部对受保护的内部网络上其它系统的访问。 虽然防火墙可以提高内部网的安全性,但是,防火墙也有它的一些缺陷和不足。有些缺陷是目前根本无法解决的。防火墙的主要缺陷有: 1:限制有用的网络服务:防火墙为了提高被保护网络的安全性,限制或关闭了很多有用但存在安全缺陷的网络服务。由于绝大多数网络服务设计之初根本没有考虑安全性,只考虑使用的方便性和资源共享,所以都存在安全问题。这样防火墙一限制这些网络服务,等于从一个极端走到了另外一个极端。 2:无法防护内部网络用户的攻击:目前防火墙只提供对外部网络用户攻击的防护。对来自内部网络用户的攻击只能依靠内部网络主机系统的安全性。防火墙无法禁止变节者或公司内部存在的间谍将敏感数据拷贝到软盘或PCMCIA卡上,并将其带出公司。防火墙也不能防范这样的攻击:伪装成超级用户或诈称新雇员,从而劝说没有防范心理的用户公开口令或授予其临时的网络访问权限。所以必须对雇员们进行教育,让它们了解网络攻击的各种类型,并懂得保护自己的用户口令和周期性变换口令的必要性。也就是说,防火墙对内部网络用户来讲形同虚设,目前尚无好的解决办法,只有采用多层防火墙系统。 3:英特网防火墙无法防范通过防火墙以外的其它途径的攻击。例如,在一个被保护的网络上有一个没有限制的拨出存在,内部网络上的用户就可以直接通过SLIP或PPP连接进入英特网。聪明的用户可能会对需要附加认证的代理服务器感到厌烦,因而向ISP购买直接的SLIP或PPP连接,从而试图绕过由精心构造的防火墙系统提供的安全系统。这就为从后门攻击创造了极大的可能。网络上的用户们必须了解这种类型的连接对于一个有全面的安全保护系统来说是绝对不允许的。 4:英特网防火墙也不能完全防止传送已感染病毒的软件或文件。这是因为病毒的类型太多,操作系统也有多种,编码与压缩二进制文件的方法也各不相同。所以不能期望英特网防火墙去对每一个文件进行扫描,查出潜在的病毒。对病毒特别关心的机构应在每个桌面部署防病毒软件,防止病毒从软盘或其它来源进入网络系统。 5:防火墙无法防范数据驱动型的攻击。数据驱动型的攻击从表面上看是无害的数据被邮寄或拷贝到英特网主机上。但一旦执行就开始攻击。例如,一个数据型攻击可能导致主机修改与安全相关的文件,使得入侵者很容易获得对系统的访问权。后面我们将会看到,在堡垒主机上部署代理服务器是禁止从外部直接产生网络连接的最佳方式,并能减少数据驱动型攻击的威胁。 6:不能防备新的网络安全问题:防火墙是一种被动式的防护手段,它只能对现在已知的网络威胁起作用。随着网络攻击手段的不断更新和一些新的网络应用的出现,不可能靠一次性的防火墙设置来解决永远的网络安全问题。 D: 防火墙的设计 在设计英特网防火墙时,网络管理员必须做出几个决定:防火墙的姿态(Stance)、机构的整体安全策略、防火墙的经济费用、防火墙系统的组件或构件。 英特网防火墙可能会扮演两种截然相反的姿态: 1:拒绝没有特别允许的任何事情。这种姿态假定防火墙应该阻塞所有的信息,而每一种所期望的服务或应用都是实现在个案处理的基础上。这是一个受推荐的方案。其建立的是一个非常安全的环境,因为只有审慎选择的服务才被支持。当然这种方案也有缺点,就是不易使用,因为限制了提供给用户们的选择范围。 2:允许没有特别拒绝的任何事情。这种姿态假定防火墙应该转发所有的信息,任何可能存在危害的服务都应在个案处理的基础上关掉。这种方案建立的是一个非常灵活的环境,能提供给用户更多的服务。缺点是,由于将易使用这个特点放在了安全性的前面,网络管理员处于不断的响应当中,因此,随着网络规模的增大,很难保证网络的安全。 英特网防火墙并不是孤立的,它是机构总体安全策略的一部分。机构总体安全策略定义了安全防御的方方面面。为确保成功,机构必须知道其所保护的是什么。安全策略必须建立在精心进行的安全分析、风险评估以及商业需求分析基础之上。如果机构没有详尽的安全策略,无论如何精心构建的防火墙都会被绕过去,从而整个内部网络都暴露在攻击面下。 机构能够负担起什么样的防火墙?这也是一个必须考虑的问题。简单的包过滤防火墙费用最低。商业的防火墙系统可以提供一些附加的安全功能,而费用在$4,000到$30,000之间,具体价格要看系统的复杂性和要保护的系统的数量。如果一个机构有自己的专业人员,也可以构建自己的防火墙系统,但是仍旧有开发时间和部署防火墙系统等的费用问题。防火墙系统需要管理,一般性的维护、软件升级、安全上的补漏、事故处理等,这些都需要花费。 在确定了防火墙的姿态、安全策略、以及预算问题之后,就能够确定防火墙系统的特定组成部分。典型的防火墙有一个或多个构件组成:包过滤路由器、应用层网关(或代理服务器)、电路层网关等。一个机构可以根据自己的网络规模和自己的安全策略选择合适的防火墙体系结构,因为不同的防火墙体系结构所需的代价、所付的费用都不一样。一般如果有了一百台以上的主机,就应考虑配置防火墙设备。下节论述防火墙的安全体系结构,从中可以看出在不同的环境下应选择什么类型的防火墙。