第十章防火墙技术10.1防火墙的体系结构10.2防火墙的实现技术及构建10.3防火墙技术展望10.4防火墙概述10主流防火墙产品简介10.5防火墙概述10.11防火墙的功能2防火墙的分类3防火墙的局限性4什么是防火墙什么是防火墙•防火墙(Firewall)是一种用来加强网络之间访问控制的特殊网络互连设备,是一种非常有效的网络安全模型。•在网络中防火墙主要用于逻辑隔离外部网络与受保护的内部网络。10.1什么是防火墙•防火墙技术属于典型的静态安全技术,该类技术用于逻辑隔离内部网络与外部网络。•通过数据包过滤与应用层代理等方法实现内外网络之间信息的受控传递,从而达到保护内部网络的目的。10.1什么是防火墙•经典安全模型10.1什么是防火墙•防火墙规则–防火墙的基本原理是对内部网络与外部网络之间的信息流传递进行控制–控制的功能是通过在防火墙中预先设定一定的安全规则(也称为安全策略)实现的10.1什么是防火墙•防火墙规则–防火墙的安全规则由匹配条件与处理方式两个部分共同构成–其中匹配条件是一些逻辑表达式,根据信息中的特定值域可以计算出逻辑表达式的值为真(True)或假(False)–如果信息使匹配条件的逻辑表达式为真,则说明该信息与当前规则匹配10.1什么是防火墙•防火墙规则–信息一旦与规则匹配,就必须采用规则中的处理方式进行处理–处理方式主要包括•Accept:允许数据包或信息通过•Reject:拒绝数据包或信息通过,并且通知信息源该信息被禁止•Drop:直接将数据包或信息丢弃,并且不通知信息源10.1什么是防火墙•防火墙规则–基本原则•“默认拒绝”原则(YES规则)–只定义允许(Yes)的规则,不满足规则的禁止•“默认允许”原则(NO规则)–只定义禁止(No)的规则,不满足规则的允许–现有的防火墙产品大多基于第一种规则10.1什么是防火墙•匹配条件–网络层•IP源地址、IP目的地址、协议–传输层•源端口、目的端口–应用层•根据各种具体应用而定–基于信息流向的匹配条件•向内、向外10.1防火墙的功能①网络安全的屏障;②过滤不安全的服务;(两层含义)内部提供的不安全服务和内部访问外部的不安全服务③阻断特定的网络攻击;(联动技术的产生)④部署NAT机制;⑤提供了监视局域网安全和预警的方便端点。提供包括安全和统计数据在内的审计数据,好的防火墙还能灵活设置各种报警方式。10.1防火墙的分类•防火墙分类–按防范领域分类•个人防火墙–禁止Internet文件共享、隐藏端口、过滤IP信息流、控制Internet应用程序、警告和日志、漏洞检查•网络防火墙–对网络数据流进行分析,并按照规则进行过滤。10.1个人防火墙•是在操作系统上运行的软件,可为个人计算机提供简单的防火墙功能;•大家常用的个人防火墙有:NortonPersonalFirewall、天网个人防火墙、瑞星个人防火墙等;•安装在个人PC上,而不是放置在网络边界,因此,个人防火墙关心的不是一个网络到另外一个网络的安全,而是单个主机和与之相连接的主机或网络之间的安全。10.110.110.1网络防火墙•个人防火墙是一种纯软件防火墙,其应用范围较小,且只支持Windows系统,功能相对来说要弱很多,并且安全性和并发连接处理能力较差;•作为网络防火墙的软件防火墙具有比个人防火墙更强的控制功能和更高的性能。不仅支持Windows系统,并且多数都支持Unix或Linux系统。如十分著名的CheckPointFireWall-1,MicrosoftISAServer2000等。10.1防火墙的分类•防火墙分类–按实现的方式分类•软件防火墙•硬件防火墙10.1一般硬件防火墙•不等同于采用专用芯片的纯硬件防火墙,但和纯软件防火墙有很大差异;•一般由小型的防火墙厂商开发,或者是大型厂商开发的中低端产品,应用于中小型企业,功能比较全,但性能一般;•一般都采用PC架构(就是一台嵌入式主机),但使用的各个配件都量身定制。10.1一般硬件防火墙•其操作系统一般都采用经过精简和修改过内核的Linux或Unix,安全性比使用通用操作系统的纯软件防火墙要好很多,并且不会在上面运行不必要的服务,这样的操作系统基本就没有什么漏洞。但是,这种防火墙使用的操作系统内核一般是固定的,是不可升级的,因此新发现的漏洞对防火墙来说可能是致命的;•国内自主开发的防火墙大部分都属于这种类型。10.1纯硬件防火墙•采用专用芯片(非X86芯片)来处理防火墙核心策略的一种硬件防火墙,也称为芯片级防火墙。(专用集成电路(ASIC)芯片或者网络处理器(NP)芯片);•最大的亮点:高性能,非常高的并发连接数和吞吐量;•采用ASIC芯片的方法在国外比较流行,技术也比较成熟,如美国NetScreen公司的高端防火墙产品;国内芯片级防火墙大多还处于开发发展的阶段,采用的是NP技术。10.1防火墙的分类•防火墙分类–按实现技术分类•数据包过滤–在系统进行IP数据包转发时设置访问控制列表,访问控制列表主要由各种规则组成。–数据包过滤的规则主要采用网络层与传输层匹配条件•应用层代理–应用层代理是指运行在防火墙主机上的特殊应用程序或者服务器程序–这些程序根据安全策略接受用户对网络的请求,并在用户访问应用信息时依据预先设定的应用协议安全规则进行信息过滤10.1•应用层代理示意图10.1防火墙分类•技术方案对比–数据包过滤•服务无关、对用户透明•过滤规则复杂、正确性难以检测、容易形成瓶颈–应用层代理•内网安全性较高、Cache机制可以提高信息访问效率、支持用户认证、支持基于内容的信息过滤•必须对每种应用提供代理服务和代理客户端、实时性差10.1网络的安全性通常是以网络服务的开放性和灵活性为代价的。防火墙的使用也会削弱网络的功能:①由于防火墙的隔离作用,在保护内部网络的同时使它与外部网络的信息交流受到阻碍;②由于在防火墙上附加各种信息服务的代理软件,增大了网络管理开销,还减慢了信息传输速率,在大量使用分布式应用的情况下,使用防火墙是不切实际的。防火墙的局限性防火墙只是整个网络安全防护体系的一部分,而且防火墙并非万无一失:①只能防范经过其本身的非法访问和攻击,对绕过防火墙的访问和攻击无能为力;②不能解决来自内部网络的攻击和安全问题;③不能防止受病毒感染的文件的传输;④不能防止策略配置不当或错误配置引起的安全威胁;⑤不能防止自然或人为的故意破坏;不能防止本身安全漏洞的威胁。防火墙的局限性防火墙的体系结构10.21双宿主机2屏蔽主机3屏蔽子网4分组过滤路由器防火墙的体系结构防火墙的体系结构:防火墙系统实现所采用的架构及其实现所采用的方法,它决定着防火墙的功能、性能以及使用范围。防火墙可以被设置成许多不同的结构,并提供不同级别的安全,而维护运行的费用也各不相同。分组过滤路由器内部网络Internt由策略来决定转发或阻止数据包分组过滤路由器分组过滤路由器作为内外网连接的唯一通道,要求所有的报文都必须在此通过检查。通过在分组过滤路由器上安装基于IP层的报文过滤软件,就可利用过滤规则实现报文过滤功能。缺点:在单机上实现,是网络中的“单失效点”。不支持有效的用户认证、不提供有用的日志,安全性低。双宿主机内部网络Internt双宿主机防火墙双宿主机在被保护网络和Internet之间设置一个具有双网卡的堡垒主机,IP层的通信完全被阻止,两个网络之间的通信可以通过应用层数据共享或应用层代理服务来完成。通常采用代理服务的方法堡垒主机上运行着防火墙软件,可以转发应用程序和提供服务等。优缺点:堡垒主机的系统软件可用于身份认证和维护系统日志,有利于进行安全审计该方式的防火墙仍是网络的“单失效点”。隔离了一切内部网与Internet的直接连接,不适合于一些高灵活性要求的场合屏蔽主机内部网络Internt分组过滤路由器堡垒主机防火墙屏蔽主机一个分组过滤路由器连接外部网络,同时一个运行网关软件的堡垒主机安装在内部网络。通常在路由器上设立过滤规则,使这个堡垒主机成为从外部唯一可直接到达的主机。提供的安全等级较高,因为它实现了网络层安全(包过滤)和应用层安全(代理服务)。过滤路由器是否正确配置是这种防火墙安全与否的关键。过滤路由器的路由表应当受到严格的保护,如果路由表遭到破坏,则堡垒主机就有被越过的危险。屏蔽子网内部网络Internt堡垒主机外部路由器周边网络内部路由器屏蔽子网是最安全的防火墙系统,它在内部网络和外部网络之间建立一个被隔离的子网(非军事区,DMZ(DemilitarizedZone))在很多实现中,两个分组过滤路由器放在子网的两端,内部网络和外部网络均可访问被屏蔽子网,但禁止它们穿过被屏蔽子网通信通常将堡垒主机、各种信息服务器等公用服务器放于DMZ中堡垒主机通常是黑客集中攻击的目标,如果没有DMZ,入侵者控制堡垒主机后就可以监听整个内部网络的会话。防火墙体系结构回顾内部网络Internt由策略来决定转发或阻止数据包分组过滤路由器防火墙体系结构回顾防火墙体系结构回顾防火墙体系结构回顾防火墙的实现技术10.31代理服务(ProxyService)2状态检测(StatefulInspection)3网络地址转换(NetworkAddressTranslation)4数据包过滤(PacketFiltering)数据包过滤(1/6)应用层表示层会话层传输层数据链路层物理层路由器应用层表示层会话层传输层数据链路层物理层网络层网络层数据链路层物理层数据包过滤技术是一种简单、高效的安全控制技术,是防火墙发展初期普遍采用的技术。工作原理:系统在网络层检查数据包,与应用层无关。依据在系统内设置的过滤规则(通常称为访问控制表——AccessControlList)对数据流中每个数据包包头中的参数或它们的组合进行检查,以确定是否允许该数据包进出内部网络。数据包过滤(2/6)包过滤一般要检查(网络层的IP头和传输层的头):IP源地址IP目的地址协议类型(TCP包/UDP包/ICMP包)TCP或UDP的源端口TCP或UDP的目的端口ICMP消息类型TCP报头中的ACK位数据包过滤(3/6)举例:某条过滤规则为:禁止地址1的任意端口到地址2的80端口的TCP包。含义?表示禁止地址1的计算机连接地址2的计算机的服务。数据包过滤(4/6)帧头(例如HDLC)数据包(IP头部)段(例如TCP头部)数据帧尾目的端口号源端口号目的IP地址源IP地址封装协议用ACL规则测试数据包拒绝,丢弃允许通过ACL对数据包的过滤NoYesNo数据包到达防火墙接口与第一条匹配吗?接口上有ACL吗?Yes列表中的下一条目还有更多的条目吗?Yes应用条件拒绝允许转发给接口NoICMP消息ACL处理数据包的过程优点:逻辑简单,价格便宜,易于安装和使用,网络性能和透明性好。主要缺点:①安全控制的力度只限于源地址、目的地址和端口号等,不能保存与传输或与应用相关的状态信息,因而只能进行较为初步的安全控制,安全性较低;②数据包的源地址、目的地址以及端口号等都在数据包的头部,很有可能被窃听或假冒。数据包过滤(5/6)IP欺诈数据包过滤允许外部网络直接连接到内部网络主机;只要数据包符合ACL规则都可以通过,因此它不能区分包的“好”与“坏”;它不能识别IP欺诈。IP欺诈当外部主机伪装内部主机的IP地址时,防火墙能够阻止这种类型的IP欺骗。但是当外部主机伪装成可信任的外部主机的IP地址时,防火墙却不能阻止它们。由于无状态包过滤防火墙不能为挂起的通信维持一个记录,所以它就必须根据数据包的格式来判断该数据包是否属于先前所允许的对话。这就使其有受到IP欺诈的可能性,并且无法识别UDP数据包和ICMP包的状态。代理服务应用层表示层会话层传输层数据链路层物理层应用层表示层会话层传输层数据链路层物理层网络层TelnetHTTPFTP应用层表示层会话层传输层数据链路层物理层网络层网络层是运行于连接内部网络与外部网络的主机(堡垒主机)上的一种应用,是一种比较高级的防火墙技术。工作过程:当用