1、第五章防火墙原理与设计,本章重点,防火墙的分类静态包过滤防火墙动态包过滤防火墙电路级网关应用级网关状态检测防火墙切换代理空气隙防火墙,为什么需要防火墙,所有软件都是有错的通常情况下99.99%无错的程序很少会出问题同安全相关的99.99%无错的程序可以确信会被人利用那0.01%的错误0.01%安全问题等于100%的失败,内部网特点,组成结构复杂各节点通常自主管理信任边界复杂,缺乏有效管理有显著的内外区别机构有整体的安全需求最薄弱环节原则,为什么需要防火墙,保护内部不受来自Internet的攻击为了创建安全域为了增强机构安全策略,51防火墙概述,防火墙是由软件和硬件组成的系统,它处于安全的网络(
2、通常是内部局域网)和不安全的网络(通常是 Internet,但不局限于 Internet)之间,根据由系统管理员设置的访问控制规则,对数据流进行过滤。根据安全策略,防火墙对数据流的处理方式有三种:允许数据流通过;拒绝数据流通过;将这些数据流丢弃。,由于防火墙是放置在两个网络之间的网络安全设备,因此防火墙设计的基本目标:所有进出网络的数据流都必须经过防火墙;只允许经过授权的数据流通过防火墙;防火墙自身对入侵是免疫的。防火墙不是一台普通的主机,它自身的安全性要比普通主机更高。,防火墙由几个部分构成。在图5.1中,“过滤器”用来阻断某些类型的数据传输。网关则由一台或几台机器构成,用来提供中继服务,以
3、补偿过滤器带来的影响。,外部过滤器用来保护网关免受侵害,而内部过滤器用来防备因网关被攻破而造成恶果。,目前市场上常见的防火墙都有三个或三个以上的接口,同时发挥了两个过滤器和网关的功能,通过不同的接口实现DMZ区(网关所在的网络称为“非军事区”)和内部网络的划分。,现在市场上销售的防火墙的质量都非常高。自Internet诞生以来,防火墙技术取得了长足的进步。用户可以购买防火墙,也可以采用免费软件自己动手构造一个软件防火墙。但是,购买专业防火墙会有很多好处: 第一,防火墙厂商提供的接口会更多、更全;第二,过滤深度可以定制,甚至可以达到应用级的深度过滤; 第三,可以获得厂商提供的技术支持服务。而用户
4、自行构造的软件防火墙往往不具备以上优势。,防火墙主要功能:1 防止易受攻击的服务。2控制访问网点。3集中安全性管理。4对网络存取和访问进行监控审计。 5检测扫描计算机的企图。6防范特洛伊木马。7防病毒功能。8支持VPN技术。9提供网络地址翻译NAT功能,防火墙的主要缺陷有:1不能防范内部攻击。2不能防范不通过防火墙的连接入侵。3不能自动防御所有新的威胁。,52防火墙的类型和结构,最初的防火墙依附于路由器,它只是路由器中的一个过滤模块。后来,随着过滤功能的完善和过滤深度的增加,防火墙逐步从路由器中分离出来,成为一个独立的设备。目前的防火墙甚至集成VPN及IDS等功能,从概念上来讲,可以将防火墙分
5、成两种基本类型的防火墙:1网络层防火墙网络层防火墙是作用于网络层的,一般根据源、目的地址做出决策,输入单个的IP包,通常需要分配有效的IP地址块。网络层防火墙一般速度都很快,对用户很透明。2应用层防火墙应用层防火墙作用于网络应用层,是通过软件来分析用户应用层的数据流量,能对通过它的数据流进行记录和审计,能提供更详尽的审计报告。记录和控制所有进出流量的能力是应用层网关的主要优点之一。同时,应用层防火墙还可以充当网络地址翻译器。在某些情况下,设置了应用层防火墙后,可能会对性能造成影响,会使防火墙不太透明。应用层防火墙比网络层防火墙实施更保守的安全模型。,从技术上来讲,可以将防火墙分成传统防火墙,分
6、布式防火墙,嵌入式防火墙和智能防火墙等。1嵌入式防火墙嵌入式防火墙就是将防火墙功能嵌入到路由器或交换机中。嵌入式防火墙的主要优点和缺点见教材。2智能防火墙智能防火墙就是利用统计、记忆、概率和决策的智能方法来对数据进行识别,并达到访问控制的目的。,第一代防火墙始于1985年前后,由CISCO的IOS软件公司研制。这一代防火墙称为包过滤防火墙。第二代防火墙结构基于电路中继的,此类防火墙被称为电路级网关防火墙。没有发布基于这一结构的任何产品。第三代防火墙称为应用级网关防火墙。此类防火墙采用了在堡垒主机运行代理服务的结构。第四代防火墙(目前)状态检测防火墙。第五代防火墙,日前尚未有统一的说法。一种观点
7、认为,在1996年由 Global Internet Software Group公司的首席科学家 Scott Wiegel开始启动的内核代理结构研究计划属于第五代防火墙;还在种观。点认为,在1998年由NAI公司推出的自适应代理技术给代理类型的防火墙赋予了全新的意义,可以称为第五代防火墙。,防火墙发展历程,521防火墙分类,防火墙分为三种:包过滤防火墙、电路级网关防火墙和应用级网关防火墙。每种防火墙的特性均由它所控制的协议层决定。这种分类其实非常模糊。例如,包过滤防火墙运行于IP层,但是它可以窥视TCP信息,而这一操作又发生在电路层;对于某些应用级网关,由于设计原理自与就存在局限性,因此它们
8、必须使用包过滤防火墙的某些功能。,大多数市面上销售的防火墙产品包含以下一种或多种防火墙结构:静态包过滤;动态包过滤;电路级网关;应用级网关;状态检查包过滤:切换代理:空气隙(物理隔离)。,要了解防火墙是哪种类型的结构,关键是要知道防火墙工作于OSI模型的哪一层上。图5.2给出了OSI模型与防火墙类型的关系。,防火墙工作于OSI模型的层次越高,其检查数据包中的信息就越多,因此防火墙所消耗的处理器工作周期就越长;该防火墙结构所提供的安全保护等级就越高。OSI模型与TCPIP模型之间并不存在对应的关系。防火墙通常建立在TCPIP模型基础上。,5.2.2防火墙的体系结构,筛选路由器是防火墙最基本的构件
9、。它一般作用在网络层(IP层),按照一定的安全策略,对进出内部网络的信息进行分析和限制,实现报文过滤功能。该防火墙优点在于速度快等,但安全性能差。,双宿主主机结构 双宿主主机结构是用一台装有两块网卡的堡垒机构成防火墙。堡垒机上运行着防火墙软件,可以转发应用程序,提供服务等。内外网络之间的IP数据流被双宿主主机完全切断。用堡垒机(典型的防火墙建立在一个服务器或主机的机器上,也称为“堡垒主机”,它是一个多边协议路由器。这个堡垒主机连接两个网络,一边与内部网相连,另一边与因特网相连) 取代路由器执行安全控制功能。,屏蔽主机网关结构屏蔽主机网关结构中堡垒机与内部网相连,用筛选路由器连接到外部网上,筛选
10、路由器作为第一道防线,堡垒机作为第二道防线。这确保了内部网络不受未被授权的外部用户的攻击。该防火墙系统提供的安全等级比前面两种防火墙系统要高,主要用于企业小型或中型网络。,屏蔽子网结构 屏蔽子网结构,就是在内部网络和外部网络之间建立一个被隔离的子网,这个子网可有堡垒主机等公用服务器组成,用两台筛选路由器将这一子网分别与内部网络和外部网络分开。内部网络和外部网络均可访问屏蔽子网,但禁止它们穿过屏蔽子网进行通信,从而进一步实现屏蔽主机的安全性。,5.3 包过滤技术5.3.1包过滤原理,1、包的概念 一个文件要穿过网络,必须将文件分成小块,每小块文件单独传输,这些小块被称为包。2、包过滤的工作过程
11、包过滤技术可以允许或不允许某些包在网络上传递,它依据以下的判据: (1)将包的目的地址作为判据; (2)将包的源地址作为判据; (3)将包的传送协议作为判据。,3、包过滤器操作 几乎所有的包过滤设备(过滤路由器或包过滤网关)都按照如下方式工作: (1)包过滤标准必须由包过滤设备端口存储起来,这些包过滤标准叫包过滤规则。 (2)当包到达端口时,对包的报头进行语法分析,大多数包过滤设备只检查IP、TCP或UDP报头中的字段,不检查包体的内容。 (3)包过滤器规则以特殊的方式存储。 (4)如果一条规则阻止包传输或接收,此包便不被允许通过。 (5)如果一条规则允许包传输或接收,该包可以继续处理。 (6
12、)如果一个包不满足任何一条规则,该包被阻塞。,6.3.2包过滤的基本原则,包过滤有两条十分重要的基本准则:第一个原则是一切未被允许的就是被禁止的。第二个原则是一切未被禁止的就是被允许的。,OSI参考模型中包过滤控制点 根据Internet的特性,防火墙在以下三层中设置控制点是科学的。 (1)网络层控制点应该设在源和目的IP地址,以及IP Options上。 (2)传输层控制点应该设在TCP头中的源和目的端口号以及TCP标志位上。 (3)应用层控制点应该基于特定协议分别设定。,6.2.3 包过滤技术特点,在路由器上实现包过滤,则费用非常小。在流量适中并定义较少过滤器时,对路由器的性能几乎没有影响
13、包过滤路由器对用户和应用来讲是透明的,易于维护。定义数据包过滤器会比较复杂。任何直接经过路由器的数据包都有被用作数据驱动式攻击的潜在危险。随着过滤器数目的增加,路由器的吞吐量会下降。包过滤器可能无法对网络上流动的信息提供全面的控制。对于采用动态分配端口的服务。通常包过滤器只按规则丢弃数据包,而不使用记录和用户报告,不具备审计功能,使得管理员不能从访问记录中发现黑客的攻击记录。,5.4代理服务技术,代理服务是运行在防火墙主机上的专门的应用程序,它位于内部网络上的用户和外部网上的服务之间,内部用户和外部网服务彼此不能直接通信,只能分别与代理打交道。代理负责接收外部网服务请求,再把它们转发到具体的服
14、务中。代理服务防火墙可以配置成允许来自内部网络的任何连接,它也可以配置成要求用户认证后才建立连接,为安全性提供了额外的保证,使得从内部发动攻击的可能性大大减少。,例如,一个公司决定将一个Telnet服务器作为主机,以使得远程的管理员能够对其执行某些特定的操作。它代理一个连接过程如下:1有一个用户通过23端口Telnet到这个代理服务器上。屏蔽设备检测这个连接的源IP地址是否在允许的源地址列表中。如果在的话,就对该连接进行下一步的处理;如果不在的话,则拒绝该次连接。2提示用户进行身份验证。3在通过了身份验证后,系统就会提示用户给用户一个系统菜单来允许用户连接到目的主机。4用户选择要连接的系统。5
15、如果有要求,系统会提示用户再输入另外的身份验证信息。,代理服务器结构,在硬件结构上,代理服务器可采用双宿堡垒主机、屏蔽主机、屏蔽子网三种体系结构,运行防火墙软件的主机称为堡垒主机,它的作用是转发应用、提供服务、监督通信。1、双宿主机2、屏蔽主机3、屏蔽子网结构在软件结构上,代理服务器工作在应用层上,应用网关系统对网络用户运行的各个应用都使用特殊目的代码,需要特殊的应用软件。,因特网网中的代理服务,因特网上的主要服务功能有以下几种:1、电子邮件电子邮件系统由三个部分组成: 一个服务器,用来向外部主机发送邮件或从外部主机接收邮件。 发信代理,用于将邮件正确地放入本地主机邮箱中。 用户代理,用于让收
16、信人阅读邮件并编排出站邮件。 电子邮件由于各种不同原因,每一部分都是脆弱的、易于被侵入的。2、简单邮件传输协议(SMTP)代理 因为SMTP是一个存储转发协议,所以它特别适合于进行代理。,因特网中的代理服务,3、邮局协议(POP)的代理 邮局协议(POP)对于代理系统来说是非常简单的,因为它采用单个连接。4、文件传输FTP FTP用来从一台机器传送文件到另一台机器上。使用FTP可以传送任何类型的文件, 有两种类型的FTP访问,即有名FTP和匿名FTP。 FTP使用两个独立的FTP连接,一个在服务器和客户程序之间传递命令和结果(通常称为命令通道);另一个用来传送真实的文件和目录列表(通常称为数据
17、通道)。5、远程登录(Telnet) 代理系统能够很好地支持Telnet。,因特网中的代理服务,6、存储转发协议(NNTP) NNTP是一个存储转发的协议,有能力进行自己的代理。它作为一个简单的单个连接协议很容易实现代理。7、万维网(WWW) 各种HTTP客户程序(如 Netscape Navigator或因特网 Explorer等)都支持代理方案。8、域名服务(DNS) DNS具有这样的结构:可以使服务器充当客户程序的代理。利用DNS能够转发自身的特点,可以使一个DNS服务器成为另一个DNS服务器的代理。,5.5电路层网关技术,电路层网关的运行方式与代理服务器相似,它把数据包提交给应用层过滤
18、,并只依赖于TCP的连接。它遵循SOCKS 协议,即电路层网关的标准。它是在网络的传输层实施访问策略,是在内部网和外部网之间建立一个虚拟电路进行通信。,电路层网关的工作过程如下:1假设有一个用户正在试图和一个目的URL进行连接。2该用户所使用的客户应用程序是将请求发到地址已被解析的代理服务器的内部接口上。3如果需要身份验证的话,网关就会提示用户进行身份验证。4如果用户通过了身份验证的话,代理服务器就会执行一些另外的任务,然后代理服务器为目的URL发出一个DNS请求,接着它再用自己的源IP地址和目的IP地址建立一个连接。5代理服务器将Web服务器上的应答转发给客户。,5.6状态检测技术,状态检测
19、技术是包过滤技术的延伸,使用各种状态表(state tables)来追踪活跃的TCP会话。由用户定义的访问控制列表(ACL)决定允许建立哪些会话(session),只有与活跃会话相关联的数据才能穿过防火墙。 状态检测技术防火墙的工作过程如下:1防火墙检查数据包是否是一个已经建立并且正在使用的通信流的一部分。 2根据所使用的协议,决定对数据包的检查程度。 3如果数据包和连接表的各项都不匹配,那么防火墙就会检测数据包是否与它所配置的规则集相匹配。,4在数据包检测后,防火墙就会将该数据包转发到它的目的地址,并且防火墙会在其连接表中为此次对话创建或者更新一个连接项,防火墙将使用这个连接项对返回的数据包
20、进行校验。5防火墙通常对TCP包中被设置的FIN位进行检测或者通过使用计时器来决定何时从连接表中删除某连接项。 状态检测技术防火墙是对包过滤技术、电路层网关和代理服务技术的折中,它的速度和灵活性没有包过滤机制好,但比代理服务技术好。它的应用级安全不如代理服务技术强,但又比包过滤的机制的高。这种结合是对包过滤技术和代理服务技术的折中。,5.7分布式防火墙5.7.1传统边界式防火墙,传统防火墙都是设置在网络边界上的,即在内部网和外部网之间构成一个屏障,进行网络存取控制,所以称这种类型的防火墙为边界防火墙(Perimeter Firewall)。传统边界式防火墙缺点: 1网络应用受到结构性限制 2内
21、部安全隐患仍在 3效率较低和故障率高,5.7.2分布式防火墙概述,分布式防火墙把Internet和内部网络都视为不可靠的,它们对每个用户、每台服务器都进行保护,如同边界防火墙对整个网络进行保护一样。分布式防火墙是一种主机驻留式的安全系统,用以保护内部网络中的关键结点服务器、数据及工作站免受非法入侵的破坏。由于防火墙驻留在被保护的主机上,因此可以针对该主机上运行的具体应用和对外提供的服务设定针对性很强的安全策略。因为分布式防火墙可以分布在整个内部网络或服务器中,所以它具有无限制的扩展能力。,5.7.3分布式防火墙组成,分布式防火墙是一个完整的系统,包含如下几个部分: 1网络防火墙(Network
22、 Firewall)它是用于内部网与外部网之间,以及内部网各子网之间的防护。2主机防火墙(Host Firewall)是用于对网络中的服务器和桌面系统进行防护的。3中心管理(Central Management)这是一个服务器软件,负责总体安全策略的策划、管理、分发及日志的汇总。,5.7.4分布式防火墙工作原理,分布式防火墙由中心管理定义策略,由分布在网络中的各个端点执行这些策略。它涉及到三个主要概念:可以被允许或被禁止连接的策略语言;系统管理工具;IP安全协议。策略语言主要用于表达所需要的策略,标志内部主机。使用IP安全协议中的密码凭证对各主机进行标志。系统管理工具用于将形成的策略文件分发给
23、被防火墙保护的所有主机。,分布式防火墙工作过程如下:首先由制定防火墙接入控制策略的中心通过编译器将策略语言描述转换成内部格式,形成策略文件;然后中心管理采用系统管理工具把策略文件分发给各台“内部”主机;“内部”主机将从两方面来判定是否接受收到的包,一方面是根据IP安全协议,另一方面是根据服务器端的策略文件。,5.8防火墙安全策略5.8.1防火墙服务访问策略,服务访问策略应集中于所有的外部网络和内部网络访问的问题,这种策略应当是整个机构保护信息资源策略的延伸。切合实际的策略要既能防护网络免受已知风险,又能使用户充分利用网络资源。 防火墙可以实施各种不同的服务访问策略:(1)是可以不允许从Inte
24、rnet访问网点,但要允许从网点访问Internet;(2)是允许从Internet进行某些访问,但是只许可访问经过选择的系统。,5.8.2防火墙设计策略,防火墙一般采用两个基本设计方针。1拒绝访问除明确许可以外的任何一种服务,即没有被列为允许的服务都是禁止的。2允许访问除明确拒绝以外的任何一种服务,即没有被列为禁止的服务都是允许的。从安全性的角度考虑,第一种策略更可取一些;而从灵活性和使用方便性的角度考虑,则第二种策略更适合。,防火墙选购,下面给出一些选购防火墙时注意事项。1可靠性。2防火墙的体系结构。3技术指标。4 安装和配置。5扩展性。6可升级性。 7兼容性。8高效性。9界面友好。,WI
25、N XP防火墙,在Win XP操作系统中内置了一个称为ICF的防火墙,ICF是一个基于包的防火墙,可以不响应Ping命令,可以禁止外部程序对你的计算机进行端口扫描,抛弃所有没有请求的IP包。ICF的原理是通过保存一个通信表格,记录所有自本机发出的目的IP地址、端口、服务等来达到保护本机的目的。当一个IP数据包进入本机时,ICF会检查这个表格,看到达的这个IP数据包是不是本机所请求的,如果是就让它通过,否则就抛弃这个IP数据包。,个人防火墙程序设计介绍,个人防火墙程序分为三大部分:主程序、核心层过滤模块、应用层过滤模块。1主程序主程序是用户和防火墙进行对话的窗口。主程序属于控制部分,当应用层过滤
26、模块与核心层过滤模块获得当前动作后把消息传给主程序,由主程序根据访问控制规则判断合法性。并将得到的判断结果传给相应的模块,最后由该模块进行相应的处理,决定是否丢弃数据包等,由此达到控制目的。,2核心层过滤模块 在个人防火墙中,目前采用两种封包过滤技术,即核心层封包过滤和应用层封包过滤。需要有两个HOOK部分,分别在核心层过滤模块和应用层过滤模块中,它们分别完成不同的功能。 核心层过滤模块主要是负责NDIS HOOK,它主要是面向通过NDIS(Network Driver Interface Specification:网络驱动程序接口规范)进行网络通信的应用程序、DLL和驱动程序的,核心层过滤模块的编写需要有一定的驱动程序开发基础。,3应用层过滤模块 应用层过滤模块主要是负责SPI HOOK,它是面向通过Socket访问网络的应用程序,应用层过滤模块的编写需要DLL开发基础。 SPI HOOK的实现与一般的API HOOK的实现不同,一般系统函数和API函数的HOOK都是从内存中修改函数地址表来实现的。而在SPI的加载方式中,SPI有一个保存着加载的顺序和其他属性信息配置表,这张表就保存在注册表中,操作系统会根据这张表加载SPI模块。,作业,填空题1,2,3,5,7,8思考题1,4,6,7,