现在无论是企业,还是个人,信息安全问题都日益成为广泛关注的焦点。不要说绝大多数非专业的企业网站,就边专业的著名网站,如Yahoo!、eBay等著名网站都曾经被黑客用原始的DoS攻击方法攻陷过,软件系统巨人——微软公司的网站也难逃“黑”运。在这样一个大环境下,网络安全问题凝了人们的注意力,大大小小的企业纷纷为自己的内部网络“筑墙”,防病毒与防黑客成为确保企业信息系统安全的基本手段。这里所说的“墙”在相当大程度上指的就是本篇要向大家介绍的“防火墙”。它是企事业单位局域网的安全守护神。但由于它身价的高贵性(动辄十几万),不要说大多数网络爱好者,中、小企业事业单位老总无缘一睹尊容,就连专门从事网络管理的中小企业网管人员也只能是“道听途说”。一时间防火墙这一设备在人们心中显得更是高不可攀。为此,本教程将为大家提供比较详尽的介绍,希望对各位有所裨益。
一、防火墙概念
防火墙的英文名为“FireWall”,它是目前一种最重要的网络防护设备。它的网络中经常是以图1所示的两种图标出现的。左边那个图标非常形象,真正像一堵墙一样。而右边那个图标则是从防火墙的过滤机制来形象化的,在图标中有一个二极管图标。而二极管我们知道,它具有单向导电性,这样也就形象地说明了防火墙具有单向导通性。这看起来与现在防火墙过滤机制有些矛盾,不过它却完全体现了防火墙初期的设计思想,同时也在相当大程度上体现了当前防火墙的过滤机制。因为防火最初的设计思想是对内部网络总是信任的,而对外部网络却总是不信任的,所以最初的防火墙是只对外部进来的通信进行过滤,而对内部网络用户发出的通信不作限制。当然目前的防火墙在过滤机制上有所改变,不仅对外部网络发出的通信连接要进行过滤,对内部网络用户发出的部分连接请求和数据包同样需要过滤,但防火墙仍只对符合安全策略的通信通过,也可以说具有“单向导通”性。
防火墙的本义是指古代构筑和使用木制结构房屋的时侯,为防止火灾的发生和蔓延,人们将坚固的石块堆砌在房屋周围作为屏障,这种防护构筑物就被称之为“防火墙”。其实与防火墙一起起作用的就是“门”。如果没有门,各房间的人如何沟通呢,这些房间的人又如何进去呢?当火灾发生时,这些人又如何逃离现场呢?这个门就相当于我们这里所讲的防火墙的“安全策略”,所以在此我们所说的防火墙实际并不是一堵实心墙,而是带有一些小孔的墙。这些小孔就是用来留给那些允许进行的通信,在这些小孔中安装了过滤机制,也就是上面所介绍的“单向导通性”。
我们这里所介绍的网络防火墙是借鉴了古代真正用于防火的防火墙的喻义,它指的是隔离在本地网络与外界网络之间的一道防御系统。防火可以使企业内部网络与Internet之间或者与其他外部网络互相隔离、限制网络互访用来保护内部网络。
以上仅是一种宏观意义的解释,对于防火墙的概念,目前还没有一个准确、标准的定义。通常人们认为:防火墙是位于两个(或多个)网络间,实施网络之间访问控制的一组组件集合。它具有以下三个方面的基本特性:
内部网络和外部网络之间的所有网络数据流都必须经过防火墙
这是防火墙所处网络位置特性,同时也是一个前提。因为只有当防火墙是内、外部网络之间通信的惟一通道,才可以全面、有效地保护企业网部网络不受侵害。
根据美国国家安全局制定的《信息保障技术框架》,防火墙适用于用户网络系统的边界,属于用户网络边界的安全保护设备。所谓网络边界即是采用不同安全策略的两个网络连接处,比如用户网络和互联网之间连接、和其它业务往来单位的网络连接、用户内部网络不同部门之间的连接等。防火墙的目的就是在网络连接之间建立一个安全控制点,通过允许、拒绝或重新定向经过防火墙的数据流,实现对进、出内部网络的服务和访问的审计和控制。
典型的防火墙体系网络结构如图1所示。从图中可以看出,防火墙的一端连接企事业单位内部的局域网,而另一端则连接着互联网。所有的内、外部网络之间的通信都要经过防火墙。
只有符合安全策略的数据流才能通过防火墙
这是防火墙的工作原理特性。防火墙之所以能保护企业内部网络,就是依据这样的工作原理或者说是防护机制进行的。它可以由管理员自由设置企业内部网络的安全策略,使允许的通信不受影响,而不允许的通信全部拒绝地内部网络之外。
防火墙自身应具有非常强的抗攻击免疫力
这是防火墙之所以能担当企业内部网络安全防护重任的先决条件。就像公安干警一样,如果自己都没有“百毒不侵”的过硬意志和本领,又如何经得住罪犯的种种诱惑和攻击呢?防火墙处于网络边缘,它就像一个边界卫士一样,每时每刻都要面对黑客的入侵,这样就要求防火墙自身要具有非常强的抗击入侵本领。它之所以具有这么强的本领防火墙操作系统本身是关键,只有自身具有完整信任关系的操作系统才可以谈论系统的安全性。其次就是防火墙自身具有非常低的服务功能,除了专门的防火墙嵌入系统外,再没有其它应用程序在防火墙上运行。当然这些安全性也只能说是相对的。
二、防火墙的分类
认识了防火墙之后,我们就来对当前市场上的防火墙进行一下分类。目前市场的防火墙产品非常之多,划分的标准也比较杂。在此我们对主流的分类标准进行介绍。
1. 从防火墙的软、硬件形式分
很明显,如果从防火墙的软、硬件形式来分的话,防火墙可以分为软件防火墙和硬件防火墙。
最初的防火墙与我们平时所看后劲的集线器、交换机一样,都属于硬件产品。如图2所示的是3Com公司的一款3Com SuperStack 3防火墙。它在外观上与平常我们所见到的集线器和交换机类似,只是只有少数几个接口,分别用于连接内、外部网络,那是由防火墙的基本作用决定的。
随着防火墙应用的逐步普及和计算机软件技术的发展,为了满足不同层次用户对防火墙技术的需求,许多网络安全软件厂商开发出了基于纯软件的防火墙,俗称“个人防火墙”。之所以说它是“个人防火墙”,那是因为它是安装在主机中,只对一台主机进行防护,而不是对整个网络。
2. 从防火墙技术来分
防火墙技术虽然出现了许多,但总体来讲可分为“包过滤型”和“应用代理型”两大类。前者以以色列的Checkpoint防火墙和Cisco公司的PIX防火墙为代表,后者以美国NAI公司的Gauntlet防火墙为代表。
(1). 包过滤(Packet filtering)型
包过滤型防火墙工作在OSI网络参考模型的网络层和传输层,它根据数据包头源地址,目的地址、端口号和协议类型等标志确定是否允许通过。只有满足过滤条件的数据包才被转发到相应的目的地,其余数据包则被从数据流中丢弃。
包过滤方式是一种通用、廉价和有效的安全手段。之所以通用,是因为它不是针对各个具体的网络服务采取特殊的处理方式,适用于所有网络服务;之所以廉价,是因为大多数路由器都提供数据包过滤功能,所以这类防火墙多数是由路由器集成的;之所以有效,是因为它能很大程度上满足了绝大多数企业安全要求。
在整个防火墙技术的发展过程中,包过滤技术出现了两种不同版本,称为“第一代静态包过滤”和“第二代动态包过滤”。
●第一代静态包过滤类型防火墙
这类防火墙几乎是与路由器同时产生的,它是根据定义好的过滤规则审查每个数据包,以便确定其是否与某一条包过滤规则匹配。过滤规则基于数据包的报头信息进行制订。报头信息中包括IP源地址、IP目标地址、传输协议(TCP、UDP、ICMP等等)、TCP/UDP目标端口、ICMP消息类型等。
●第二代动态包过滤类型防火墙
这此防火墙采用动态设置包过滤规则的方法,避免了静态包过滤所具有的问题。这种技术后来发展成为包状态监测(Stateful Inspection)技术。采用这种技术的防火墙对通过其建立的每一个连接都进行跟踪,并且根据需要可动态地在过滤规则中增加或更新条目。
包过滤方式的优点是不用改动客户机和主机上的应用程序,因为它工作在网络层和传输层,与应用层无关。但其弱点也是明显的:过滤判别的依据只是网络层和传输层的有限信息,因而各种安全要求不可能充分满足;在许多过滤器中,过滤规则的数目是有限制的,且随着规则数目的增加,性能会受到很大地影响;由于缺少上下文关联信息,不能有效地过滤如UDP、RPC一类的协议;另外,大多数过滤器中缺少审计和报警机制,它只能依据包头信息,而不能对用户身份进行验证,很容易受到“地址欺骗型”攻击。对安全管理人员素质要求高,建立安全规则时,必须对协议本身及其在不同应用程序中的作用有较深入的理解。因此,过滤器通常是和应用网关配合使用,共同组成防火墙系统。
(2). 应用代理(Application Proxy)型
应用代理型防火墙是工作在OSI的最高层,即应用层。其特点是完全"阻隔"了网络通信流,通过对每种应用服务编制专门的代理程序,实现监视和控制应用层通信流的作用。其典型网络结构如图3所示。
在代理型防火墙技术的发展过程中,它也经历了两个不同的版本,即:第一代应用网关型代理防火和第二代自适应代理防火墙。
●第一代应用网关(Application Gateway)型防火墙
这类防火墙是通过一种代理(Proxy)技术参与到一个TCP连接的全过程。从内部发出的数据包经过这样的防火墙处理后,就好像是源于防火墙外部网卡一样,从而可以达到隐藏内部网结构的作用。这种类型的防火墙被网络安全专家和媒体公认为是最安全的防火墙。它的核心技术就是代理服务器技术。
●第二代自适应代理(Adaptive proxy)型防火墙
它是近几年才得到广泛应用的一种新防火墙类型。它可以结合代理类型防火墙的安全性和包过滤防火墙的高速度等优点,在毫不损失安全性的基础之上将代理型防火墙的性能提高10倍以上。组成这种类型防火墙的基本要素有两个:自适应代理服务器(Adaptive Proxy Server)与动态包过滤器(Dynamic Packet filter)。
在“自适应代理服务器”与“动态包过滤器”之间存在一个控制通道。在对防火墙进行配置时,用户仅仅将所需要的服务类型、安全级别等信息通过相应Proxy的管理界面进行设置就可以了。然后,自适应代理就可以根据用户的配置信息,决定是使用代理服务从应用层代理请求还是从网络层转发包。如果是后者,它将动态地通知包过滤器增减过滤规则,满足用户对速度和安全性的双重要求。
代理类型防火墙的最突出的优点就是安全。由于它工作于最高层,所以它可以对网络中任何一层数据通信进行筛选保护,而不是像包过滤那样,只是对网络层的数据进行过滤。
另外代理型防火墙采取是一种代理机制,它可以为每一种应用服务建立一个专门的代理,所以内外部网络之间的通信不是直接的,而都需先经过代理服务器审核,通过后再由代理服务器代为连接,根本没有给内、外部网络计算机任何直接会话的机会,从而避免了入侵者使用数据驱动类型的攻击方式入侵内部网。包过滤类型的防火墙是很难彻底避免这一漏洞的。就像你要向一个陌生人物递交一份声明一样,如果你先将这份声明交给你的律师,然后律师就会审查你的声明,确认没有什么负面的影响后才由他交给那个陌生人。在此期间,陌生人对你的存在一无所知,因为他仅与你的律师进行交接。如果要对你进行侵犯,他直接面对的将是你的律师,而你的律师当然比你更加清楚该如何对付这种人。
有优点就有缺点,任何事物都一样。代理防火墙的最大缺点就是速度相对比较慢,当用户对内外部网络网关的吞吐量要求比较高时,代理防火墙就会成为内外部网络之间的瓶颈。那因为防火墙需要为不同的网络服务建立专门的代理服务,在自己的代理程序为内、外部网络用户建立连接时需要时间,所以给系统性能带来了一些负面影响,但通常不会很明显。
3. 从防火墙结构分
从防火墙结构上分,防火墙主要有:单一主机防火墙、路由器集成式防火墙和分布式防火墙三种。
单一主机防火墙是最为传统的防火墙,它就像本文图2所介绍的那款3Com防火墙一样,独立于其它网络设备,它位于网络边界。
这种防火墙其实与一台计算机结构差不多(如图4所示的是一款硬件防火墙),同样包括CPU、内存、硬盘等基本组件,当然主板更是不能少了,且主板上也有南、北桥芯片。它与一般计算机最主要的区别就是一般防火墙都集成了两个以上的以太网卡,因为它需要连接一个以上的内、外部网络。其中的硬盘就是用来存储防火墙所用的基本程序,如包过滤程序和代理服务器程序等,有的防火墙还把日志记录也记录在此硬盘上。虽然如此,但我们不能说它就与我们平常的PC机一样,因为它的工作性质,决定了它要具备非常高的稳定性、实用性,具备非常高的系统吞吐性能。正因如此,看似与PC机差不多的配置,价格甚远。
随着防火墙技术的发展及应用需求的提高,原来作为单一主机的防火墙现在已发生了许多变化。最明显的变化就是现在许多中、高档的路由器中已集成了防火墙功能,还有的防火墙已不再是一个独立的硬件实体,而是由多个软、硬件组成的系统,这种防火墙,俗称“分布式防火墙”。
原来单一主机的防火墙由于价格非常昂贵,仅有少数大型企业才能承受得起,为了降低企业网络投资,现在许多中、高档路由器中集成了防火墙功能。如Cisco IOS防火墙系列。但这种防火墙通常是较低级的包过滤型。这样企业就再同时购买路由器和防火墙,大大降低了网络设备购买成本。
分布式防火墙再也不是只是位于网络边界,而是渗透于网络的每一台主机,对整个内部网络的主机实施保护。在网络服务器中,通常会安装一个用于防火墙系统管理软件,在服务器及各主机上安装有集成网卡功能的PCI防火墙卡 ,这样一块防火墙卡同时兼有网卡和防火墙的双重功能。这样一个防火墙系统就可以彻底保护内部网络。各主机把任何其它主机发送的通信连接都视为“不可信”的,都需要严格过滤。而不是传统边界防火墙那样,仅对外部网络发出的通信请求“不信任”。关于这一点,我们将在防火墙新技术篇中将详细介绍。
4. 按防火墙的应用部署位置分
如果按防火墙的应用部署位置分,可以分为边界防火墙、个人防火墙和混合防火墙三大类。
边界防火墙是最传统的那种,它们于内、外部网络的边界,所起的作用的对内、外部网络实施隔离,保护边界内部网络。这类防火墙一般都是硬件类型的,价格较贵,性能较好。
个人防火墙安装于单台主机中,防护的也只是单台主机。这类防火墙应用于广大的个人用户,通常为软件防火墙,价格最便宜,性能也最差。
混合式防火墙可以说就是“分布式防火墙”或者“嵌入式防火墙”,它是一整套防火墙系统,由若干个软、硬件组件组成,分布于内、外部网络边界和内部各主机之间,既对内、外部网络之间通信进行过滤,又对网络内部各主机间的通信进行过滤。它属于最新的防火墙技术之一,性能最好,价格也最贵。
5. 按防火墙性能分
如果按防火墙的性能来分可以分为百兆级防火墙和千兆级防火墙两类。因为防火墙通常位于网络边界,所以不可能只是十兆级的。这主要是指防火的通道带宽,或者说是吞吐率。当然通道带宽越宽,性能越高,这样的防火墙因包过滤或应用代理所产生的延时也越小,对整个网络通信性能的影响也就越小。
三、防火墙的主要功能
以上介绍了防火墙的含义,其实我们可以从防火墙的这些解释中可以理解到防火墙的功能。具体来说,防火墙主要有以下几方面功能:
创建一个阻塞点
隔离不同网络,防止内部信息的外泄
强化安全策略
有效地审计和记录内、外部网络上的活动
1. 创建一个阻塞点
防火墙在一个公司内部网络和外部网络间建立一个检查点。这种实现要求所有的流量都要通过这个检查点。一旦这些检查点清楚地建立,防火墙设备就可以监视,过滤和检查所有进来和出去的流量。这样一个检查点,在网络安全行业中称之为“阻塞点”。通过强制所有进出流量都通过这些检查点,网络管理员可以集中在较少的地方来实现安全目的。如果没有这样一个供监视和控制信息的点,系统或安全管理员则要在大量的地方来进行监测。
2. 隔离不同网络,防止内部信息的外泄
这是防火墙的最基本功能,它通过隔离内、外部网络来确保内部网络的安全。也限制了局部重点或敏感网络安全问题对全局网络造成的影响。企业秘密是大家普遍非常关心的问题,一个内部网络中不引人注意的细节可能包含了有关安全的线索而引起外部攻击者的兴趣,甚至因此而暴漏了内部网络的某些安全漏洞。使用防火墙就可以隐蔽那些透漏内部细节如Finger,DNS等服务。Finger显示了主机的所有用户的注册名、真名,最后登录时间和使用shell类型等。但是Finger显示的信息非常容易被攻击者所截获,攻击者通过所获取的信息可以知道一个系统使用的频繁程度,这个系统是否有用户正在连线上网等信息。防火墙可以同样阻塞有关内部网络中的DNS信息,这样一台主机的域名和IP地址就不会被外界所了解。
3. 强化网络安全策略
通过以防火墙为中心的安全方案配置,能将所有安全软件(如口令、加密、身份认证、审计等)配置在防火墙上。与将网络安全问题分散到各个主机上相比,防火墙的集中安全管理更经济。各种安全措施的有机结合,更能有效地对网络安全性能起到加强作用。
4. 有效地审计和记录内、外部网络上的活动
防火墙可以对内、外部网络存取和访问进行监控审计。如果所有的访问都经过防火墙,那么,防火墙就能记录下这些访问并进行日志记录,同时也能提供网络使用情况的统计数据。当发生可疑动作时,防火墙能进行适当的报警,并提供网络是否受到监测和攻击的详细信息。这为网络管理人员提供非常重要的安全管理信息,可以使管理员清楚防火墙是否能够抵挡攻击者的探测和攻击,并且清楚防火墙的控制是否充足。
以上是从宏观方面对防火墙的功能所进行的综合描述,如果从技术微观方面分的话,它主要体现在如下方面:
1. 包过滤
包过滤是防火墙所要实现的最基本功能,现在的防火墙已经由最初的地址、端口判定控制,发展到判断通信报文协议头的各部分,以及通信协议的应用层命令、内容、用户认证、用户规则甚至状态检测等等。
2. 审计和报警机制
在防火墙结合网络配置和安全策略对相关数据分析完成以后,就要做出接受、拒绝、丢弃或加密等决定。如果某个访问违反安全策略,审计和报警机制开始起作用,并作记录和报告。审计是一种重要的安全举措,用以监控通信行为和完善安全策略,检查安全漏洞和错误配置。报警机制是在有通信违反相关安全策略后,防火墙可以有多种方式及时向管理员进行报警,如声音、邮件、电话、手机短信息等。
防火墙的审计和报警机制在防火墙体系中是很重要的,只有有了审计和报警功能,管理人员才可能及时知道网络是否受到了攻击。通过防火墙日志启示还可以进行统计、分析,得出系统安全存在最大不足和隐患,进而可以有针对性地进行改进。
但要注意的,由于要对整个网络通信进行日志记录,所以防火墙的日志记录数据量比较大,在防火墙自身上是不可能能存储这么庞大的日志文件的。通常采用外挂方式,即将日志挂接在内部网络的一台专门存放日志的日志服务器上。
3.NAT(Network Address Translation,网络地址转换)
网络地址转换功能现在也已成为防火墙的标准配置之一。通过此项功能就可以很好地屏蔽内部网络的IP地址,对内部网络用户起到了保护作用。
NAT又分“SNAT (Source NAT)”和“DNAT (Destination NAT)”。SNAT就是改变转发数据包的源地址,对内部网络地址进行转换,对外部网络是屏蔽的,使得外部非常用户对内部主机的攻击更加困难,同时可以节省有限的