当前位置:文档之家› 以防火墙技术为核心的网络安全架构

以防火墙技术为核心的网络安全架构

第二章防火墙的概述

2.1防火墙的概念

所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法.它实际上是一种隔离技术。防火墙的英文名为“Firewall”,它是目前一种最重要的网络防护设备。从专业角度讲,防火墙是位于两个(或多个)网络间,实施网络之间访问控制的一组组件集合。

防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许“同意”的人和数据进入内部安全网络,同时将“不同意”的人和数据拒之门外.最大限度地阻止网络中的恶意用户访问网络,防止更改、拷贝、毁坏受保护网络的重要信息。

进一步说,防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全区域之间的一系列部件的组合.它是不同网络或网络安全区域之间信息的唯一出入口,能根据企业的安全策略控制(允许、拒绝、监测)出入网络的信息流,且本身具有较强的抗攻击能力.它是提供信息安全服务,实现网络和信息安全的基础设施。

在逻辑上讲,防火墙是一个分离器,一个限制器,也是一个分析器,有效地监控了内部网和Interact之间的任何括动,保证了内部网络的安全(中华人民其和国公共安全行业标准,2000)。下图是常见的防火墙逻辑位置示意图:

图2-1:防火墙逻辑位置示意图

当构筑和使用木制结构房屋的时候,为防止火灾的发生和蔓延,人们将坚固的石块堆砌在房屋周围作为屏障,这种防护构筑物被称之为防火墙。在今日的电子信息世界里,人们借助了这个概念,使用防火墙来保护敏感的数据不被窃取和篡改,不过这些防火墙是由先进的计算机系统构成的。

今天的防火墙被用来保护计算机网络免受非授权人员的骚扰与黑客的入侵。这些防火墙尤如一道护栏,置于被保护的内部网与不安全的非信任网络之间,我们目前广泛使用的互联网络便是世界上最大的不安全网(Untrust),近年来媒体报导的很多黑客入侵事件都是通过互联网络进行攻击的。

典型的防火墙具有以下三个方面的基本特性:

(1)内部网络和外部网络之间的所有网络数据流都必须经过防火墙;

(2)只有符合安全策略的数据流才能通过防火墙:

(3)防火墙自身应具有非常强的抗攻击免疫力:

通常架设防火墙需要相当大的硬软件资金投入,而且防火墙需要运行于一台独立的计算

防火墙有许许多多种形式,有以软件形式运行在普通计算机之上的,也有以固件形式设计在路由器之中的。根据《中华人民共和国标准一—信息技术防火墙安全技术要求》中的描述,总的来说业界的分类有两种:包过滤防火墙和应用级防火墙。

2.3.1包过滤防火墙(Packetfiltering)

又叫网络级防火墙,因为它是工作在网络层及上层。中华人民共和国国家标准,《信息技术包过滤防火墙安全技术要求》白皮书中,是这样描述包过滤防火墙的:“包过滤防火墙应根据站点的安全策略,在内部网络和外部网络之间选择性地过滤包。其过滤规则主要是根据源地址、目的地址、协议、源端口、目的端口以及包到达或出发的接口而定。”。

圈2-2:包过滤防火墙

包过滤型防火墙工作在OSI网络参考模型的网络层和传输层,它根据数据包头源地址.目的地址、端口号和协议类型等标志确定是否允许通过。只有满足过滤条件的数据包才被转发到相应的目的地.其余数据包则被从数据流中丢弃。

包过滤方式是一种通用、廉价和有效的安全手段。之所以通用,是因为它不是针对各个具体的网络服务采取特殊的处理方式,适用于所有网络服务:之所以廉价,是因为大多数路由器都提供数据包过滤功能,所以这类防火墙多数是由路由器集成的;之所以有效,是因为它能很大程度上满足了绝大多数企业安全要求。

在整个防火墙技术的发展过程中,包过滤技术出现了两种不同版本,称为“第一代静态包过滤”和“第二代动态包过滤”。

第一代静态包过滤类型防火墙,这类防火墙几乎是与路由器同时产生的,它是根据定义好的过滤规则审查每个数据包,以便确定其是否与某一条包过滤规则匹配.过滤规则基于数据包的报头信息进行制订。报头信息中包括婵源地址、球目标地址、传输协议(TCP、UDP、ICMP等等)、TCPAJDP目标端口、ICMP消息类型等。

图2-3:传统包过滤防火墙

第二代动态包过滤类型防火墙,这类防火墙采用动态设置包过滤规则的方法,避免了静态包过滤所具有的问题。这种技术后来发展成为包状态监涮(StatefulInspectiOll)技术。采用这种技术的防火墙对通过其建立的每一个连接都进行跟踪,并且根据需要可动态地在过滤规则中增加或更新条目。

包过滤方式的优点是不用改动客户机和主机上的应用程序,因为它工作在网络层和传输屡,与应用层无关。但其弱点也是明显的:过滤判别的依据只是网络层和传输层的有限信息,

因而各种安全要求不可能充分满足;在许多过滤器中,过滤规则的数目是有限制的,且随着规则数目的增加,性能会受到很大地影响;由于缺少上下文关联信息,不能有效地过滤如UDP、RPC(远程过程调用)一类的协议;另外,大多数过滤器中缺少审计和报警机制,它只能依据包头信息,而不能对用户身份进行验证,很容易受到“地址欺骗型”攻击。对安全管理人员素质要求高,建立安全规则时,必须对协议本身及其在不同应用程序中的作用有较深入的理解。因此,过滤器通常是和应用网关配合使用,共同组成防火墙系统。

包过滤防火墙的优点是它对于用户来说是透明的,处理速度快而且易于维护,通常作为第一道防线。包过滤路由器通常没有用户的使用记录,这样我们就不能得到入侵者的攻击记录。而攻破一个单纯的包过滤式防火墙对黑客来说还是有办法的。“P地址欺骗”是黑客比较常用的一种攻击手段。

图24:状态检测防火墙

状态检测又称动态包过滤,是在传统包过滤上的功能扩展,最早由checkpoint提出。状态检测通过检查应用程序信息(如flp的PORT和PASS命令),来判断此端口是否允许需要临时打开,而当传输结束时,端口又马上恢复为关闭状态。

这种防火墙具有非常好的安全特性,它使用了一个在网关上执行网络安全策略的软件模块.称之为监测引擎.监测引擎在不影响网络正常运行的前提下,采用抽取有关数据的方法对网络通信的各层实施监测,抽取状态信息,并动态地保存起来作为以后执行安全策略的参考。监测引擎支持多种协议和应用程序,并可以很容易地实现应用和服务的扩充(tangram,2001)。当用户访问请求到达网关的操作系统前,状态监视器要抽取有关数据进行分析,结合网络配置和安全规定做出接纳、拒绝、身份认证、报警或给该通信加密等处理动作。一旦某个访问违反安全规定,就会拒绝该访问,并报告有关状态作日志记录。状态监测防火墙的另一个优点是它会监测无连接状态的远程过程调用(RPC)和用户数据报(UDP)之类的端口信息。这种防火墙无疑是非常坚固的,但它会降低网络的速度,而且配置也比较复杂。

状态检测防火墙摒弃了包过滤防火墙仅考查数据包的口地址等几个参数,而不关心数据包连接状态变化的缺点.在防火墙的核心部分建立状态连接表.并将进出网络的数据当成一个个的会话,利用状态表跟踪每一个会话状态。状态监测对每一个包的检查不仅根据规则表,更考虑了数据包是否符合会话所处的状态,因此提供了完整的对传输层的控制能力(翟钰.2004)。

网关防火墙的一个挑战就是能处理的流量,状态检测技术在大为提高安全防范能力的同时也改进了流量处理速度。目前,状态监测技术采用了一系列优化技术,使防火墙性能大幅度提升,能应用在各类网络环境中,尤其是在一些规则复杂的大型网络上。

2’3.2应用级防火墙(Applicationlevel)

应用级防火墙往往又称为应用级网关,它此时也起到一个网关的作用。中华人民共和国国家标准,《信息技术应用级防火墙安全技术要求》白皮书中,是这样描述应用级防火墙的:“应用级防火墙的作用是:仲裁不同网络上客户和服务之间的通信业务流。应用级防火墙通常与包过滤控制配合使用,以承担对应用级协议包的进一步控制。(例如;IrrP、Telnet)。应用级防火墙可以雇用代理服务器筛选数据包。”。

应用代理型防火墙是工作在OSl的最高层,即应用层。其特点是完全“阻隔”了网络通信流,通过对每种应用服务编制专门的代理程序,实现监视和控制应用层通信流的作用。在代理型防火墙技术的发展过程中,它也经历了两个不同的版本,即:第一代应用网关型代理防火和第二代自适应代理防火墙。

第一代应用网关(ApplicationGateway)型防火墙,这类防火墙是通过一种代理(Proxy)技术参与到一个TCP连接的全过程。从内部发出的数据包经过这样的防火墙处理后,就好像是源于防火墙外部网卡一样,从而可咀达到隐藏内部网结构的作用。这种类型的防火墙被网络安全专家和媒体公认为是最安全的防火墙。它的核心技术就是代理服务器技术。

圈2-5:应用网关型防火墙

第二代自适应代理(Adaptiveproxy)型防火墙,它是近几年才得到广泛应用的一种新防火墙类型。它可以结合代理类型防火墙的安全性和包过滤防火墙的高速度等优点。在毫不损失安全性的基础之上将代理型防火墙的性能提高10倍以上。组成这种类型防火墙的基本要素有两个:自适应代理服务器(AdaptiveProxyServer)与动态包过滤器(Dy'n枷cPacketfilter)。

图2.6:应用代理型防火墙

在“自适应代理服务器”与“动态包过滤器”之间存在一个控制通道。在对防火墙进行配置时,用户仅仅将所需要的服务类型、安全级别等信息通过相应Proxy的管理界面进行设置就可以了。然后,自适应代理就可以根据用户的配置信息,决定是使用代理服务从应用层代理请求还是从网络层转发包。如果是后者,它将动态地通知包过滤器增减过滤规则,满足用户对速度和安全性的双重要求。

代理类型防火墙的最突出的优点就是安全。由于它工作于最高层,所以它可以对网络中任何一层数据通信进行筛选保护,而不是像包过滤那样,只是对网络层的数据进行过滤。

Netfi|ter是一种内核中用于扩展各种网络服务的结构化底层框架。Nettilter的设计思想是生成一个模块结构使之能够比较容易的扩展。新的特性加入到内核中并不需要从新启动内核。可以通过简单的构造一个内核模块来实现网络新特性的扩展,给底层的网络特性扩展带来了极大的便利。Netfilter比以前任何一版Linux内核的防火墙子系统都要完善强大。Nctfilter提供了一个抽象、通用化的框架,该框架定义的一个子功能的实现就是包过滤子系统(胡安磊等,2004)。Netiilter框架包含以下三部分:

1为每种网络协议(n'v4、口v6等)定义一套钩子函数(IPv4定义了5个钩子函数),这些钩子函数在数据报流过协议栈的几个关键点被调用。在这几个点中,协议栈将把数据报及钩子函数标号作为参数调用Netfilter框架。

2内核的任何模块可以对每种协议的一个或多个钩子进行注册,实现挂接,这样当某个数据包被传递给Netfilter框架时,内核能检测是否有任何模块对该协议和钩子函数进行了注册。若注册了,则调用该模块的注册时使用的回调函数,这样这些模块就有机会检查(可能还会修改)该数据包、丢弃该数据包及指示Netiilter将该数据包传入用户空间的队列。

3那些排队的数据包是被传递给用户空间的异步地进行处理。一个用户进程能检查数据包,修改数据包,甚至可以重新将该数据包通过离开内核的同一个钩子函数中注入到内核中。

所有的包过滤/NAT等等都基于该框架。当前Nettilter框架在IPv4、IPv6及Decent网络栈中被实现。

3—2:网络栈中HOOK示意图

从图中可以看到口v4一共有5个钩子函数,分别为:

I.NF—IP—PRE—ROUTING

II.NFIPLOCAL_IN

III.NF—IP—FORWARD

Ⅳ.NF_口棚POSTROUTING

OUT

V.NF_IP_LOCAL

数据报从左边进入系统。进行IP校验以后,数据报经过第一个钩子函数NF_IP_PREROUTING[1]进行处理:然后就进入路由代码,其决定该数据包是需要转发还是发给本机的:若该数据包是发被本机的,则该数据经过钩子函数NFIPLOCAL矾【21处理以后然后传递给上层协议;若该数据包应该被转发则它被NFIPFORWARD[3]处理:经过转发的数据报经过最后一个钩子函数NFIP_POST-RouT矾G[4】处理以后,再传输到网络上。

本地产生的数据经过钩子函数NF』?JDc虬-our【s】处理可以后,进行路由选择处理,然后经过NLIP_POST_ROUTING[4]处理以后发送到网络上。

3.1.2网络地址转换(NAT)技术

网络地址转换(NAT)通过将专用内部地址转换为公共外部地址,对外隐藏了内部管理的口地址。这样,通过在内部使用非注册的P地址,并将它们转换为一小部分外部注册的D地址,从而减少了D地址注册的费用。同时,这也隐藏了内部网络结构,从而降低了内部网络受到攻击的风险(黄登玺等,2002)。

当一个包在网络上传输时,从它的源地址到达目的地址。中间经过很多节点和网络。这些节点通常不会改交你的包,仅仅转发包。如果一个节点执行NAT,将会修改包的源地址或者目的地址。通常这个节点会记住怎样修改了这个包,一般的算法是通过记住包通讯时使用的端口号实现的.因此当相应的应答包从另一个方向到达时,就会知道如何反向修改这个应答包。

NAT有两釉类型:SourceNAT(SNAT)和DestinationNAT(DNAT)。

圈3-3:网络地址转换示意图

源NAT是指改变连接的第一个包的源地址。是在路由之后做,即在包至4达网卡之前处理。例如IP伪装(IPMasquerade)属于源NAT。

目的NAT是指改变连接的第一个包的目的地址。是在路由之前傲。端口转发、负载均衡、透明代理都属于目的NAT.通过地址变换,使外部网络无法了解内部网络的结构,从而提高了内网的安全性;同时,通过地址变换。可以节省P地址资源(内网主机可全部使用私有地址)。防火墙应具有拥有强大的地址转换能力。同时支持正向、反向地址转换,能为用户提供完整的地址转换解决方案。

SNAT用于使用保留疋地址的内部网用户通过防火墙访问公众网中的地址时对源地址进行转换。这里提供使用接口IP(UseInterfaceIP)和使用标准(General)两种源地址转换。

DNAT用于外网访阀子网时,为了保护内网服务器不遭受攻击所提供一个地址转换,提供端口转发(PortForwarding)和m映射(IPMapping)两种反向地址转换方式。

针对特殊访问内部服务的情况下,例如,从一台与服务器在同一个网段的主机,经由服务器的公网球地址访问,实现了DNAT+SNAT的防火墙访问模式。

图34:防火墙NAT管理示意圈

从主机A登陆Internet需要设置SNAT(使用接口IP/使用标准),从Imemet访问Web

服务器可以设置DNAT(端口转发,碑映射),那么,从内网主机C以公网地址访问Web服务器,就需要DNAT+SNAT的地址转换模式。

对于DNAT+SNAT的模式,比如主机C要从公网的IP地址访问在同一个子网内的Web服务器,那么就必须用到DNAT+SNAT模式。设置后,防火墙中信息如下:

图3-5:DNAT+SNAT设置图A

图3-6:DNAT+SNAT设置图B

在设置图A中,可以看到,其规则即为:从172.19.0.0/16的主机,访问202.108.132.43的Web服务被转向访问内网的172.19.100.1的Web服务器,并且这个规则被设置mark位是0x4。在设置图B中,当匹配了M删【时,将源地址转变为172.19.9.2。符合这种规则的数

据报,源地址披翻译成172.19.9.2,目的地址由202.108.132.43被翻译成172.19.100.1,并且被转发到内部分Web服务器处理。

这里,DSTNAT链和SRCNAT链,使用mark位联系,其它的防火墙是没有的。普通的Linux上的Nctfilter要实现DNAT+SNAT的模式,需要用户设置两次,才可以完成。这里,经过对Netfilter的合理扩展与修改,用mark位互联DSTN衄’链和SRCNAT链,就可以使这种很常用的模式一次设置即可完成.提高了用户的可用性和系统的效率。

3.2防火墙的管理技术

为了保证远程管理的安全性,不论是对管理员还是管理过程都应该采取一系列安全措施:对远程管理员提供了基于端【2/92令机制的管理员认证、管理员主机限定和同时只能有一个管理员登陆的限制.为了防止远程管理过程被监听和修改,还支持基于SSH的远程登陆管理和基于串口的管理模式,将管理主机和防火墙之间的通讯进行加密以保证安全。

一般的防火墙均是采用远程管理,管理员必须通过强用户认证才能登录到防火墙,对防火墙上的配置文件进行修改。强用户认证使用双因子认证(钥匙口令+访问接口),确保管理员不被假冒,管理主机(可以放置在内外网任何地方,包括拨号网络)与防火墙之间的通信采用可以选择加密传输,以防止黑客利用网络嗅探器对数据的窃取。利用这种机制,可以杜绝黑客假冒管理员对防火墙文件进行篡改和获取敏感信息。同时提供的串口管理可以提供管理员以超级终端的方式登录防火墙进行简单管理设置。

管理员可以用三种方式对防火墙进行管理:

1.标准的Web管理方式。本方式提供了最丰富的命令集。

2.命令行方式。分为串口命令行和SSH命令行方式,本方式主要用于远程应急处理。本命令集是浏览器方式的一个子集。串口命令行方式还包括恢复出厂版本、恢复出厂配置等命令。

3.SNMP远处管理方式。

根据国家标准中对防火墙技术的要求,防火墙的管理员用户分为五类,按权限从高到低分别为:串口用户,SSH用户,Web管理员用户,可读写用户,只读用户。使用SNMP管理时,每一次和防火墙通信的过程就是一个登陆、设置/查询、注销的过程。并且在技术上保证同一时刻。系统内只有一个可写权限的管理员用户在线,并且高级别写用户登陆时,可

相关主题
文本预览
相关文档 最新文档