网络安全防火墙技术第二章防火墙技术2.1防火墙概述2.2防火墙的体系结构2.3防火墙的实现技术2.4TCP/IP基础2防火墙技术展望2.5TCP/IP基础2.11基本概念2包与协议3TCP和UDP常用端口4TCP/IP协议历史TCP/IP协议历史TCP/IP起源于20世纪70年代中期,ARPA资助网间网技术的研究开发,并于1977~1979年间推出了与目前形式一样的TCP/IP体系结构和协议规范;1980年前后,TCP/IP应用在ARPANET上;1983年加州Berkeley大学推出了内含TCP/IP的BSDNUIX;1985年NSF采用TCP/IP建设NSFNET;TCP/IP成为20世纪90年代因特网的主要协议。基本概念TCP/IP协议栈以及与OSI结构的对应关系(P8图1-6)IP:网际协议IP协议指定了计算机之间传送信息的方式,本质上定义了Internet中每台计算机使用的通用“语言”。IPv4,IP协议的第四个版本,从1982年起用于Internet,现在仍广泛使用。在Internet中,数据以字符块的形式被发送,称之为数据报(datagram),或更通俗地称之为包(package)。基本概念Internet地址:计算机在IPv4网络中拥有的每一个接口都被唯一地赋予一个32位地址。这些地址通常被表述为四组八位数。例如:202.112.10.2。地址分类:A~E类地址;子网划分IPv4数据报格式(P17)TCP数据包格式(P23)UDP数据包格式(P26)TCP的三次握手过程(P25图1-14)包与协议ICMP(InternetControlMessageProtocol)——Internet控制报文协议。通过IP层收发ICMP报文,用于报告在传输报文的过程中发生的各种情况。它包括很多子类型(P19表1-3)。例如:Ping命令使用ICMP的Echo包测试网络连接;对该包的响应通常是一个“ICMPEcho应答”或者“ICMP目标不可达”消息类型。TCP(TransmissionControlProtocol)——传输控制协议。该协议用于创建两台计算机之间的双向数据流连接。它是“有连接”的协议,包含了超时和重发机制,以实现信息的可靠传输。包与协议UDP(UserDatagramProtocol)——用户数据报协议。该协议用于主机向主机发送数据报,它是无连接的。IGMP(InternetGroupManagementProtocol)——Internet组管理协议。该协议用于控制多播(或称为组播)——有目的地直接向一台或多台主机发送包的过程。TCP和UDP常用端口UDP的知名端口0保留49login53DNS69TFTP80-data21FTP-command23Telnet25SMTP53DNS80什么是防火墙定义:防火墙(Firewall)是一种用来加强网络之间访问控制的特殊网络互连设备,是一种非常有效的网络安全模型。核心思想:在不安全的网际网环境中构造一个相对安全的子网环境。目的:都是为了在被保护的内部网与不安全的非信任网络之间设立唯一的通道,以按照事先制定的策略控制信息的流入和流出,监督和控制使用者的操作。什么是防火墙防火墙可在链路层、网络层和应用层上实现;其功能的本质特征是隔离内外网络和对进出信息流实施访问控制。隔离方法可以是基于物理的,也可以是基于逻辑的;从网络防御体系上看,防火墙是一种被动防御的保护装置。防火墙的功能①网络安全的屏障;②过滤不安全的服务;(两层含义)内部提供的不安全服务和内部访问外部的不安全服务③阻断特定的网络攻击;(联动技术的产生)④部署NAT机制;⑤提供了监视局域网安全和预警的方便端点。提供包括安全和统计数据在内的审计数据,好的防火墙还能灵活设置各种报警方式。防火墙的分类1.个人防火墙是在操作系统上运行的软件,可为个人计算机提供简单的防火墙功能;大家常用的个人防火墙有:NortonPersonalFirewall、天网个人防火墙、瑞星个人防火墙等;安装在个人PC上,而不是放置在网络边界,因此,个人防火墙关心的不是一个网络到另外一个网络的安全,而是单个主机和与之相连接的主机或网络之间的安全。防火墙的分类2.软件防火墙个人防火墙也是一种纯软件防火墙,但其应用范围较小,且只支持Windows系统,功能相对来说要弱很多,并且安全性和并发连接处理能力较差;作为网络防火墙的软件防火墙具有比个人防火墙更强的控制功能和更高的性能。不仅支持Windows系统,并且多数都支持Unix或Linux系统。如十分著名的CheckPointFireWall-1,MicrosoftISAServer2000等。防火墙的分类3.一般硬件防火墙不等同于采用专用芯片的纯硬件防火墙,但和纯软件防火墙有很大差异;一般由小型的防火墙厂商开发,或者是大型厂商开发的中低端产品,应用于中小型企业,功能比较全,但性能一般;一般都采用PC架构(就是一台嵌入式主机),但使用的各个配件都量身定制。防火墙的分类其操作系统一般都采用经过精简和修改过内核的Linux或Unix,安全性比使用通用操作系统的纯软件防火墙要好很多,并且不会在上面运行不必要的服务,这样的操作系统基本就没有什么漏洞。但是,这种防火墙使用的操作系统内核一般是固定的,是不可升级的,因此新发现的漏洞对防火墙来说可能是致命的;国内自主开发的防火墙大部分都属于这种类型。防火墙的分类4.纯硬件防火墙采用专用芯片(非X86芯片)来处理防火墙核心策略的一种硬件防火墙,也称为芯片级防火墙。(专用集成电路(ASIC)芯片或者网络处理器(NP)芯片);最大的亮点:高性能,非常高的并发连接数和吞吐量;采用ASIC芯片的方法在国外比较流行,技术也比较成熟,如美国NetScreen公司的高端防火墙产品;国内芯片级防火墙大多还处于开发发展的阶段,采用的是NP技术。防火墙的分类5.分布式防火墙前面提到的几种防火墙都属于边界防火墙(PerimeterFirewall),它无法对内部网络实现有效地保护;随着人们对网络安全防护要求的提高,产生了一种新型的防火墙体系结构——分布式防火墙。近几年,分布式防火墙技术已逐渐兴起,并在国外一些大的网络设备开发商中得到实现,由于其优越的安全防护体系,符合未来的发展趋势,这一技术一出现就得到了许多用户的认可和接受。网络的安全性通常是以网络服务的开放性和灵活性为代价的。防火墙的使用也会削弱网络的功能:①由于防火墙的隔离作用,在保护内部网络的同时使它与外部网络的信息交流受到阻碍;②由于在防火墙上附加各种信息服务的代理软件,增大了网络管理开销,还减慢了信息传输速率,在大量使用分布式应用的情况下,使用防火墙是不切实际的。防火墙的局限性防火墙只是整个网络安全防护体系的一部分,而且防火墙并非万无一失:①只能防范经过其本身的非法访问和攻击,对绕过防火墙的访问和攻击无能为力;②不能解决来自内部网络的攻击和安全问题;③不能防止受病毒感染的文件的传输;④不能防止策略配置不当或错误配置引起的安全威胁;⑤不能防止自然或人为的故意破坏;不能防止本身安全漏洞的威胁。防火墙的局限性防火墙的体系结构2.31双宿主机2屏蔽主机3屏蔽子网4分组过滤路由器防火墙的体系结构防火墙的体系结构:防火墙系统实现所采用的架构及其实现所采用的方法,它决定着防火墙的功能、性能以及使用范围。防火墙可以被设置成许多不同的结构,并提供不同级别的安全,而维护运行的费用也各不相同。分组过滤路由器内部网络Internt由策略来决定转发或阻止数据包分组过滤路由器分组过滤路由器作为内外网连接的唯一通道,要求所有的报文都必须在此通过检查。通过在分组过滤路由器上安装基于IP层的报文过滤软件,就可利用过滤规则实现报文过滤功能。缺点:在单机上实现,是网络中的“单失效点”。不支持有效的用户认证、不提供有用的日志,安全性低。双宿主机内部网络Internt双宿主机防火墙双宿主机在被保护网络和Internet之间设置一个具有双网卡的堡垒主机,IP层的通信完全被阻止,两个网络之间的通信可以通过应用层数据共享或应用层代理服务来完成通常采用代理服务的方法堡垒主机上运行着防火墙软件,可以转发应用程序和提供服务等优缺点:堡垒主机的系统软件可用于身份认证和维护系统日志,有利于进行安全审计该方式的防火墙仍是网络的“单失效点”。隔离了一切内部网与Internet的直接连接,不适合于一些高灵活性要求的场合屏蔽主机内部网络Internt分组过滤路由器堡垒主机防火墙屏蔽主机一个分组过滤路由器连接外部网络,同时一个运行网关软件的堡垒主机安装在内部网络。通常在路由器上设立过滤规则,使这个堡垒主机成为从外部唯一可直接到达的主机。提供的安全等级较高,因为它实现了网络层安全(包过滤)和应用层安全(代理服务)。过滤路由器是否正确配置是这种防火墙安全与否的关键。过滤路由器的路由表应当受到严格的保护,如果路由表遭到破坏,则堡垒主机就有被越过的危险。例:P116图4-7屏蔽子网内部网络Internt堡垒主机外部路由器周边网络内部路由器屏蔽子网是最安全的防火墙系统,它在内部网络和外部网络之间建立一个被隔离的子网(非军事区,DMZ(DemilitarizedZone))在很多实现中,两个分组过滤路由器放在子网的两端,内部网络和外部网络均可访问被屏蔽子网,但禁止它们穿过被屏蔽子网通信通常将堡垒主机、各种信息服务器等公用服务器放于DMZ中堡垒主机通常是黑客集中攻击的目标,如果没有DMZ,入侵者控制堡垒主机后就可以监听整个内部网络的会话防火墙的实现技术2.41代理服务(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的计算机的服务。包过滤器的工作流程:P122图4-15数据包过滤(4/6)优点:逻辑简单,价格便宜,易于安装和使用,网络性能和透明性好。主要缺点:①安全控制的力度只限于源地址、目的地址和端口号等,不能保存与传输或与应用相关的状态信息,因而只能进行较为初步的安全控制,安全性较低;②数据包的源地址、目的地址以及端口号等都在数据包的头部,很有可能被窃听或假冒。数据包过滤(5/6)注意:①创建规则比较困难;②规则过于复杂并难以测试,必须要用手工或用仪器才能彻底检测规则的正确性;③对特定协议包的过滤:FTP协议:使用两个端口,因此要作特殊的考虑;UDP协议:要对UDP数据包进行过滤,防火墙应有动态数据包过滤的特点;