企业防火墙构建的误区和实施策略
在《安全专家浅谈防火墙分类及应用》中,笔者谈了防火墙的几个基本问题。下面我们再看看如何构建一个安全的防火墙系统结构。 引子防火墙是保障网络安全的关键组件,但它只是安全企业网络的一个开端而已。对管理员来讲,有必要关注支持失效转移的多防火墙设计。这种防火墙设计的最终结果应是易于管理、高性能、高可用性、高安全性的组合,而且还要少花钱。
要几 个防火墙?
在防火墙的设计原理上历来有不少争论,争论的一个主要问题是到底拥有几个防火墙是最好的。笔者以为两个防火墙一般不会比一个防火墙好多少。因为在大多数的攻击事件中,防火墙自身的漏洞很少成为问题。黑客们通常并不需要攻克防火墙,因为他们可以通过开放的端口进入,并利用防火墙之后的服务器上的漏洞。此外,防火墙本身并没有什么吸引黑客攻击的地方,因为任何明智的管理员都会将配置防火墙使其丢弃那些连接防火墙的企图。例如,即使在用户的防火墙上有一个已知的SSH漏洞,这种威胁也只能来自防火墙指定的受到良好保护的管理工作站,更别说这种工作站被关闭的情况了。事实上,防火墙的最大问题在于其维护上的薄弱、糟糕的策略及网络设计。在与防火墙有关的安全事件中,人的因素造成的破坏占到了大约99%的比例。更糟的是,如果你运行多个厂商的防火墙,那么其成本将迫使用户放弃一些需要特别关注的问题。用户最好将有限的资源花费在强化一种平台上,而不要全面出击。
防火墙的设计目标
一种良好的防火墙策略和网络设计应当能够减少(而不是根除)下面的这些安全风险:
◆来自互联网的攻击DMZ服务的攻击
◆企业网络的任一部分攻击互联网
◆企业用户或服务器攻击DMZ服务器
◆DMZ服务器攻击用户、服务器,或者损害自身。
◆来自合伙人和外延网(extranet)的威胁
◆来自通过WAN连接的远程部门的威胁
这些目标听起来也许有点太过头了,因为这基本上并不是传统的方法,不过它却其自身的道理。
第一点是非常明显的,那就是限制通过互联网试图访问DMZ服务器的服务端口,这就极大地减少了它们被攻克的机会。例如,在一个SMTP邮件服务器上,仅允许互联网的通信通过25号TCP端口。因此,如果这台SMTP服务器碰巧在其服务器服务或程序中有一个漏洞,它也不会被暴露在互联网上,蠕虫和黑客总在关心80号端口的漏洞。
下一条听起来可能有点儿古怪,我们为什么要关心通过自己的网络来保护公共网络呢?当然,任何公民都不应当散布恶意代码,这是起码的要求。但这样做也是为了更好地保护我们自己的的网络连接。以SQL slammer 蠕虫为例,如果我们部署了更好的防火墙策略,那么就可以防止对互联网的拒绝服务攻击 ,同时还节省了互联网资源。
最不好对付的是内部威胁。多数昂贵的防火墙并不能借助传统的设计来防止网络免受内部攻击者的危害。如一个恶意用户在家里或其它地方将一台感染恶意代码的笔记本电脑挂接到网络上所造成的后果可想而知。一个良好的网络设计和防火墙策略应当能够保护DMZ服务器,使其免受服务器和用户所带来的风险,就如同防御来自互联网的风险一样。
事情还有另外一方面。因为DMZ服务器暴露在公共的互联网上,这就存在着它被黑客或蠕虫破坏的可能。管理员采取措施限制DMZ服务器可能对内部服务器或用户工作站所造成的威胁是至关重要的。此外,一套稳健的防火墙策略还可以防止DMZ服务器进一步损害自身。如果一台服务器被黑客通过某种已知或未知的漏洞给破坏了,他们做的第一件事情就是使服务器下载一个rootkit。防火墙策略应当防止下载这种东西。
还可以进一步减少来自外延网(Extranet)合伙人及远程办公部门WAN的威胁。连接这些网络的路由器使用了广域网技术,如帧中继、VPN隧道、租用私有线路等来保障,这些路由器也可以由防火墙来保障其安全。利用每一台路由器上的防火墙特性来实施安全性太过于昂贵,这样不但造成硬件成本高,更主要的是其设置和管理上难度也很大。企业的防火墙借助于超过传统防火墙的附加功能可以提供简单而集中化的广域网和外延网的安全管理。
关键在于防火墙能够限制不同网络区域的通信,这些区域是根据逻辑组织和功能目的划分的。但防火墙不能限制并保护主机免受同一子网内的其它主机的威胁,因为数据绝对不会通过防火墙接受检查。这也就是为什么防火墙支持的区域越多,它在一个设计科学的企业网络中也就越有用。由于一些主要的厂商都支持接口的汇聚,所以区域划分实现起来也就简单多了。单独一个千兆比特的端口可以轻松地支持多个区域,并且比几个快速以太网端口的执行速度更快。
实施一套良好的防火墙策略
安全防火墙架构的首要关键组件是策略的设计。实现这些目标的最为重要的概念是使用原则的需要。在防火墙的策略中,这只是意味着除非有一个明确的原因要求使用某种服务,这种服务默认地必须被阻止或拒绝。为实施默认的服务阻止规则,在所有策略集的末尾只需要全局性地实施一种防火墙策略,即丢弃一切的规则,意思就是防火墙的默认行为是丢弃来自任何源到达任何目的地的任何服务的数据包。这条规则在任何的防火墙策略中是最后一条规则,因为在某种通信在有机会进入之前,它已经被封杀了。一旦实施了这种基本的行为,就需要对特定的源、特定的服务、对特定的目标地址的访问等实施在一些精心设计的规则。一般而言,这些规则越精密,网络也就越安全。
例如,用户可被准许使用对外的一些常见服务端口,如HTTP,FTP,媒体服务等,但其它的服务和程序除非有了明确的原因才准许通信。在根据企业的需要找到一种特别的原因后,就需要在验证和核准后增加一些严格控制的针对性规则。管理员们常犯的一个错误是他们将用户的权限扩展到了服务和DMZ网络。适用于用户的向外转发数据的规则通常并不适用于服务器。在认真考虑之后,管理员会找到Web服务器并不需要浏览Web的理由。服务器就是服务器,它主要是提供服务,而很少成为客户端。一个根本的问题是DMZ或服务器几乎不应当首先发起通信。服务器典型情况下会接受请求,但几乎不可能接受来自公共的互联网的请求服务,除非是企业合伙人的XML及EDI应用。其它的例外还有一些,如提供驱动程序和软件更新的合法厂商的站点,但所有的例外,都应当严格而精密地定义。遵循这些严格的标准可以极大地减少服务器被损害的可能,最好能达到这样一种程度,只要部署了这种策略,即使服务器没有打补丁,也能防止内部子网的蠕虫传播。
实施良好的防火墙网络设计
防火墙安全的另外一个关键组件是物理网络的拓扑。如下图1:
/qzone/newblog/v5/editor/css/loading.gif
上图展示的是并不太先进的Pix525,笔者用它只是为了说明原理。它支持2千兆比特的以太网端口和6个100M比特的快速以太网端口。这是实现物理上分离不同子网的极好方法,假如每一个端口都插入一个物理上不同的以太网交换机的话,它可满足企业的需要。然而,在数据中心中为每一个子网部署超过六个物理交换机都是不切合实际的。企业经常通过将一台独立的物理交换机分割为多个桥接组来使用虚拟局域网(VLAN),这便可以为任何现有的或未来的子网提供额外的端口。因为我们可以轻松地将一个千兆比特的端口连接到一个第三层的核心交换机、DMZ、外延网、临时的子网及企业需要的任何其它VLAN。不妨看一下第二个千兆比特的以太网卡和4个快速以太网接口卡。这里需要强化第二层交换机的安全,用以应对vlan跳跃攻击等问题,本文暂不讨论这个问题。即使对于汇聚的千兆以太网端口来说,用户也应当使用两个内建的快速以太网端口用于公共的互联网访问和状态失效转移的同步。
再看下图2:
/qzone/newblog/v5/editor/css/loading.gif
上图展示了在一次状态失效转移配置中两个防火墙的使用。网络连接只能到达逻辑防火墙,其目的是为了避免非法的连接器,不过事实上每一个子网都有一个物理连接到达每一个防火墙。这些连接可以是物理上分离的电缆或单独的汇聚电缆,它通过独立的千兆比特连接到达用户的支持VLAN的交换机。PIX 525中的两个内置的快速以太网端口用于公共的互联网连接和状态失效转移的同步,而剩余的内部子网可以共享千兆以太网端口。这种配置要比使用独立的快速以太网端口的配置快得多。
防火墙的内部可以连接下面的子网:
◆核心3层交换机
◆DMZ
◆外延网
◆临时区域
◆其它
核心三层交换机一般通过VLAN之间的路由功能到达用户的核心交换机。这些VLAN可包含拥有众多用户的大量的VLAN、支持多个服务器群的VLAN(这些服务器并不直接暴露在互联网上)。在这个例子中,用户必须理解在这些服务器群的VLAN和用户VLAN之间并不存在什么防火墙,因为用户到服务器的通信是由核心三层的交换机发送的,绝不会通过防火墙。有一些公司将其所有的服务器都放置在防火墙之后并与用户分离,这有点儿太极端,不过,管理防火墙后面的有大量端口需求的多个内部服务器可能非常困难,所以这样做并不明智。
DMZ用于从公共的互联网访问的服务器。它直接位于防火墙之后,并且总是过滤通信。
外延网和广域网区域用于路由器的内部接口,此路由器连接的是远程WAN站点和合伙人的站点。使用这种配置准许用户保护WAN和外延网站点的安全,而不必购买或配置路由器自身的防火墙特性集。用户甚至可以将路由器的外部接口置于防火墙的一个非NAT区域上,这有助于防止黑客从外部破坏路由器。这种方法使得高可用性企业防火墙能够极大地保护多个路由器的安全。
临时区域也不是新东西,但它实质上是一种安全特性。在客户机需要访问VPN或互联网时,让其连接到拥有互联网访问能力的临时网络,而不是用户的内部LAN。这种区域在无线环境中是极为有用的。由于Wi-Fi架构技术支持VLAN等原因,单独一个无线Wi-Fi连接可以支持多个VLAN、一个运行着其自己的SSID和802.1x/EAP安全的内部VLAN、一个临时VLAN。这些例子仅仅是这种高级防火墙架构的一般应用。
结论
现代的防火墙的功能是很强大的,在此笔者必须强调防火墙仅仅是网络安全的开端。仅仅因为拥有了最佳的网络和防火墙设计并不能免去管理员其它的安全责任。防火墙只能减轻安全的危害,并不能清除漏洞。用户仍需要部署入侵检测/防御系统,因为这种系统可以积极地阻止攻击,并强化服务器安全,而且需要系统地为所有的设备和程序打补丁。最为重要的是,并不存在什么“刀枪不入”的机制,我们能做的就是极大地将攻击和破坏时间调整为最为合理的水平。“不可侵入的”是一种梦想而已。对待安全问题,我们只能保持低姿态,并为此不断努力。
页:
[1]