第9章防火墙技术_第1页
第9章防火墙技术_第2页
第9章防火墙技术_第3页
第9章防火墙技术_第4页
第9章防火墙技术_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章防火墙技术9.1防火墙概述9.2防火墙的设计策略和安全策略9.3防火墙的体系结构9.4防火墙的主要技术

9.1防火墙概述传统防火墙的概念概念:防火墙本义是指人们房屋之间的一道墙,可以防止火灾发生时大火蔓延到其他的房屋。9.1.1防火墙的基本概念防火墙是在两个网络之间执行控制和安全策略的系统,它可以是软件,也可以是硬件,或两者并用。Internet两个安全域之间通信流的唯一通道根据访问控制规则决定进出网络的行为内部网9.1.2防火墙的作用与不足总的来说,防火墙系统应具有以下5个方面的特性。(1)内部网和外部网之间的数据传输都必须经过防火墙。(2)只有被授权的合法数据,即符合安全策略的数据,才可以通过防火墙,其他的数据将被防火墙丢弃。(3)防火墙本身不受各种攻击的影响,否则,防火墙的保护功能将大大降低。(4)采用目前新的信息安全技术,如现代加密技术、一次口令系统、智能卡等增强防火墙的保护功能,为内部网提供更好的保护。(5)人机界面良好。采用防火墙保护内部网有以下优点。(1)防火墙允许网络管理员定义一个中心“扼制点”来防止非法用户(如黑客和网络破坏者等)进入内部网。(2)保护网络中脆弱的服务。(3)在防火墙上可以很方便地监视网络的安全性,并产生报警。(4)可以集中安全性。(5)防火墙可以作为部署(网络地址转换NetworkAddressTranslator,NAT)的逻辑地址。(6)增强保密性和强化私有权。(7)防火墙是审计和记录Internet使用量的一个最佳地方。(8)防火墙也可以成为向客户发布信息的地点。防火墙有如下的缺陷和不足。(1)限制有用的网络服务。

(2)无法防护内部网用户的攻击。

(3)防火墙无法防范通过防火墙以外的其他途径的攻击。

(4)防火墙也不能完全防止传送已感染病毒的软件或文件。

(5)防火墙无法防范数据驱动型的攻击。(6)不能防备新的网络安全问题。图9.1防火墙后门防火墙的分类从实现技术角度分类包过滤防火墙状态检测防火墙应用网关防火墙代理防火墙从形态角度分类软件防火墙运行在一台或多台计算机之上的特别软件硬件防火墙专门设计的网络设备,安装了防火墙软件,本质上还是软件在进行控制从保护对象角度分类InternetInternet网络防火墙保护整个网络单机/个人防火墙保护单台主机9.2防火墙的设计策略和安全策略9.2.1防火墙的设计策略防火墙一般执行以下两种基本设计策略中的一种。(1)除非明确不允许,否则允许某种服务。(2)除非明确允许,否则将禁止某种服务。9.2.2防火墙的安全策略研制和开发一个有效的防火墙,首先要设计和制定一个有效的安全策略。安全策略应包含以下主要内容:(1)用户账号策略; (2)用户权限策略;(3)信任关系策略; (4)包过虑策略;(5)认证策略; (6)签名策略;(7)数据加密策略; (8)密钥分配策略;(9)审计策略。1.用户账号策略2.用户权限策略3.信任关系策略图9.2单向信任关系

图9.3双向信任关系

图9.4多重信任关系4.包过虑策略这里主要从以下几个方面来讨论包过滤策略:包过滤控制点;包过滤操作过程;包过滤规则;防止两类不安全设计的措施;对特定协议包的过滤。5.认证、签名和数据加密策略6.密钥分配策略7.审计策略审计是用来记录如下事件:(1)哪个用户访问哪个对象;(2)用户的访问类型;(3)访问过程是否成功。9.3防火墙的体系结构防火墙按体系结构可以分为包过滤防火墙、屏蔽主机防火墙、屏蔽子网防火墙、多宿主主机防火墙和通过混合组合而衍生的其他结构的防火墙。9.3.1包过滤型防火墙包过滤型防火墙的核心技术就是安全策略设计即包过滤算法的设计。图9.5

包过滤型防火墙

包过滤型防火墙具有以下优点。(1)处理包的速度比代理服务器快,过滤路由器为用户提供了一种透明的服务,用户不用改变客户端程序或改变自己的行为。(2)实现包过滤几乎不再需要费用(或极少的费用),因为这些特点都包含在标准的路由器软件中。(3)包过滤路由器对用户和应用来讲是透明的。包过滤型防火墙存在以下的缺点。(1)防火墙的维护比较困难,定义数据包过滤器会比较复杂,因为网络管理员需要对各种Internet服务、包头格式以及每个域的意义有非常深入的理解,才能将过滤规则集尽量定义得完善。(2)只能阻止一种类型的IP欺骗,即外部主机伪装内部主机的IP,对于外部主机伪装其他可信任的外部主机的IP却不可阻止。(3)任何直接经过路由器的数据包都有被用做数据驱动攻击的潜在危险。

(4)一些包过滤网关不支持有效的用户认证。(5)不可能提供有用的日志,或根本就不提供,这使用户发觉网络受攻击的难度加大,也就谈不上根据日志来进行网络的优化、完善以及追查责任。(6)随着过滤器数目的增加,路由器的吞吐量会下降。(7)IP包过滤器无法对网络上流动的信息提供全面的控制。(8)允许外部网络直接连接到内部网络的主机上,易造成敏感数据的泄漏。包过滤路由器常见的攻击有以下几种。(1)源IP地址欺骗式攻击。(2)源路由攻击。(3)极小数据段式攻击。9.3.2多宿主主机(多宿主网关)防火墙多宿主主机拥有多个网络接口,每一个接口都连在物理上和逻辑上都分离的不同的网段上。每个不同的网络接口分别连接不同的子网,不同子网之间的相互访问实施不同的访问控制策略。

图9.6双宿主机防火墙双宿主主机防火墙采用主机取代路由器执行安全控制功能,故类似于包过滤防火墙,双宿主主机可以在内部网络和外部网络之间进行寻径。双宿主主机防火墙的最大特点是IP层的通信被阻止,两个网络之间的通信可通过应用层数据共享或应用层代理服务来完成,而不能直接通信。

图9.7

应用层数据共享

图9.8运行代理服务器的双宿主机使用双宿主主机作为防火墙,防火墙本身的安全性至关重要。图9.9运行代理服务器的双宿主机9.3.3屏蔽主机型防火墙屏蔽主机型防火墙由堡垒主机和包过滤路由器组成,所有的外部主机与一个堡垒主机相连接而不让它们与内部主机直接相连。图9.10

被屏蔽主机结构

图9.11

堡垒主机转发数据包

9.3.4屏蔽子网型防火墙图9.12

被屏蔽子网防火墙系统(DMZ)

墙根据堡垒主机和包过滤器的各种组合,基于屏蔽子网的防火墙系统衍生出了一些派生结构体系。(1)合并“非军事区”的外部路由器和堡垒主机的结构系统。图9.13

使用合并外部路由器和堡垒主机体系结构

(2)合并DMZ的内部路由器和外部路由器结构如图9.14所示。图9.14

使用合并内部路由器和外部路由器的体系结构

(3)使用多台堡垒主机的体系结构如图9.15所示。

图9.15

两个堡垒主机和两个“非军事区”

图9.16

牺牲主机结构

(4)使用多台外部路由器的体系结构,如图9.17所示。图9.17

使用多台外部路由器的体系结构9.3.5堡垒主机堡垒主机是一种被强化的可以防御进攻的计算机,是高度暴露于Internet中的,也是网络中最容易受到侵害的主机。

构筑堡垒主机的基本原则有以下两条。(1)使堡垒主机尽可能简单(2)做好备份工作以防堡垒主机受损1.堡垒主机的主要结构当前堡垒主机主要采用以下3种结构。(1)无路由双宿主主机(2)牺牲主机(3)内部堡垒主机2.堡垒主机的选择(1)选择主机时,应选择一个可以支持多个网络接口同时处于活跃状态,从而能够向内部网用户提供多个网络服务的机器。(2)建议用户选择较为熟悉的UNIX操作系统作为堡垒主机的操作系统。(3)选择堡垒主机时,不需要功能过高、速度过快的机器,而是争取做到物尽其用。但是应使堡垒主机的内存和硬盘足够大,以保证足够的信息交换空间。(4)在网络上,堡垒主机应位于DMZ内没有机密信息流或信息流不太敏感的部分。(5)在配置堡垒主机的网络服务时,应注意除了不得不提供的基本网络服务(如SMTP,FTP,WAIS,HTTP,NNTP和Gopher)外,应把那些内部网不使用的服务统统关闭。而且应尽量减少堡垒主机上的用户账户数,如果有可能,应禁止一切用户账户。9.4防火墙的主要技术9.4.1数据包过滤技术数据包过滤技术是在网络中的适当位置对数据包实施有选择的通过的技术。1.包过滤的模型

图9.18

包过滤模型

包过滤一般要检查下面几项:(1)IP源地址;(2)IP目的地址;(3)协议类型(TCP包、UDP包和ICMP包);(4)TCP或UDP的源端口;(5)TCP或UDP的目的端口;(6)ICMP消息类型;(7)TCP报头中的ACK位。另外,TCP的序列号、确认号,IP校验以及分段偏移也往往是要检查的选项。2.数据包过滤特性(1)IP包过滤特性IP源路由选项包、分段包(2)TCP包过滤特性连接请求的ACK位的判断(3)UDP包的过滤特性Sip,Sport,Dip,Dport(4)ICMP包的过滤特性图9.19TCP的连接过程01图9.21UDP动态数据包过滤

在决定包过滤防火墙是否返回ICMP错误代码时,应考虑以下几点。①防火墙应该发送什么消息。②是否负担得起生成和返回错误代码的高额费用。③返回错误代码能使得侵袭者得到很多有关你发送的数据包过滤信息。④什么错误代码对你的网站有意义。(5)RPC服务中的包过滤的特点图9.22RPC的端口映射

(6)源端口过滤的作用

规则方向源地址目的地址协议源端口目的端口动作A入任意5TCP/25允许B出5任意TCP/>1023允许C出5任意TCP/25允许D入任意5TCP/>1023允许表9.1 过滤规则示例图9.23

进攻X窗口服务

Any:30005:6001规则方向源地址目的地址协议源端口目的端口动作A入任意5TCP/25允许B出5任意TCP/>1023允许C出5任意TCP/25允许D入任意5TCP/>1023允许源地址源端口协议目的地址目的端口any3000TCP530005:6001Any:3000规则方向源地址目的地址协议源端口目的端口动作A入任意5TCP/25允许B出5任意TCP/>1023允许C出5任意TCP/25允许D入任意5TCP/>1023允许源地址源端口协议目的地址目的端口56001TCPany3000Any:30005:6001规则方向源地址目的地址协议源端口目的端口动作A入任意5TCP>102325允许B出5任意TCP25>1023允许C出5任意TCP>102325允许D入任意5TCP25>1023允许(7)ACK位在数据包过滤中的作用表9.2 过滤规则示例规则方向源地址目的地址协议源端口目的端口ACK设置动作A出5任意TCP>102323任意允许B入任意5TCP23>1023是允许图9.24

用ACK位阻止欺骗

(8)包过滤技术的优点①帮助保护整个网络,减少暴露的风险;②对用户完全透明,不需要对客户端做任何改动,也不需要对用户做任何培训;③很多路由器可以作数据包过滤,因此不需要专门添加设备。包过滤最明显的缺陷是即使是最基本的网络服务和协议,它也不能提供足够的安全保护,包过滤是不够安全的。①包过滤规则难于配置。一旦配置,数据包过滤规则也难于检验。②包过滤仅可以访问包头信息中的有限信息。③包过滤是无状态的,因为包过滤不能保持与传输相关的状态信息或与应用相关的状态信息。④包过滤对信息的处理能力非常有限。⑤一些协议不适合用数据包过滤,如基于RPC的应用的“r”命令等。实例安全策略任何时间,内网→邮件服务器:允许任何时间,内网→web服务器:允许上班时间,内网→FTP服务器:允许上班时间,内网→Internet:允许任何时间,Internet→内网:禁止任何时间,Internet→web服务器:允许任何时间,Internet→邮件服务器:允许任何时间,Internet→数据库服务器:禁止任何时间,Interent→FTP服务器:允许其它:禁止逻辑表达式Sip=/24anddip=and(dport=25ordport=110),action=permitSip=anyanddip=/24,action=rejectSip=anyanddip=anddport=80,action=permitSip=anyanddip=anddport=1358,action=reject……Default=reject包过滤规则源地址源端口协议目的地址目的端口时间动作/24ANYTCP25,110ANYPermitANYANYANY/24ANYANYRejectANYANYTCP1358ANYRejectANYANYTCP80ANYPermit/24ANYANYANYANYWORKPermitANYANYANYANYANYReject有新需求安全策略上班时间,内网→数据库服务器:允许逻辑表达式Sip=/24anddip=anddport=1358,action=permit新的规则源地址源端口协议目的地址目的端口时间动作/24ANYTCP25,110ANYPermitANYANYANY/24ANYANYRejectANYANYTCP1358ANYRejectANYANYTCP80ANYPermit/24ANYANYANYANYWORKPermitANYANYANYANYANYReject源地址源端口协议目的地址目的端口时间动作/24ANYTCP1358WORKPermit源地址源端口协议目的地址目的端口时间动作/24ANYTCP1358WORKPermit包过滤代码/*包合法性检查*/staticintpacket_validity(structiphdr*iph){ if(ntohs(iph->tot_len)<(4*iph->ihl))returnPF_DROP; if(iph->ihl<5)returnPF_DROP; /*blockinvalidTCP,UDP,ICMPpacket*/ if(iph->protocol==IPPROTO_TCP) if(ntohs(iph->tot_len)<(iph->ihl*4+sizeof(structtcphdr)))returnPF_DROP; if(iph->protocol==IPPROTO_UDP) if(ntohs(iph->tot_len)<(iph->ihl*4+sizeof(structudphdr)))returnPF_DROP; if(iph->protocol==IPPROTO_ICMP) if(ntohs(iph->tot_len)<(iph->ihl*4+sizeof(structicmphdr)))returnPF_DROP; returnPF_ACCEPT;}/*重组分片包*/ if(iph->frag_off&htons(IP_MF|IP_OFFSET)){ skb=ip_defrag(skb);/*检查报文与规则是否匹配*/staticintpf_match_rule(structsk_buff*skb,structpf_rule*rule){ for(rule=pf_rule_head;rule;rule=rule->next){ if(!pf_match_proto(iph->protocol,rule)) continue; if(!pf_match_ip(iph->saddr,iph->daddr,rule)) continue; if(!pf_match_port(ntohs(sport),ntohs(dport),rule)) continue; returnrule->action; } if!rulereturnPF_REJECT;}staticintpf_match_ip(intsrc,intdst,structpf_rule*rule){ if(((src&rule->smask)==(rule->saddr&rule->smask)) &&((dst&rule->dmask)==(rule->daddr&rule->dmask))) return1; return0;}staticintpf_match_port(intsrc,intdst,structpf_rule*rule){ if(rule->src_port_start||rule->src_port_end) if((src<rule->src_port_start)||(src>rule->src_port_end)) return0; if(rule->dst_port_start||rule->dst_port_end) if((dst<rule->dst_port_start)||(dst>rule->dst_port_end)) return0; return1;}staticintpf_match_proto(intproto,structpf_rule*rule){ if(rule->proto==0) return1; return(proto==rule->proto)?1:0;}包过滤模块在内核中的位置

Netfilter框架Packetfilter回顾刚才的实例规则可以解决所有的安全需求吗?内网访问Internet时,Internet给内网的应答报文?内网访问DMZ的FTP服务器时,数据连接如何放行?……9.4.2代理技术代理技术也称为应用层网关技术,代理技术与包过滤技术完全不同,包过滤技术是在网络层拦截所有的信息流,代理技术是针对每一个特定应用都有的一个程序。1.应用级代理应用级代理有两种情况,一种是内部网通过代理访问外部网。另一种情况是,外部网通过代理访问内部网。代理使得网络管理员能够实现比包过滤路由器更严格的安全策略,它会对应用程序的数据进行校验以确保数据格式可以接受。

图9.25Telnet代理服务图9.26Internet客户通过代理服务器访问内部网主机提供代理应用层网关主要有以下优点。(1)应用层网关有能力支持可靠的用户认证并提供详细的注册信息。(2)应用层的过滤规则相对于包过滤路由器来说更容易配置和测试。(3)代理工作在客户机和真实服务器之间,完全控制会话,所以可以提供很详细的日志和安全审计功能。(4)提供代理服务的防火墙可以被配置成惟一的可被外部看见的主机,这样可以隐藏内部网的IP地址,可以保护内部主机免受外部网的进攻。(5)通过代理访问Internet,可以解决合法的IP地址不够用的问题。然而,应用层代理也有明显的缺点,主要包括以下几点。(1)有限的连接性。(2)有限的技术。应用层网关不能为RPC、Talk和其他一些基于通用协议簇的服务提供代理。(3)性能。应用层实现的防火墙会造成明显的性能下降。(4)每个应用程序都必须有一个代理服务程序来进行安全控制,每一种应用程序升级时,一般代理服务程序也要升级。(5)应用层网关要求用户改变自己的行为,或者在访问代理服务的每个系统上安装特殊的软件。(6)对用户不透明。在一个要求用户接口和用户体系结构友好易操作的今天,这种“不友好”性显得不合时宜。(6)对用户不透明。在一个要求用户接口和用户体系结构友好易操作的今天,这种“不友好”性显得不合时宜。图9.27智能代理服务器2.电路级网关代理技术应用层代理为一种特定的服务(如FTP和Telnet等)提供代理服务。

这种代理的优点是它可以对各种不同的协议提供服务,但这种代理需要改进客户程序。

Socks是一种非常强大的电路级网关防火墙,它只中继基于TCP的数据包图9.28

电路级网关

图9.29Socks服务器

9.4.3状态检查技术状态检查技术能在网络层实现所有需要的防火墙能力,它既有包过滤机制的速度和灵活,也有应用级网关安全的优点,它是包过滤器和应用级网关功能的折衷。图9.30状态包检查的逻辑流程

防火墙的能力包过滤器代理状态检查传输的信息部分部分能传输状态不能部分能应用的状态不能能能信息处理部分能能表9.3 防火墙技术比较表状态检查防火墙有如下的优点。1.高安全性2.高效性3.伸缩性和易扩展性4.针对性5.应用范围广9.4.4地址翻译技术地址翻译(NetworkAddressTranslation,NAT)就是将一个IP地址用另一个IP地址代替。地址翻译主要用在以下两个方面。(1)网络管理员希望隐藏内部网络的IP地址。

(2)内部网络的IP地址是无效的IP地址。

应用层网关有如下的缺陷。(1)要为每一种应用定制代理

(2)代理是不透明的

(3)应用层网关不能为基于TCP以外的应用提供很好的提供代理。地址翻译可以提供一种透明而完善的解决方案。网络管理员可以决定那些内部的IP地址需要隐藏,哪些地址需要映射成为一个对Internet可见的IP地址。图9.31

地址翻译

图9.32

将内部地址翻译成网关地址

地址翻译可以有多种模式,主要有如下几种。(1)静态翻译(2)动态翻译(3)端口转换(4)负载平衡翻译(5)网络冗余翻译9.4.5内容检查技术 内容检查技术提供对高层服务协议数据的监控能力,确保用户的安全。包括计算机病毒、恶意的JavaApplet和ActiveX的攻击、恶意电子邮件及不健康网页内容的过滤防护。9.4.7其他防火墙技术除了上面介绍的防火墙技术外,一些新的技术正在防火墙产品中采用,主要有以下几种。 1.加密技术 2.安全审计 3.安全内核 4.身份认证 5.负载平衡(LoadBalance)综合比较综合安全性网络层保护应用层保护应用层透明整体性能处理对象包过滤技术状态检测技术应用网关/代理单个包头

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论