防火墙现在已成为各企业网络中实施安全保护的核心,安全管理员的目的是选择性地拒绝进出网络的数据流量,这些工作都是由防火墙来做的。
防火墙技术现状
自从1986年美国Digital公司在Internet上安装了全球第一个商用防火墙系统后,提出了防火墙的概念,防火墙技术得到了飞速的发展。第二代防火墙,也称代理服务器,它用来提供网络服务级的控制,起到外部网络向被保护的内部网络申请服务时中间转接作用,这种方法可以有效地防止对内部网络的直接攻击,安全性较高。第三代防火墙有效地提高了防火墙的安全性,称为状态监控功能防火墙,它可以对每一层的数据包进行检测和监控。随着网络攻击手段和信息安全技术的发展,新一代的功能更强大、安全性更强的防火墙已经问世,这个阶段的防火墙已超出了原来传统意义上防火墙的范畴,已经演变成一个全方位的安全技术集成系统,我们称之为第四代防火墙,它可以抵御目前常见的网络攻击手段,如IP地址欺骗、特洛伊木马攻击、Internet蠕虫、口令探寻攻击、邮件攻击等等。
防火墙的定义和描述
“防火墙”这个术语参考来自应用在建筑结构里的安全技术。在楼宇里用来起分隔作用的墙,用来隔离不同的公司或房间,尽可能的起防火作用。一旦某个单元起火这种方法保护了其它的居住者。然而,多数防火墙里都有一个重要的门,允许人们进入或离开大楼。因此,虽然防火墙保护了人们的安全,但这个门在提供增强安全性的同时允许必要的访问。
在计算机网络中,一个网络防火墙扮演着防备潜在的恶意的活动的屏障,并可通过一个”门”来允许人们在你的安全网络和开放的不安全的网络之间通信。原来,一个防火墙是由一个单独的机器组成的,放置在你的私有网络和公网之间。近些年来,防火墙机制已发展到不仅仅是”firlwall box”,更多提及到的是堡垒主机。它现在涉及到整个从内部网络到外部网络的区域,由一系列复杂的机器和程序组成。简单来说,今天防火墙的主要概念就是多个组件的应用。到现在你要准备实施你的防火墙,需要知道你的公司需要什么样的服务并且什么样的服务对于内部用户和外部用户都是有效的。
防火墙的任务
防火墙在实施安全的过程中是至关重要的。一个防火墙策略要符合四个目标,而每个目标通常都不是通过一个单独的设备或软件来实现的。大多数情况下防火墙的组件放在一起使用以满足公司安全目的的需求。防火墙要能确保满足以下四个目标
实现一个公司的安全策略
防火墙的主要意图是强制执行你的安全策略。在前面的课程提到过在适当的网络安全中安全策略的重要性。举个例子,也许你的安全策略只需对MAIL服务器的SMTP流量作些限制,那么你要直接在防火墙强制这些策略。
创建一个阻塞点
防火墙在一个公司私有网络和分网问建立一个检查点。这种实现要求所有的流量都要通过这个检查点。一旦这些检查点清楚地建立,防火墙设备就可以监视,过滤和检查所有进来和出去的流量。网络安全产业称这些检查点为阻塞点。通过强制所有进出流量都通过这些检查点,网络管理员可以集中在较少的方来实现安全目的。如果没有这样一个供监视和控制信息的点,系统或安全管理员则要在大量的地方来进行监测。检查点的另一个名字叫做网络边界。
记录Internet活动
防火墙还能够强制日志记录,并且提供警报功能。通过在防火墙上实现日志服务,安全管理员可以监视所有从外部网或互联网的访问。好的日志策略是实现适当网络安全的有效工具之一。防火墙对于管理员进行日志存档提供了更多的信息。
限制网络暴露
防火墙在你的网络周围创建了一个保护的边界。并且对于公网隐藏了你内部系统的一些信息以增加保密性。当远程节点侦测你的网络时,他们仅仅能看到防火墙。远程设备将不会知道你内部网络的布局以及都有些什么。防火墙提高认证功能和对网络加密来限制网络信息的暴露。通过对所能进来的流量时行源检查,以限制从外部发动的攻击。
防火墙术语
在我们继续讨论防火墙技术前,我们需要对一些重要的术语有一些认识
网关
网关是在两上设备之间提供转发服务的系统。网关的范围可以从互联网应用程序如公共网关接口(CGI)到在两台主机间处理流量的防火墙网关。这个术语是非常常见的,而且在本课会用于一个防火墙组件里,在两个不同的网络路由和处理数据。
电路级网关
电路级网关用来监控受信任的客户或服务器与不受信任的主机间的TCP握手信息,这样来决定该会话是否合法,电路级网关是在OSI模型中会话层上来过滤数据包,这样比包过滤防火墙要高两层。另外,电路级网关还提供一个重要的安全功能:网络地址转移(NAT)将所有公司内部的IP地址映射到一个“安全”的IP地址,这个地址是由防火墙使用的。有两种方法来实现这种类型的网关,一种是由一台主机充当筛选路由器而另一台充当应用级防火墙。另一种是在第一个防火墙主机和第二个之间建立安全的连接。这种结构的好处是当一次攻击发生时能提供容错功能。
应用级网关
应用级网关可以工作在OSI七层模型的任一层上,能够检查进出的数据包,通过网关复制传递数据,防止在受信任服务器和客户机与不受信任的主机间直接建立联系。应用级网关能够理解应用层上的协议,能够做复杂一些的访问控制,并做精细的注册。通常是在特殊的服务器上安装软件来实现的。
包过滤
包过滤是处理网络上基于packet-by-packet流量的设备。包过滤设备允许或阻止包,典型的实施方法是通过标准的路由器。包过滤是几种不同防火墙的类型之一,在本课后面我们将做详细地讨论。
代理服务器
代理服务器代表内部客户端与外部的服务器通信。代理服务器这个术语通常是指一个应用级的网关,虽然电路级网关也可作为代理服务器的一种。
网络地址翻译(NAT)
网络地址解释是对Internet隐藏内部地址,防止内部地址公开。这一功能可以克服IP寻址方式的诸多限制,完善内部寻址模式。把未注册IP地址映射成合法地址,就可以对Internet进行访问。对于NAT的另一个名字是IP地址隐藏。RFC1918概述了地址并且IANA建议使用内部地址机制,以下地址作为保留地址:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
如果你选择上述例表中的网络地址,不需要向任何互联网授权机构注册即可使用。使用这些网络地址的一个好处就是在互联网上永远不会被路由。互联网上所有的路由器发现源或目标地址含有这些私有网络ID时都会自动地丢弃。
堡垒主机
堡垒主机是一种被强化的可以防御进攻的计算机,被暴露于因特网之上,作为进入内部网络的一个检查点,以达到把整个网络的安全问题集中在某个主机上解决,从而省时省力,不用考虑其它主机的安全的目的。从堡垒主机的定义我们可以看到,堡垒主机是网络中最容易受到侵害的主机。所以堡垒主机也必须是自身保护最完善的主机。你可以使用单宿主堡垒主机。多数情况下,一个堡垒主机使用两块网卡,每个网卡连接不同的网络。一块网卡连接你公司的内部网络用来管理、控制和保护,而另一块连接另一个网络,通常是公网也就是Internet。堡垒主机经常配置网关服务。网关服务是一个进程来提供对从公网到私有网络的特殊协议路由,反之亦然。在一个应用级的网关里,你想使用的每一个应用程协议都需要一个进程。因此,你想通过一台堡垒主机来路由Email,Web和FTP服务时,你必须为每一个服务都提供一个守护进程。
强化操作系统
防火墙要求尽可能只配置必需的少量的服务。为了加强操作系统的稳固性,防火墙安装程序要禁止或删除所有不需要的服务。多数的防火墙产品,包括Axent Raptor(www.axent.com),CheckPoint(www.checkpoint.com)和Network Associates Gauntlet (www.networkassociates.com)都可以在目前较流行的操作系统上运行。如Axent Raptor防火墙就可以安装在Windows NT Server4.0,Solaris及HP-UX操作系统上。理论上来讲,让操作系统只提供最基本的功能,可以使利用系统BUG来攻击的方法非常困难。最后,当你加强你的系统时,还要考虑到除了TCP/IP协议外不要把任何协议绑定到你的外部网卡上。
非军事化区域(DMZ)
DMZ是一个小型网络存在于公司的内部网络和外部网络之间。这个网络由筛选路由器建立,有时是一个阻塞路由器。DMZ用来作为一个额外的缓冲区以进一步隔离公网和你的内部私有网络。DMZ另一个名字叫做Service Network,因为它非常方便。这种实施的缺点在于存在于DMZ区域的任何服务器都不会得到防火墙的完全保护。
筛选路由器
筛选路由器的另一个术语就是包过滤路由器并且至少有一个接口是连向公网的,如Internet。它是对进出内部网络的所有信息进行分析,并按照一定的安全策略——信息过滤规则对进出内部网络的信息进行限制,允许授权信息通过,拒绝非授权信息通过。信息过滤规则是以其所收到的数据包头信息为基础的。采用这种技术的防火墙优点在于速度快、实现方便,但安全性能差,且由于不同操作系统环境下TCP和UDP端口号所代表的应用服务协议类型有所不同,故兼容性差。
阻塞路由器
阻塞路由器(也叫内部路由器)保护内部的网络使之免受Internet和周边网的侵犯。内部路由器为用户的防火墙执行大部分的数据包过滤工作。它允许从内部网络到Internet的有选择的出站服务。这些服务是用户的站点能使用数据包过滤而不是代理服务安全支持和安全提供的服务。内部路由器所允许的在堡垒主机(在周边网上)和用户的内部网之间服务可以不同于内部路由器所允许的在Internet和用户的内部网之间的服务。限制堡垒主机和内部网之间服务的理由是减少由此而导致的受到来自堡垒主机侵袭的机器的数量。
||||||防火墙默认的配置
默认情况下,防火墙可以配置成以下两种情况:
·拒绝所有的流量,这需要在你的网络中特殊指定能够进入和出去的流量的一些类型。
·允许所有的流量,这种情况需要你特殊指定要拒绝的流量的类型。
可论证地,大多数防火墙默认都是拒绝所有的流量作为安全选项。一旦你安装防火墙后,你需要打开一些必要的端口来使防火墙内的用户在通过验证之后可以访问系统。换句话说,如果你想让你的员工们能够发送和接收Email,你必须在防火墙上设置相应的规则或开启允许POP3和SMTP的进程。
防火墙的一些高级特性
今天多数的防火墙系统组合包过滤,电路级网关和应用级网关的功能。它们检查单独的数据包或整个信息包,然后利用事先订制的规则来强制安全策略。只有那些可接受的数据包才能进出整个网络。当你实施一个防火墙策略时,这三种防火墙类型可能都需要。更高级的防火墙提供额外的功能可以增强你的网络的安全性。尽管不是必需,每个防火墙都应该实施日志记录,哪怕是一些最基本的。
认 证
防火墙是一个合理的放置提供认证方法来避开特定的IP包。你可以要求一个防火墙令牌(firewall token),或反向查询一个IP地址。反向查询可以检查用户是否真正地来自它所报告的源位置。这种技术有效地反击IP欺骗的攻击。防火墙还允许终端用户认证。应用级网关或代理服务器可以工作在TCP/IP四层的每一层上。多数的代理服务器提供完整的用户帐号数据库。结合使用这些用户帐号数据库和代理服务器自定义的选项来进行认证。代理服务器还可以利用这些帐号数据库来提供更详细的日志。
日志和警报
包过滤或筛选路由器一般在默认情况下为了不降低性能是不进行日志记录的。永远不要认为你的防火墙会自动地对所有活动创建日志。筛选路由器只能记录一些最基本的信息,而电路级网关也只能记录相同的信息但除此之外还包括任何NAT解释信息。因为你要在防火墙上创建一个阻塞点,潜在的黑客必须要先穿过它。如果你放置全面记录日志的设备并在防火墙本身实现这种技术,那么你有可能捕获到所有用户的活动包括那些黑客。你可以确切地知道黑客在做些什么并得到这些活动信息代审计。一些防火墙允许你预先配置对不期望的活动做何响应。防火墙两种最普通的活动是中断TCP/IP连接或自动发出警告。相关的警报机制包括可见的和可听到的警告。
建立一个防火墙
在准备和建立一个防火墙设备时要高度重视。以前,堡垒主机这个术语是指所有直接连入公网的设备。现在,它经常汲及到的是防火墙设备。堡垒主机可以是三种防火墙中的任一种类型:包过滤,电路级网关,应用级网关。
当建设你的堡垒主机时要特别小心。堡垒主机的定义就是可公共访问的设备。当Internet用户企图访问你网络上的资源时,首先进入的机器就是堡垒主机。因为堡垒主机是直接连接到Internet上的,其上面的所有信息都暴露在公网之上。这种高度地暴露规定了硬件和软件的配置。堡垒主机就好像是在军事基地上的警卫一样。警卫必须检查每个人的身份来确定他们是否可以进入基地及可以访问基地中的什么地方。警卫还经常准备好强制阻止进入。同样地,堡垒主机必须检查所有进入的流量并强制执行在安全策略里所指定的规则。它们还必须准备好对付从外部来的攻击和可能来自内部的资源。堡垒主机还有日志记录及警报的特性来阻止攻击。有时检测到一个威胁时也会采取行动。
设计规则
当构造防火墙设备时,经常要遵循下面两个主要的概念。第一,保持设计的简单性。第二,要计划好一旦防火墙被渗透应该怎么办。
保持设计的简单性
一个黑客渗透系统最常见的方法就是利用安装在堡垒主机上不注意的组件。建立你的堡垒主机时要尽可能使用较小的组件,无论硬件还是软件。堡垒主机的建立只需提供防火墙功能。在防火墙主机上不要安装像WEB服务的应用程序服务。要删除堡垒主机上所有不必需的服务或守护进程。在堡垒主机上运行少量的服务给潜在的黑客很少的机会穿过防火墙。
安排事故计划
如果你已设计好你的防火墙性能,只有通过你的防火墙才能允许公共访问你的网络。当设计防火墙时安全管理员要对防火墙主机崩溃或危及的情况作出计划。如果你仅仅是用一个防火墙设备把内部网络和公网隔离开,那么黑客渗透进你的防火墙后就会对你内部的网络有着完全访问的权限。为了防止这种渗透,要设计几种不同级别的防火墙设备。不要依赖一个单独的防火墙保护惟独的网络。如果你的安全受到损害,那你的安全策略要确定该做些什么。采取一些特殊的步骤,包括
· 创建同样的软件备份
· 配置同样的系统并存储到安全的地方
· 确保所有需要安装到防火墙上的软件都容易,这包括你要有恢复磁盘。
堡垒主机的类型
当创建堡垒主机时,要记住它是在防火墙策略中起作用的。识别堡垒主机的任务可以帮助你决定需要什么和如何配置这些设备。下面将讨论三种常见的堡垒主机类型。这些类型不是单独存在的,且多数防火墙都属于这三类中的一种。
单宿主堡垒主机
单宿主堡垒主机是有一块网卡的防火墙设备。单宿主堡垒主机通常是用于应用级网关防火墙。外部路由器配置把所有进来的数据发送到堡垒主机上,并且所有内部客户端配置成所有出去的数据都发送到这台堡垒主机上。然后堡垒主机以安全方针作为依据检验这些数据。这种类型的防火墙主要的缺点就是可以重配置路由器使信息直接进入内部网络,而完全绕过堡垒主机。还有,用户可以重新配置他们的机器绕过堡垒主机把信息直接发送到路由器上。
双宿主堡垒主机
双宿主堡垒主机结构是围绕着至少具有两块网卡的双宿主主机而构成的。双宿主主机内外的网络均可与双宿主主机实施通信,但内外网络之间不可直接通信,内外部网络之间的数据流被双宿主主机完全切断。双宿主主机可以通过代理或让用户直接注册到其上来提供很高程度的网络控制。它采用主机取代路由器执行安全控制功能,故类似于包过滤防火墙。双宿主机即一台配有多个网络接口的主机,它可以用来在内部网络和外部网络之间进行寻址。当一个黑客想要访问你内部设备时,他(她)必须先要攻破双宿主堡垒主机,这有希望让你有足够的时间阻止这种安全侵入和作出反应。
单目的堡垒主机
单目的堡垒主机既可是单堡垒也可是多堡垒主机。经常,根据公司的改变,需要新的应用程序和技术。很多时候这些新的技术不能被测试并成为主要的安全突破口。你要为这些需要创建特定的堡垒主机。在上面安装未测试过的应用程序和服务不要危及到你的防火墙设备。使用单目的堡垒主机允许你强制执行更严格的安全机制。举个例子,你的公司可能决定实施一个新类型的流程序,假设公司的安全策略需要所有进出的流量都要通过一个代理服务器送出,你要为这个表的流程序单独地创建一个新代理服务器。在这个新的代理服务器上,你要实施用户认证和拒绝IP地址。使用这个单独的代理服务器,不要危害到当前的安全配置并且你可以实施更严格的安全机制如认证。
内部堡垒主机
内部堡垒主机是标准的单堡垒或多堡垒主机存在于公司的内部网络中。它们一般用作应用级网关接收所有从外部堡垒主机进来的流量。当外部防火墙设备受到损害时提供额外的安全级别。所有内部网络设备都要配置成通过内部堡垒主机通信,这样当外部堡垒主机受到损害时不会造成影响。
四种常见的防火墙设计都提供一个确定的安全级别,一个简单的规则是越敏感的数据就要采取越广泛的防火墙策略,这四种防火墙的实施都是建立一个过滤的距阵和能够执行和保护信息的点。这四种选择是:
·筛选路由器
·单宿主堡垒主机
·双宿主堡垒主机
·屏蔽子网
筛选路由器的选择是最简单的,因此也是最常见的,大多数公司至少使用一个筛选路由器作为解决方案,因为所有需要的硬件已经投入使用。用于创建筛选主机防火墙的两个选择是单宿主堡垒主机和双宿主堡垒主机。不管是电路级还是应用级网关的配置都要求所有的流量通过堡垒主机。最后一个常用的方法是筛选子网防火墙,利用额外的包过滤路由器来达到另一个安全的级别。