计算机网络与信息安全课件-第7章-防火墙基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章防火墙技术
防火墙的本义是指古代构筑和使用木制结构房屋的时候,为防止火灾的发生和蔓延,人们将坚固的石块堆砌在房屋周围作为屏障,这种防护构筑物就被称之为“防火墙”。
与防火墙一起起作用的就是“门”。
如果没有门,各房间的人将无法沟通。
当火灾发生时,这些人还须从门逃离现场。
这个门就相当于我们这里所讲的防火墙的“安全策略”,所以在此我们所说的防火墙实际并不是一堵实心墙,而是带有一些小门的墙。
这些小门就是用来留给那些允许进行的通信,在这些小门中安装了过滤机制。
网络防火墙是借鉴了古代真正用于防火的防火墙的喻义,它指的是隔离在本地网络与外界网络之间的一道防御系统。
防火墙可以使企业内部局域网(LAN)网络与Internet之间或者与其他外部网络互相隔离、限制网络互访用来保护内部网络,防止发生不可预测的、潜在破坏性的侵入。
典型的防火墙具有以下三个方面的基本特性:
(1)内部网络和外部网络之间的所有网络数据流都必须经过防火墙
这是防火墙所处网络位置特性,同时也是一个前提。
因为只有当防火墙是内、外部网络之间通信的唯一通道,才可以全面、有效地保护企业内部网络不受侵害。
根据美国国家安全局制定的《信息保障技术框架》,防火墙适用于用户网络系统的边界,属于用户网络边界的安全保护设备。
所谓网络边界即是采用不同安全策略的两个网络的连接处,比如用户网络和Internet之间连接、和其它业务往来单位的网络连接、用户内部网络不同部门之间的连接等。
防火墙的目的就是在网络连接之间建立一个安全控制点,通过允许、拒绝或重新定向经过防火墙的数据流,实现对进、出内部网络的服务和访问的审计和控制。
(2)只有符合安全策略的数据流才能通过防火墙
防火墙最基本的功能是确保网络流量的合法性,并在此前提下将网络的流量快速地从一条链路转发到另外的链路上去。
从最早的防火墙模型开始谈起,原始的防火墙是一台“双穴主机”,即具备两个网络接口,同时拥有两个网络层地址。
防火墙将网络流量通过相应的网络接口接收上来,按照协议栈的层次结构顺序上传,在适当的协议层进行访问规则和安全审查,然后将符合通过条件的报文从相应的网络接口送出,而对于那些不符合通过条件的报文则予以阻断。
因此,从这个角度上来说,防火墙是一个类似于桥接或路由器的、多端口的(网络接口>=2)转发设备,它跨接于多个分离的物理网段之间,并在报文转发过程之中完成对报文的审查工作。
(3)防火墙自身应具有非常强的抗攻击能力
这是防火墙之所以能担当企业内部网络安全防护重任的先决条件。
防火墙处于网络边缘,它就像一个边界卫士一样,每时每刻都要面对黑客的入侵,这样就要求防火墙自身要具有非常强的抗击入侵的能力。
其中防火墙操作系统本身的安全性是关键。
其次就是防火墙自身具有非常少的服务功能,除了专门的防火墙嵌入系统外,再没有其它应用程序在防火墙上运行。
自从1986年美国Digital公司在Internet上安装了全球第一个商用防火墙系统以来,防火墙技术得到了飞速的发展。
目前有几十家公司推出了功能不同的防火墙系统。
第一代防火墙,又称包过滤防火墙,主要通过对数据包源地址、目的地址、端口号等参数的检查来决定是否允许该数据包通过,对其进行转发,但这种防火墙很难抵御IP地址欺骗等攻击,而且审计功能很差。
第二代防火墙,也称代理服务器,它可提供对网络服务层的控制,在外部网络向被保护的内部网络申请服务时充当代理的作用,这种方法可以有效地防止对内部网络的
直接攻击,安全性较高。
第三代防火墙有效地提高了防火墙的安全性,称为状态监控功能防火墙,它可以对每一层的数据包进行检测和监控。
随着网络攻击手段和信息安全技术的发展,新一代的功能更加强大、安全性更好的防火墙已经问世,这个阶段的防火墙已超出了传统意义上防火墙的范畴,已经演变成一个全方位的安全技术集成系统,可称之为第四代防火墙,它可以抵御目前常见的网络攻击手段,如IP地址欺骗、特洛伊木马攻击、Internet蠕虫、口令探寻攻击、邮件攻击等等。
实际上,这种防火墙具有很多的IDS功能。
IDS与防火墙的相互配合使用,VPN和防火墙的相互配合使用将能提供更全面的安全性,也是防火墙发展的趋势。
7.1 防火墙功能及分类
7. 1.1 防火墙的功能
防火墙是网络安全的第一道防线。
防火墙在一个机构的私有网络和外部网络间建立一个检查点。
这种实现要求所有的流量都要通过这个检查点。
一旦这些检查点清楚地建立,防火墙设备就可以监视、过滤所有流入和流出的网络流量。
只有经过精心选择的数据包才能通过防火墙,所以网络环境变得更安全。
如防火墙可以禁止诸如众所周知的不安全的NFS 协议进出受保护网络,这样外部的攻击者就不可能利用这些脆弱的协议来攻击内部网络。
防火墙同时可以保护网络免受基于路由的攻击,如IP选项中的源路由攻击和ICMP重定向中的重定向路径。
防火墙可以拒绝所有以上类型攻击的报文并通知防火墙管理员。
防火墙可以强化网络安全策略。
通过以防火墙为中心的安全方案配置,能将所有安全软件(如口令、加密、身份认证、审计等)配置在防火墙上。
与将网络安全问题分散到各个主机上相比,防火墙的集中式安全管理在经济性方面占优势。
例如在网络访问时,一次一密口令系统和其它的身份认证系统完全可以不必分散在各个主机上,而集中在防火墙一身上。
防火墙可以对网络存取和访问进行监控审计。
如果所有的访问都经过防火墙,那么,防火墙就能记录下这些访问并记录在日志中,同时也能提供网络使用情况的统计数据。
当发生可疑动作时,防火墙还能进行适当的报警,并提供网络是否受到监听和攻击的详细信息;另外,收集一个网络的使用和误用情况也是非常重要的。
首先可以清楚防火墙是否能够抵挡攻击者的探测和攻击,并且清楚防火墙的控制是否充足。
而网络使用统计对网络需求分析和威胁分析等而言也是非常重要的。
防火墙可以防止内部信息的外泄。
防火墙在内部网络周围创建了一个保护的边界。
并且对于公网隐藏了内部系统的信息。
当远程节点侦测内部网络时,他们仅仅能看到防火墙。
内部细节如Finger,DNS等服务被很好地隐蔽起来。
Finger显示了主机的所有用户的注册名、真名,最后登录时间和使用shell类型等。
Finger所显示的信息非常容易被攻击者所获悉并利用。
通过Finger攻击者可以知道一个系统使用的频繁程度,这个系统是否有用户正在连线上网,这个系统是否在被攻击时引起注意等等。
防火墙同样可阻塞有关内部网络中的DNS信息,这样一台主机的域名和IP地址就不会被外界所了解。
另外,利用防火墙对内部网络的划分,可实现对内部网的重点网段的隔离,从而限制了局部重点或敏感网络安全问题对全局网络造成的影响。
除了安全作用,防火墙还可以支持虚拟专用网(VPN)。
通过VPN,将企事业单位在地域上分布在全世界各地的LAN或专用子网,通过Internet有机地联成一个整体。
不必使用昂
贵的专用通信线路,而且通过使用IPsec等通信安全协议可保证信息在Internet上传递时的安全性。
7.1.2 防火墙的分类
防火墙有许多种形式,有以软件形式运行在普通计算机上的,也有以固件形式设置在路由器之中的。
按照不同的角度可对防火墙做出不同的分类。
7.1.2.1 按照软硬件功能分配分类
软件防火墙软件防火墙运行于特定的计算机上,它需要客户预先安装好的计算机操作系统的支持,一般来说这台计算机就是整个网络的网关。
常用的“个人防火墙”也属于这类。
软件防火墙就像其它的软件产品一样需要先在计算机上安装并做好配置才可以使用。
软件防火墙中具有代表性的产品是Checkpoint。
硬件防火墙这里说的硬件防火墙是指“所谓的硬件防火墙”。
之所以加上"所谓"二字是针对芯片级防火墙来说的。
它们最大的差别在于是否基于专用的硬件平台。
目前市场上大多数防火墙都是这种所谓的硬件防火墙,他们都基于PC架构,就是说,它们和普通的家庭用的PC没有太大区别。
在这些PC架构计算机上运行一些经过裁剪和简化的操作系统,最常用的有Unix、Linux和FreeBSD系统。
值得注意的是,此类防火墙采用的是别人的内核,因此依然会受到操作系统本身的安全性影响。
芯片级防火墙芯片级防火墙基于专门的硬件平台。
专有的ASIC芯片使它们比其他种类的防火墙速度更快,处理能力更强,性能更高。
做这类防火墙最出名的厂商有NetScreen、FortiNet、Cisco等。
这类防火墙采用固化于硬件的专用操作系统,防火墙本身的漏洞比较少,不过价格相对比较高昂。
7.1.2.2 按照检查协议深度分类
包(packet)是网络上信息流动的单位,在网上传输的文件一般在发送端被划分成一系列包,经过网络上的中间站点转发,最终到达目的地,然后这些包中的数据又重新组成原来的信息。
每个包包括两部分:数据部分和包头,包头中含有源地址和目的地址等信息。
防火墙按照其分析网络包的协议深度可分为三种:包过滤防火墙、应用级网关和状态检测防火墙。
包过滤防火墙
包过滤通过拦截数据包,检查包头,过滤掉不应转发的信息,放行合法数据包。
包过滤器又称为筛选路由器,它通过将包头信息和管理员设定的规则表比较,如果有一条规则不允许发送某个包,路由器将它丢弃。
规则表又称为访问控制表(Access Control Table)。
包过滤规则一般基于网络层之上的部分的或全部的包头信息,例如对于TCP包头信息为:
1.IP协议类型
2.IP源地址
3.IP目的地址
4.IP选择域的内容
5.TCP源端口号
6.TCP目的端口号
7.TCP ACK标识。
另外,TCP的序列号、确认号,IP校验和、分片偏移也往往是要检查的内容。
这类防火墙几乎是与路由器同时产生的。
防火墙常常就是一个具备包过滤功能的简单路由器,包过滤是路由器的固有功能。
包过滤方式是一种通用、廉价和有效的安全手段。
之所以通用,是因为它不是针对各个具体的网络服务采取特殊的处理方式,适用于所有网络服务;之所以廉价,是因为大多数路由器都提供数据包过滤功能,所以这类防火墙多数是由路由器集成的;之所以有效,是因为它能在很大程度上满足绝大多数企业安全要求。
包过滤对于拒绝一些TCP或UDP应用程序的IP地址进入或离开你的网络是很有效的。
举个例子,如果想禁止从Internet TELNET到你的内部网络设备中,你需要建立一条包过滤规则。
如果在包过滤防火墙的默认是允许所有都可访问,则一条禁止TELNET的包过滤规则如表7-1所示。
上表列出的信息告诉路由器丢弃所有从TCP 23端口出去和进来的数据包。
星号说明是该字段里的任何值。
在上面的例子中,如果一个数据包通过这条规则时,若源端口为23,那么它将立刻被丢弃。
如果一个数据包通过这条规则时,若目的端口为23时,则当规则中的第二条应用时它会被丢弃。
所有其它的数据包都允许通过。
其它一些Internet服务在一条规则里需要更多的项目。
例如,FTP使用TCP的20和21端口。
假设包过滤防火墙禁止所有的数据包直到遇到特殊的允许时才放行,则该规则如表7-2所示:
上表中规则的第一条允许内部网络地址为192.168.10.0的网段内源端口和目的端口为任意的主机初始化一个TCP的会活。
第二条允许任意源端口为20的远程IP地址可以连接内部网络地址为192.168.10.0的任意端口上。
规则的第二条不能限制目标端口是因为主动的FTP客户端是不使用20端口的、当一个主动的FTP客户端发起一个FTP会话时,客户端是使用动态分配的端口号叫做瞬间端口(ephemeral port)。
而远程的FTP服务器只探查192.168.10.0 这个网络内端口为20的设备。
有经验的黑客可以利用这些规则访问你网络内的任何资源。
所以更好的FTP包过滤规则应该如表7-3所示:
第一条规则允许子网192.168. 1.0内的任何主机与任意目标地址且端口为21的进程建立TCP的会话连接。
第二条阻止任何源端口为20的远程IP地址访问网络地址为192.168.1.0
且端口小于1024的任意主机。
第三条允许源端口为20的任意远程主机访问192.168.1.0网络内主机任意端口。
要记住的是这些规则的应用是按照顺序执行的。
第三条看上去好像是矛盾的。
任何违反第二条规则的包,都会被立刻丢弃掉,第三条规则不会执行。
但第三条规则仍然需要是因为包过滤对所有进来和出去的流量进行过滤直到遇到特定的允许规则。
包过滤的优点简单实用,实现成本较低,在应用环境比较简单的情况下,能够以较小的代价在一定程度上保证系统的安全。
而且不用改动客户机和主机上的应用程序。
但其弱点也是明显的:它用来进行过滤和判别的信息只有网络层和传输层的有限信息,因而各种安全要求不可能充分满足,无法识别基于应用层的恶意侵入,如恶意的Java小程序以及电子邮件中附带的病毒。
有经验的黑客很容易伪造IP地址骗过包过滤型防火墙。
在许多过滤器中,过滤规则的数目是有限制的,且随着规则数目的增加,性能会受到很大的影响;由于缺少上下文关联信息,不能有效地过滤如UDP、RPC一类的协议;另外,大多数过滤器中缺少审计和报警机制;而且对安全管理人员素质要求高,建立安全规则时,必须对协议本身及其在不同应用程序中的作用有较深入的理解。
因此,过滤器通常是和应用网关配合使用,共同组成防火墙系统。
状态检测防火墙
这类防火墙检查的包内容不局限于IP包头,而是深入到更高层协议。
状态检测防火墙具有跟踪TCP连接的能力,记录每个连接的状态,根据这些信息对包进行过滤。
并且采用动态设置包过滤规则的方法,避免了静态包过滤所具有的问题。
这种技术后来发展成为包状态监测(Stateful Inspection)技术。
状态多层检测允许检查OSI七层模型的所有层以决定是否过滤,而不仅仅是网络层。
目前很多公司在它们的包过滤防火墙中都使用状态多层检测,也称为基于内容的过滤。
代理
应用代理型防火墙工作在OSI的最高层,即应用层。
其特点是完全"阻隔"了网络通信流,通过对每种应用服务编制专门的代理程序,实现监视和控制应用层通信流的作用。
代理技术与包过滤技术完全不同,包过滤技术是在网络层拦截所有的信息流,代理技术针对每一个特定服务都有一个程序。
代理是在应用层实现防火墙的功能,代理的主要特点是有状态性。
通过代理网络管理员可以实现比包过滤路由器更严格的安全策略。
代理把网络IP地址替换成其它的暂时的地址。
这种方法有效地隐藏了真正的网络IP地址,保护了整个网络。
代理还有一个用处。
当黑客开始活动的时候,所做的第一件事就是踩点,侦查的网络上的弱点。
通常都是利用端口扫描。
为了防止暴露有用信息,应该尽可能地隐蔽内部系统的配置信息,使之不暴露给潜在的攻击者。
代理可以隐藏这些信息,并能对合法用户提供有效的通信。
在代理型防火墙可分为两个不同的类型。
(1)应用网关(Application Gateway)型防火墙
这类防火墙是通过一种代理(Proxy)技术监视并参与一个TCP连接的全过程。
从内部发出的数据包经过这样的防火墙处理后,就好像是源于防火墙外部网卡一样,从而可以达到隐藏内部网结构的作用。
这种类型的防火墙被网络安全专家和媒体公认为是最安全的防火墙。
它的核心技术就是代理服务器技术。
应用级网关能够理解应用层上的协议,能够做复杂一些的访问控制,并做精细的注册。
但每一种协议需要相应的代理软件,使用时工作量大,效率不如包过滤防火墙。
常用的应用级防火墙已有了相应的代理服务器,例如:HTTP、NNTP、、rlogin、X-Window等,但是,对于新开发的应用,尚没有相应的代理服务,它们将通过包过滤防火墙和一般的代理服务。
应用级网关有较好的访问控制,是目前最安全的防火墙技术,但实现困难,而且有的应用级网关缺乏“透明度”。
在实际使用中,用户在受信任的网络上通过防火墙访问Internet时,经常会发现存在延迟并且必须进行多次登录(Login)才能访问Internet或Intranet。
常见的一些代理防火墙产品有Axent Raptor防火墙和微软
Microsoft Proxy Server。
(2)自适应代理(Adaptive proxy)型防火墙
它是近几年才得到广泛应用的一种新防火墙类型。
它可以结合代理类型防火墙的安全性和包过滤防火墙的高速度等优点,在毫不损失安全性的基础之上将代理型防火墙的性能提高10倍以上。
组成这种类型防火墙的基本要素有两个:自适应代理服务器与动态包过滤器。
在“自适应代理服务器”与“动态包过滤器”之间存在一个控制通道。
在对防火墙进行配置时,用户仅仅将所需要的服务类型、安全级别等信息通过相应Proxy的管理界面进行设置就可以了。
然后,自适应代理就可以根据用户的配置信息,决定是使用代理服务从应用层代理请求还是从网络层转发包。
如果是后者,它将动态地通知包过滤器增减过滤规则,满足用户对速度和安全性的双重要求。
代理型防火墙的优点是安全性较高,可以针对应用层进行侦测和扫描,对付基于应用层的侵入和病毒都十分有效。
而不是像包过滤那样,只是对网络层的数据进行过滤。
代理防火墙的最大缺点就是速度相对比较慢,当用户对内外部网络网关的吞吐量要求比较高时,代理防火墙就会成为内外部网络之间的瓶颈。
因为防火墙需要为不同的网络服务建立专门的代理服务,在自己的代理程序为内、外部网络用户建立连接时消耗大量的处理器和存储资源,所以给系统性能带来了一些负面影响,而且可能容易受到拒绝服务攻击。
7.2 防火墙结构
目前比较流行的防火墙结构分别是:双主机型防火墙、主机屏蔽型防火墙和子网屏蔽型防火墙。
主机屏蔽防火墙和子网屏蔽防火墙是把路由器和代理服务器结合使用;而双主机防火墙是使用两块独立的网络适配器。
7.2.1双主机防火墙
双主机防火墙是一种简单而且安全的配置。
在双主机防火墙中把一台主机作为本地网和Internet之间的分界线。
这台计算机使用两块独立的网络适配器把每个网络连接起来。
当使用双主机防火墙时,系统管理员必须使主机的路由功能失效,这样,该计算机不能通过软件把两个网络连接起来。
双主机防火墙配置的最大缺点是,用户很容易意外地使内部路由有效,并攻破防火墙。
图7-1说明了双主机防火墙的配置情况。
双主机防火墙是运行一组应用层代理软件或链路层代理软件来工作的。
Proxy软件控制数据包从一个网络流向另一个网络。
由于主机具有双网络适配器(连接两个网络),这使防火墙可以检测到两个网络上的数据包。
防火墙运行proxy软件来控制两个网络上的信息传输,包括两个本地网之间或者一个本地网和Internet之间。
在使用双主机防火墙时,安全性中最重要的是必须使主机内部路由功能失效。
随着路由功能的失效,应用层成为网络或者网段之间的唯一路径。
网段可以是网络中的任何部分,例如,系统管理员可以把办公网分成销售网段和固定资产网段,并用路由器或者防火墙将这两个网段分开。
在双主机防火墙中,如果用户使内部路由有效,则防火墙将变得无用。
例如,如果通过设置主机的内部路由使IP向前,则数据包非常容易避开双主机防火墙应用层的作用。
在Unix环境下双主机防火墙在配置中很容易发生上述错误。
一些Unix系统(例如Berkeley Unix)缺省时使路由功能有效。
因此在基于Unix系统的网络中,系统管理员必须确认已经使在双主机防火墙中的所有路由无效。
如果操作系统没有提供使路由功能无效的接口,系统管理员必须在防火墙内重新配置并重建Unix内核以保证操作系统使路由能力无效。
7.2.2 主机屏蔽防火墙
一个包过滤路由器连接外部网络,同时一个堡垒主机安装在内部网络上。
堡垒主机只有一个网卡,与内部网络连接(如图7-2)。
通常在路由器上设立过滤规则,并使这个单网卡堡垒主机成为从Internet惟一可以访问的主机,确保了内部网络不受未被授权的外部用户的攻击。
而Intranet内部的客户机,可以受控制地通过屏蔽主机和路由器访问Internet。
图7-2说明了主机屏蔽防火墙的配置情况。
7.2.3 子网屏蔽防火墙
这种方法是在Intranet和Internet之间建立一个被隔离的子网,用两个包过滤路由器将这一子网分别与Intranet和Internet分开。
两个包过滤路由器放在子网的两端,在子网内构成一个“缓冲地带”(如图7-3),两个路由器一个控制Intranet 数据流,另一个控制Internet数据流,Intranet和Internet均可访问屏蔽子网,但禁止它们穿过屏蔽子网通信。
可根据需要在屏蔽子网中安装堡垒主机,为内部网络和外部网络的互相访问提供代理服务,但是来自两网络的访问都必须通过两个包过滤路由器的检查。
对于向Internet公开的服务器,像、Mail等Internet服务器也可安装在屏蔽子网内,这样无论是外部用户,还是内部用户都可访问。
这种结构的防火墙安全性能高,具有很强的抗攻击能力,但需要的设备多,造价高。