1、防火墙,一、 防火墙概论,一般说来,防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合。它是不同网络或网络安全域之间信息的唯一出入口,能根据企业的安全策略控制(允许、拒绝、监测)出入网络的信息流,且本身具有较强的抗攻击能力。它是提供信息安全服务,实现网络和信息安全的基础设施。,安装防火墙以前的网络,安装防火墙后的网络,在逻辑上,防火墙既是一个分离器,一个限制器,它也是一个分析器,它有效地监控了内部网和Internet之问的任何活动,保证了内部网络的安全。从具体实现上来看,防火墙是一个独立的进程或一组紧密联系的进程,运行于路由器或服务器上,控制经过
2、它们的网络应用服务及传输的数据。安全、管理、速度是防火墙的三大要素。,防火墙的优点,防火墙是网络安全的屏障控制对主机系统的访问监控和审计网络访问防止内部信息的外泄部署NAT机制,防火墙的弱点,防火墙不能防范来自内部网络的攻击 防火墙不能防范不经由防火墙的攻击 防火墙不能防范感染了病毒的软件或文件的传输 防火墙不能防范数据驱动式攻击 防火墙不能防范利用标准网络协议中的缺陷进行的攻击 防火墙不能防范利用服务器系统漏洞进行的攻击 防火墙不能防范新的网络安全问题 防火墙限制了有用的网络服务,防火墙的后门,二、防火墙技术,防火墙技术是一种综合技术,主要包括:包过滤技术、网络地址转换技术和代理技术。,包过
3、滤技术,包过滤原理 包过滤是最早应用到防火墙当中的技术之一。它针对网络数据包由信息头和数据信息两部分组成这一特点而设计。防火墙通过对信息头的检测就可以决定是否将数据包发往目的地址,从而达到对进入和流出网络的数据进行监测和限制的目的。,包过滤技术,IP头格式,TCP头格式,包过滤技术,包过滤模型 包过滤防火墙的核心是包检查模块。包检查模块深入到操作系统的核心,在操作系统或路由器转发包之前拦截所有的数据包。当把包过滤防火墙安装在网关上之后,包过滤检查模块深入到系统的传输层和网络层之间,即TCP层和IP层之间,在操作系统或路由器的TCP层对IP包处理以前对IP包进行处理。,包过滤技术,包过滤技术,包
4、过滤技术 数据包过滤功能的实现依赖于包过滤规则,有时人们也称之为访问控制列表(ACL,Access Control List)。只有满足访问控制列表的数据才被转发,其余数据则被从数据流中删除。为了保证所有流人和流出网络的数据包都被监控和检测,包过滤器必须放置在网络单点访问点的位置。,包过滤技术,1配置访问控制列表(配置包过滤防火墙策略)从本质上讲,一个包过滤防火墙由一个脏端口、一个净端口和一组访问控制列表规则组成。 访问控制列表通过控制在防火墙的接口上转发还是阻断数据包分组来过滤网络数据流,防火墙检查每一个数据分组,并根据访问控制列表规则对数据分组进行操作,包过滤技术,包过滤策略实例,包过滤技
5、术,访问控制列表的配置有两种方式: 限制策略:接受受信任的IP包,拒绝其他所有IP包 宽松策略:拒绝不受信任的IP包,接受其他所有IP包,包过滤技术,2动态访问控制列表(动态包过滤技术)当配置了动态访问控制列表,可以实现指定用户的IP数据流临时通过防火墙时,进行会话连接。当动态访问控制列表被触发后,动态访问控制列表重新配置接口上的已有的访问控制列表,允许指定的用户访问指定的IP地址。在会话结束后,将接口配置恢复到原来的状态。动态包过滤技术一般结合身份认证机制进行实现。,包过滤技术,动态访问控制列表工作原理图,包过滤技术,第一步,用户打开发起一个到防火墙的Telnet会话,该防火墙已经配置了动态
6、访问控制列表。第二步,防火墙接收到Telnet数据包分组后,打开Telnet会话,提示用户输入认证信息(例如,用户名和口令)并对用户身份进行验证。只有用户通过身份验证后,用户才能通过防火墙访问内部网络,身份验证也可由其他安全认证服务器来完成(例如,RADIUS服务器等)。第三步,通过身份认证后,用户退出Telnet会话,防火墙访问控制列表内创建一个临时条目。根据配置,该临时条目可以限制用户临时访问的网络范围。第四步,用户通过防火墙交换数据。第五步,超过预设定超时时间(Timeout)后,防火墙将删除这个临时访问控制列表规则,系统管理员也可以手动删除它。,包过滤技术,3状态包检查(SPI,Sta
7、teful Packet Inspection)技术状态包检查技术又称为反射访问控制列表技术。反射访问控制列表能够动态建立访问控制列表条目,在这些临时条目中不仅包含必要的包过滤信息,还包含了网络会话的状态信息。这些临时条目在新会话开始(如内部主机向外部主机发起连接请求)时创建,并在会话结束时被删除。,状态检测包过滤技术防火墙的工作逻辑流程图,包过滤技术,状态检查访问控制列表工作原理图,包过滤技术优缺点,包过滤技术的优点:帮助保护整个网络,减少暴露的风险;对用户完全透明,不需要对客户端做任何改动,也不需要对用户做任何培训;很多路由器可以作数据包过滤,因此不需要专门添加设备。在应用中依然存在着以下
8、问题 : 访问控制列表的配置和维护困难 包过滤防火墙难以详细了解主机之间的会话关系 基于网络层和传输层实现的包过滤防火墙难以实现对应用层服务的过滤,网络地址翻译技术,NAT(Network Address Translation,网络地址翻译)的最初设计目的是用来增加私有组织的可用地址空间和解决将现有的私有TCPIP网络连接到互联网上的IP地址编号问题。,网络地址翻译技术,私有IP地址只能作为内部网络号,不在互联网主干网上使用。网络地址翻译技术通过地址映射保证了使用私有IP地址的内部主机或网络能够连接到公用网络。NAT网关被安放在网络末端区域(内部网络和外部网络之间的边界点上),并且在源自内部
9、网络的数据包发送到外部网络之前把数据包的源地址转换为惟一的IP地址。,网络地址翻译技术,静态网络地址翻译技术NAT网关位于内部和外部网络接口卡之间,只有在内部和外部网络接口之间传输的数据包才进行转换。如果网络地址翻译技术完全依赖于手工指定内部局部地址和内部全局地址之间映射关系来运行,我们称之为静态网络地址翻译技术,静态网络地址翻译 地址转换原理图,第一步,在防火墙手工建立静态NAT映射表。第二步,网络内部主机建立一条到外部主机的会话连接。如图27所示,主机10111发送数据包到主机B。第三步,防火墙从内部网络接收到一个数据包时检查NAT映射表:如果已为该地址配置了静态地址转换,防火墙使用内部全
10、局地址,并转发该数据包。如图27所示,防火墙使用20216822来替换内部局部地址10111;否则,防火墙不对内部地址进行任何转换,直接将数据包进行转发或丢弃。第四步,外部主机收到数据包后进行应答。如图27所示,主机B将收到来自20216822的数据包(已经经过NAT转换后),并进行应答。第五步,当防火墙接收到来自外部网络的数据包时,防火墙检查NAT映射表:如果NAT映射表中存在匹配项,则使用内部局部地址替换数据包的目的IP地址,并将数据包转发到内部网络主机。如图27所示,防火墙使用10111替换20216822,并进行转发;如果NAT映射表中不存在匹配项,则拒绝数据包。对于每个数据包,防火墙
11、都将执行第二步到第五步的操作。,网络地址翻译技术,动态网络地址翻译技术 如果NAT映射表由防火墙动态建立,对网络管理员和用户透明,我们称之为动态网络地址翻译技术。 网络地址翻译技术允许将多个内部IP地址映射成为一个外部IP地址。从本质上讲网络地址映射并不是简单的IP地址之间的映射,而是网络套接字映射,网络套接字由IP地址和端口号共同组成。当多个不同的内部局部地址映射到同一个内部全局地址时,可以使用不同端口号来区分它们,网络地址翻译技术,动态网络地址翻译地址转换原理图,网络地址翻译技术,第一步,网络内部主机建立到外部主机的会话连接。如图28所示,主机10111访问外部主机B:642173。第二步
12、,防火墙接收到来自某内部主机的数据包时检查NAT映射表:如果还没有为该内部主机建立地址转换映射项,防火墙会决定对该地址进行转换。如图所示,防火墙收到来自10111的第一个数据包时,建立:10111:2492一一20216822:2492,并记录会话状态。 如果已经有其他地址转换映射存在,那么防火墙将使用该记录进行地址转换,并记录会话状态信息。第三步,防火墙进行地址转换后转发数据包。第四步,外部主机收到访问信息,并进行应答。第五步,当防火墙接收到来自外部网络的数据包,检查NAT映射表查询匹配项:如果NAT映射表中存在地址映射和会话状态匹配的选项时,转发数据包,如图28所示;否则,拒绝数据包。对于
13、每个数据包,防火墙都将执行第二步到第五步的操作。,网络地址翻译技术,网络地址翻译技术实现负载均衡网络地址翻译技术不仅仅具有隐蔽内部网络结构的作用,同时可以用于网络负载均衡,网络地址翻译技术,网络地址翻译实现TCP负载均衡原理图,第一步,外部内部主机建立到内部服务器的会话连接。如图29所示,外部主机B建立到内部网络虚拟www服务器20216821:80的一个会话连接。 第二步,防火墙从主机10111接收到这个连接请求,为其建立一个新的地址转换映射,为该内部全局IP地址20216821分配一个真实内部主机地址(例如,10111)。 第三步,防火墙用所选的真实内部主机地址替换原目的地址,并转发该数据
14、包。 第四步,内部主机10111接收到该数据包,并做出应答。 第五步,防火墙接收到应答数据包,用内部局部地址及端口号和外部地址及端口号从NAT映射表中查找出对应的内部全局地址(虚拟主机地址)和端口号。然后将源地址转换成虚拟主机地址,并转发该数据包。,网络地址翻译技术,网络地址翻译技术本身依然存在一些问题难以解决: 一些应用层协议的工作特点导致了它们无法使用网络地址翻译技术 静态和动态网络地址映射安全问题 对内部主机的引诱和特洛伊木马攻击 状态表超时问题,网络代理技术,网络代理技术-应用层代理包过滤技术在网络层实现数据包的拦截、分析和过滤等应用。代理(Proxy)技术针对每一个特定应用进行实现,
15、在应用层实现网络数据流保护功能,代理的主要特点是具有状态性。代理能够提供部分与传输有关的状态,能完全提供与应用相关的状态部分传输信息,代理也能够处理和管理信息。,网络代理技术,Telnet代理服务,网络代理技术,应用层代理服务器起到了内部网络向外部网络申请服务时的中间转接作用对外部网来说,外部网所见到的只是代理服务器,因为它收到的请求都是从代理服务器来的,对内部网来说,客户机所能直接访问的只是代理服务器,它的请求首先是发给了代理服务器。,网络代理技术,外部网络主机通过应用层代理访问内部网络主机,内部网络主机只接受应用层代理提出的服务请求,拒绝外部网络节点的直接请求,网络代理技术,INTERNE
16、T客户通过应用层代理访问内部网络主机,网络代理技术,在具体应用中,应用层代理往往通过一台双宿主机或堡垒主机进行实现,应用层代理允许用户访问,但是不应该允许用户注册到应用层代理主机上。 应用层代理一般只向单个主机或一部分主机提供网络服务,而不是向所有的主机提供此服务 针对不同服务的代理功能需要开发不同的代理服务程序,对于一些服务可以容易或自动提供代理,对于这些服务可以通过对正常服务器的配置来设置代理。,应用层代理技术的优缺点分析 应用层代理的主要优点 应用层代理有能力支持可靠的用户认证并提供详细的注册信息;用于应用层的过滤规则相对于包过滤路由器来说更容易配置和测试;应用层代理工作在客户机和真实服
17、务器之间,可以完全控制网络会话,所以可以提供很详细的日志和安全审计功能;提供代理服务的防火墙可以被配置成惟一的可被外部看见的主机,这样可以隐藏内部网的IP地址,可以保护内部主机免受外部主机的进攻;通过代理访问Internet可以解决合法的IP地址不够用的问题,因为Internet所见到只是代理服务器的地址,内部IP通过代理可以访问Intenet。,网络代理技术,2应用层代理的缺点 有限的连接性 有限的技术 应用层实现的防火墙会造成明显的性能下降; 每个应用程序都必须有一个代理服务程序来进行安全控制,每一种应用升级时,相应代理服务程序也要升级,维护相对复杂; 应用层代理要求用户改变自己的行为,或
18、者在访问代理服务的每个系统上安装特殊的软件。 应用层代理对操作系统和应用层的漏洞也是脆弱的,,网络代理技术,电路级代理 应用层代理为一种特定的服务(如FTP,Telnet等)提供代理服务,它不但转发流量而且对应用层协议做出解释。而电路级代理(通常也称为电路级网关)也是一种代理,但是只是建立起一个回路,对数据包只起转发的作用。电路级网关依赖于TCP连接,并不进行任何附加的包处理或过滤。,网络代理技术,在电路级网关中,数据包被提交给应用层来处理。电路级网关只用来在两个通信终点之间转接数据包,只是将简单的字节回来复制,由于连接似乎是起源于防火墙,其隐藏了受保护网络的有关信息 电路级网关对外像一个代理
19、,而对内则是一个过滤路由器,网络代理技术,电路级网关工作原理示意图,网络代理技术,SOCKS代理技术 SOCKS协议是一个电路级网关的标准,它在1991年是由Koblas等提出,IETF也建立了SOCKS标准。SOCKS协议可以通过中继TCP数据包实现功能强大的电路级网关防火墙,而对应用层不需要作任何改变。,网络代理技术,SOCKS服务器的工作原理图,网络代理技术,SOCKS代理可以使那些运行在防火墙后面的主机能够充分地访问Internet,而无须内部主机直接与外部主机建立连接;可以实现管理员明确地控制一个组织内部如何与Intetnet通信;可以实现在特定的主机上提供特定的服务;可以禁止对In
20、tenet上的某些主机的访问;可以实现详细的日志记录。,网络代理技术,SOCKS代理主要由两部分组成: SOCKS服务程序:这是一个可以直接同Intenet和内部网络通信的程序; SOCKS客户程序:这是一个经过修改的Internet客户程序。它将使运行客户程序的主机同运行服务程序的主机通信,而不是直接与Intenet通信。,三、防火墙的基本结构,1、屏蔽路由器2、双宿主机防火墙 3、屏蔽主机防火墙4、屏蔽子网防火墙5、其他的防火墙结构,屏蔽路由器,屏蔽路由器作为内外连接的惟一通道,要求所有的报文都必须在此通过检查,双宿主机防火墙,这种配置是用一台装有两块网卡的堡垒主机做防火墙。两块网卡分别与
21、受保护网和外部网相连。堡垒主机上运行着防火墙软件,可以转发应用程序,提供服务等,屏蔽主机防火墙,屏蔽主机防火墙易于实现也很安全,因此应用广泛。,屏蔽子网防火墙,这种方法是在内部网络和外部网络之间建立一个被隔离的子网,用两台分组过滤路由器将这一子网分别与内部网络和外部网络分开。在很多实现中,两个分组过滤路由器放在子网的两端,在子网内构成一个非军事区(DMZ)。,其他的防火墙结构,一个堡垒主机和一个非军事区,两个堡垒主机和两个非军事区,两个堡垒主机和一个非军事区,典型的防火墙结构,练习题,1包过滤防火墙适合应用的场合有( )。A机构是集中化的管理 B网络主机数比较少C机构有强大的集中安全策略 D使
22、用了DHCP这样的动态IP地址分配协议2数据包不属于包过滤一般需要检查的部分是( )。AIP源地址和目的地址 B源端口和目的端口C协议类型 DTCP序列号3包过滤的优点不包括( )。A处理包的数据比代理服务器快 B不需要额外费用C对用户是透明的 D包过滤防火墙易于维护,4关于状态检查技术,说法错误的是( )。A跟踪流经防火墙的所有通信信息B采用一个“监测模块”执行网络安全策略C对通信连接的状态进行跟踪与分析D状态检查防火墙工作在协议的最底层,所以不能有效地监测应用层的数据5状态检查防火墙的优点不包括( )。A高安全性 B高效性C可伸缩性和易扩展性 D易配置性6关于网络地址翻译技术的说法,错误的
23、是( )。A只能进行一对一的网络地址翻译B解决IP地址空间不足问题C向外界隐藏内部网结构 D有多种地址翻译模式,7网络地址翻译的模式不包括( )。A静态翻译 B动态翻译C负载平衡翻译 D随机地址翻译8关于代理技术的说法,错误的是( )。A代理技术又称为应用层网关技术B代理技术针对每一个特定应用都有一个程序C代理是企图在网络层实现防火墙的功能D代理也能处理和管理信息9关于代理技术的特点的说法,错误的是( )。A速度比包过滤防火墙要快得多B对每一类应用,都需要一个专门的代理C灵活性不够D代理能理解应用协议,可以实施更细粒度的访问控制10关于代理技术优点的说法,错误的是( )。A易于配置,界面友好 B不允许内外网主机的直接连接C可以为用户提供透明的加密机制 D对于用户是透明的,