网络防火墙是借鉴了古代真正用于防火的防火墙的喻义,它指的是隔离在本地网络与外界网络之间的一道防御系统。防火墙可以使企业内部局域网(LAN)网络与Internet之间或者与其他外部网络互相隔离、限制网络互访用来保护内部网络。
网络防火墙是一种用来加强网络之间访问控制,防止外部网络用户以非法手段通过外部网络进入内部网络,访问内部网络资源,保护内部网络操作环境的特殊网络互联设备。它对两个或多个网络之间传输的数据包如链接方式按照一定的安全策略来实施检查,以决定网络之间的通信是否被允许,并监视网络运行状态。
防火墙最基本的功能是确保网络流量的合法性,并在此前提下将网络的流量快速的从一条链路转发到另外的链路上去。防火墙将网络上的流量通过相应的网络接口接收上来,按照OSI协议的7层结构顺序上传,在适当的协议层进行访问规则和安全审查,然后将符合通过条件的报文从相应的网络接口送出,而对于那些不符合通过条件的报文则予以阻断。因此,从这个角度上来说,防火墙是一个类似于桥接或路由器的、多端口的(网络接口≥2)转发设备,它跨接于多个分离的物理网段之间,并在报文转发过程之中完成对报文的审查工作。
防火墙属于网络层安全技术范畴。负责网络间的安全认证与传输,但随着网络安全技术的整体发展和网络应用的不断变化,现代防火墙技术已经逐步走向网络层之外的其他安全层次,不仅要完成传统防火墙的过滤任务,同时还能为各种网络应用提供相应的安全服务。另外还有多种防火墙产品正朝着数据安全与用户认证、防止病毒与黑客侵入等方向发展。
根据防火墙所采用的技术不同,可以将它分为4种基本类型:包过滤型、网络地址转换NAT、代理型和监测型。
(1)包过滤型。
包过滤型产品是防火墙的初级产品,其技术依据是网络中的分包传输技术。网络上的数据都是以见“包”为单位进行传输的,数据被分割成为一定大小的数据包,每一个数据包中都会包含一些特定信息,如数据的源地址、目标地址、TCP/UDP源端口和目标端口等。防火墙通过读取数据包中的地址信息来判断这些“包”是否来自可信任的安全站点,一旦发现来自危险站点的数据包,防火墙便会将这些数据拒之门外。系统管理员也可以根据实际情况灵活制定判断规则。
包过滤技术的优点是简单实用,实现成本较低,在应用环境比较简单的情况下,能够以较小的代价在一定程度上保证系统的安全。
但包过滤技术的缺陷也是明显的。包过滤技术是一种完全基于网络层的安全技术,只能根据数据包的来源、目标和端口等网络信息进行判断,无法识别基于应用层的恶意侵入,如恶意的Java小程序以及E-mail中附带的病毒。有经验的黑客很容易伪造IP地址,骗过包过滤型防火墙。
(2)网络地址转换NAT。
网络地址转换是一种用于把IP地址转换成临时的、外部的、注册的IP地址标准。它允许具有私有IP地址的内部网络访问互联网。它还意味着用户不许要为其网络中每一台机器取得注册的IP地址。
NAT的工作过程是:在内部网络通过安全网卡访问外部网络时,将产生一个映射记录。系统将外出的源地址和源端口映射为一个伪装的地址和端口,让这个伪装的地址和端口通过非安全网卡与外部网络连接,这样对外就隐藏了真实的内部网络地址。在外部网络通过非安全网卡访问内部网络时,它并不知道内部网络的连接情况,而只是通过一个开放的IP地址和端口来请求访问。防火墙根据预先定义好的映射规则来判断这个访问是否安全。当符合规则时,防火墙认为访问是安全的,可以接受访问请求,也可以将连接请求映射到不同的内部计算机中。当不符合规则时,防火墙认为该访问是不安全的,不能被接受,防火墙将屏蔽外部的连接请求。网络地址转换的过程对于用户来说是透明的,不需要用户进行设置,用户只要进行常规操作即可。
(3)代理型。
代理型防火墙也可以被称为代理服务器,它的安全性要高于包过滤型产品,并已经开始向应用层发展。代理服务器位于客户机与服务器之间,完全阻挡了两者间的数据交流。从客户机来看,代理服务器相当于一台真正的服务器;而从服务器来看,代理服务器又是一台真正的客户机。当客户机需要使用服务器上的数据时,首先将数据请求发给代理服务器,代理服务器再根据这一请求向服务器索取数据,然后再由代理服务器将数据传输给客户机。由于外部系统与内部服务器之间没有直接的数据通道,外部的恶意侵害也就很难伤害到企业内部网络系统。
代理型防火墙的优点是安全性较高,可以针对应用层进行侦测和扫描,对付基于应用层的侵入和病毒都十分有效。其缺点是对系统的整体性能有较大的影响,而且代理服务器必须针对客户机可能产生的所有应用类型逐一进行设置,大大增加了系统管理的复杂性。
(4)监测型。
监测型防火墙是新一代的产品,这一技术实际已经超越了最初的防火墙定义。监测型防火墙能够对各层的数据进行主动的、实时的监测,在对这些数据加以分析的基础上,监测型防火墙能够有效地判断出各层中的非法侵入。同时,这种监测型防火墙产品一般还带有分布式探测器,这些探测器安置在各种应用服务器和其他网络的节点之中,不仅能够监测来自网络外部的攻击,同时对来自内部的恶意破坏也有极强的防范作用。据权威机构统计,在针对网络系统的攻击中,有相当比例的攻击来自网络内部。因此,监测型防火墙不仅超越了传统防火墙的定义,而且在安全性上也超越了前两代产品。
虽然监测型防火墙安全性上已超越了包过滤型和代理服务器型防火墙,但由于监测型防火墙技术的实现成本较高,也不易管理,所以目前在实用中的防火墙产品仍然以第二代代理型产品为主,但在某些方面也已经开始使用监测型防火墙。基于对系统成本与安全技术成本的综合考虑,用户可以选择性地使用某些监测型技术。这样既能够保证网络系统的安全性需求,同时也能有效地控制安全系统的总拥有成本。
防火墙如果从实现方式上来分,又分为硬件防火墙和软件防火墙两类,通常意义上讲的硬防火墙为硬件防火墙,它是通过硬件和软件的结合来达到隔离内、外部网络的目的,价格较贵,但效果较好;软件防火墙是通过纯软件的方式来达到,价格较便宜,但这类防火墙只能通过一定的规则来限制一些非法用户访问内部网。
虽然防火墙是目前保护网络免遭黑客袭击的有效手段,但也有明显不足:无法防范通过防火墙以外的其他途径的攻击,不能防止来自内部变节者和不经心的用户们带来的威胁,也不能完全防止传送已感染病毒的软件或文件,以及无法防范数据驱动型的攻击。
防火墙是一种被动式的防护手段,只能对现在已知的网络威胁起作用。随着网络攻击手段的不断更新和一些新的网络应用的出现,不可能靠一次性的防火墙设置来解决永远的网络安全问题。
一个网络防火墙通常安装在被保护的内部网与Internet的连接点上,作为内部网与外部网之间的一种访问控制设备。从Internet或从内部网上产生的任何活动都必须经过防火墙,因此它具有以下一些主要功能:
(1)防火墙是网络安全的屏障。
一个防火墙(作为阻塞点、控制点)能极大地提高一个内部网络的安全性,并通过过滤不安全的服务而降低风险。由于只有经过精心选择的应用协议才能通过防火墙,所以网络环境变得更安全。如防火墙可以禁止诸如众所周知的不安全的NFS协议进出受保护网络,这样外部的攻击者就不可能利用这些脆弱的协议来攻击内部网络。防火墙同时可以保护网络免受基于路由的攻击,如IP选项中的源路由攻击和ICMP重定向中的重定向路径。防火墙应该可以拒绝所有以上类型攻击的报文并通知系统管理员。
(2)防火墙可以强化网络安全策略。
防火墙是阻塞点,所有内部网络与外部网络之间的通信流量都必须经过这个唯一、狭窄的检查点;这样就可以实施集中的安全策略,而不是针对每台主机实施单独的安全策略。
防火墙可以实施强制的安全策略,它执行严格的站点安全策略,仅仅允许认可的和符合规则的网络服务通过,而拒绝其他的网络服务。这种安全策略可以随情况的不同而进行变化,具有很大的灵活性。
通过以防火墙为中心的安全方案配置,能将所有安全软件(如口令、加密、身份认证、审计等)配置在防火墙上。与将网络安全问题分散到各个主机上相比,防火墙的集中安全管理更经济。例如在网络访问时,一次一密口令系统和其他的身份认证系统完全可以不必分散在各个主机上,而集中在防火墙上。
(3)对网络存取和访问进行监控审计。
由于所有的信息都要穿过防火墙,防火墙非常适合于收集网络上的信息,作为访问的唯一点,防火墙能在被保护的内部网络和外部网络之间进行记录并作出日志记录,同时也能提供网络使用情况的统计数据。而系统管理员可以利用这些记录跟踪和发现入侵者。当发生可疑动作时,防火墙能进行适当的报警,并提供网络是否受到监测和攻击的详细信息。
另外,收集一个网络的使用和误用情况也是非常重要的。首先的理由是可以清楚防火墙是否能够抵挡攻击者的探测和攻击,并且清楚防火墙的控制是否充足。而网络使用统计对网络需求分析和威胁分析等而言也是非常重要的。
(4)防止内部信息的外泄信息。
通过利用防火墙对内部网络的划分,可实现内部网重点网段的隔离,从而限制了局部重点或敏感网络安全问题对全局网络造成的影响。再者,隐私是内部网络非常关心的问题,一个内部网络中不引人注意的细节可能包含了有关安全的线索而引起外部攻击者的兴趣,甚至因此而暴露了内部网络的某些安全漏洞。使用防火墙就可以隐蔽那些透漏内部细节如Finger、DNS等服务。Finger显示了主机的所有用户的注册名、真名,最近登录时间和使用shell类型等。但是Finger显示的信息非常容易被攻击者所获悉。攻击者可以知道一个系统使用的频繁程度,这个系统是否有用户正在连线上网,这个系统是否在被攻击时引起注意等等。防火墙可以同样阻塞有关内部网络中的DNS信息,这样一台主机的域名和IP地址就不会被外界所了解。
防火墙的基本功能是限制在两个网络间信息的传输。要建立防火墙,必须定义哪些数据允许通过,哪些数据不允许通过,这被定义为建立防火墙的策略。对于定义防火墙的策略,业界有一个非常著名的标准,即两个基本的策略。
(1)没有明确允许的就是禁止的(默认禁止)。
基于该准则,防火墙应封锁所有信息流,然后对希望提供的服务逐项开放。这是一项非常实用的方法,可以造成一种十分安全的环境,因为只有经过仔细挑选的服务才被允许使用。
采用这个策略,所描述的特殊的协议应当允许通过防火墙,所描述的特殊主机可以传送数据和被连接。其余的都将被禁止。
这个策略优势在于其高度的安全性,但提供给内部网络的服务却大幅度减少,用户能够使用的服务范围受到限制,灵活性受到了很大的制约。
(2)没有明确禁止的就是允许的(默认允许)。
基于该准则,防火墙应转发所有信息流,然后逐项屏蔽可能有害的服务。这种方法构成了一种更为灵活的应用环境,可为用户提供更多的服务。
采用这个策略,可以给防火墙设定一组将使数据受限制的规则。根据该策略,没有被规则涉及的任何主机或协议将被放行。
这个策略的优势在于配置简单,用户可以获得更多的网络服务,但缺点也十分明显,安全级别较低,可能存在很多的安全漏洞。
VPN虚拟专用网(Virtual Private Network)可以在防火墙与防火墙或移动的客户端之间对所有网络传输的内容加密,建立一个虚拟通道,让两者感觉是在同一个网络上,可以安全且不受拘束地互相存取。
VPN是近年来随着Internet的发展而迅速发展起来的一种技术。现代企业实施电子商务,越来越多地利用Internet资源来进行促销、销售、售后服务,乃至培训、合作等活动。许多企业趋向于利用Internet来替代他们的私有数据网络。这种利用Internet来传输私有信息而形成的逻辑网络就称为虚拟专用网。
VPN实际上就是将Internet看作一种公有数据网,这种公有网和PSTN网在数据传输上没有本质的区别,从用户观点来看,数据都被正确传送到了目的地。相对地,企业在这种公共数据网上建立的用以传输企业内部信息的网络被称为私有网。
(1)增强的安全性。VPN通过使用点到点协议(PPP)用户级身份验证的方法进行验证,这些验证方法包括:密码身份验证协议(PAP)、质询握手身份验证协议(CHAP)、Shiva 密码身份验证协议(SPAP)、Microsoft质询握手身份验证协议(MS-CHAP)和可选的可扩展身份验证协议(EAP);并且采用微软点对点加密算法(MPPE)和网际协议安全(IPSec)机制对数据进行加密。以上的身份验证和加密手段由远程VPN服务器强制执行。对于敏感的数据,可以使用VPN连接通过VPN服务器将高度敏感的数据服务器物理地进行分隔,只有企业Intranet上拥有适当权限的用户才能通过远程访问建立与VPN服务器的VPN连接,并且可以访问敏感部门网络中受到保护的资源。
(2)网络协议支持。VPN支持最常用的网络协议,基于IP、IPX和NetBEUI协议网络中的客户机都可以很容易地使用VPN。这意味着通过VPN连接可以远程运行依赖于特殊网络协议的应用程序。
(3)IP地址安全。因为VPN是加密的,VPN数据包在Internet中传输时,Internet上的用户只看到公用的IP地址,看不到数据包内包含的专有网络地址。因此远程专用网络上指定的地址是受到保护的。
使用VPN还可降低费用。首先远程用户可以通过向当地的ISP申请账户登录到Internet,以Internet作为隧道与企业内部专用网络相连,通信费用大幅度降低;其次企业可以节省购买和维护通信设备的费用。
要使数据顺利地被封装、传送及解封装,通信协议是保证的核心。目前VPN主要隧道协议有:PPTP点到点隧道协议、L2TP第二层隧道协议、IPSec协议以及SOCKS v5协议。
(1)PPTP点到点隧道协议。
PPTP是PPP的扩展,它增加了一个新的安全等级,并且可以通过Internet进行多协议通信,它支持通过公共网络(如Internet)建立按需的、多协议的虚拟专用网络。PPTP可以建立隧道或将IP、IPX或NetBEUI协议封装在PPP数据包内,因此允许用户远程运行依赖特定网络协议的应用程序。PPTP在基于TCP/IP协议的数据网络上创建VPN连接,实现从远程计算机到专用服务器的安全数据传输。VPN服务器执行所有的安全检查和验证,并启用数据加密,使得在不安全的网络上发送信息变得更加安全。尤其是使用EAP后,通过启用PPTP的VPN传输数据就像在企业的一个局域网内那样安全。另外还可以使用PPTP 建立专用LAN到LAN的网络。
(2)L2TP第二层隧道协议。
L2TP是一个工业标准的Internet隧道协议,它和PPTP的功能大致相同。L2TP也会压缩PPP的帧,从而压缩IP、IPX或NetBEUI协议,同样允许用户远程运行依赖特定网络协议的应用程序。与PPTP不同的是,L2TP使用新的网际协议安全(IPSec)机制来进行身份验证和数据加密。目前L2TP只支持通过IP网络建立隧道,不支持通过X.25、帧中继或ATM网络的本地隧道。
(3)IPSec协议。
IPSec协议是一个范围广泛、开放的VPN安全协议,工作在OSI模型中的第三层——网络层。它提供所有在网络层上的数据保护和透明的安全通信。IPSec协议可以设置成在两种模式下运行:一种是隧道模式,另一种是传输模式。在隧道模式下,IPSec把IPv4数据包封装在安全的IP帧中。传输模式是为了保护端到端的安全性,不会隐藏路由信息。1999年底,IETF安全工作组完成了IPSec的扩展,在IPSec协议中加上了ISAKMP协议,其中还包括密钥分配协议IKE和Oakley。
一种趋势是将L2TP和IPSec结合起来:用L2TP作为隧道协议,用IPSec协议保护数据。目前,市场上大部分VPN采用这类技术。
(4)SOCKS v5协议。
SOCKS v5工作在OSI模型中的第五层——会话层,可作为建立高度安全的VPN的基础。SOCKS v5协议的优势在访问控制,因此适用于安全性较高的VPN。SOCKS v5现在被IETF建议作为建立VPN的标准。
在网络层只能根据源目的的IP地址允许或拒绝被通过,在会话层控制手段更多一些;由于工作在会话层,能同低层协议如IPV4、IPSec、PPTP、L2TP一起使用;用SOCKS v5的代理服务器可隐藏网络地址结构;能为认证、加密和密钥管理提供“插件”模块,让用户自由地采用所需要的技术。SOCKS v5可根据规则过滤数据流,包括Java Applet和Actives控制。
目前VPN主要采用隧道技术、以及加解密技术、密钥管理技术、使用者与设备身份认证技术等来确保网络安全。
(1)隧道技术。
隧道技术(Tunneling)是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据通过互联网络传递。
被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为“隧道”。一旦到达网络终点,数据将被解包并转发到最终目的地。隧道技术是指包括数据封装、传输和解包在内的全过程。
(2)安全技术。
VPN是在不安全的Internet中通信,通信的内容可能涉及企业的机密数据,因此其安全性非常重要。VPN中的安全技术通常由加密、认证及密钥交换与管理组成。
认证技术防止数据的伪造和被篡改,VPN可采用数字指纹等技术,以验证数据的完整性和用户认证。
对通过公共互联网络传递的数据必须经过加密,确保网络其他未授权的用户无法读取该信息。加解密技术是数据通信中一项较成熟的技术,VPN可直接利用现有技术。
VPN中密钥的分发与管理非常重要。密钥的分发有两种方法:一种是通过手工配置的方式,另一种采用密钥交换协议动态分发。手工配置的方法由于密钥更新困难,只适合于简单网络的情况。密钥交换协议采用软件方式动态生成密钥,适合于复杂网络的情况且密钥可快速更新,可以显著提高VPN 的安全性。
VPN在企业中的组网方式分以下三种。在各种组网方式下采用的隧道协议有所不同,要仔细选择。
(1)Access VPN(远程访问VPN):客户端到网关。
远程用户拨号接入到本地的ISP,它适用于流动人员远程办公,可大大降低电话费。SOCKS v5协议适合这类连接。
(2)Intranet VPN(企业内部VPN):网关到网关。
它适用于公司两个异地机构的局域网互联,在Internet 上组建世界范围内的企业网。利用Internet 的线路保证网络的互联性,而利用隧道、加密等VPN 特性可以保证信息在整个Intranet VPN 上安全传输。IPSec隧道协议可满足所有网关到网关的VPN连接,因此,在这类组网方式中用得最多。
(3)Extranet VPN(扩展的企业内部VPN):与合作伙伴企业网构成Extranet。
由于不同公司的网络相互通信,所以要更多考虑设备的互连、地址的协调、安全策略的协商等问题。它也属于网关到网关的连接,选择IPSec协议是明智之举。