Palo Alto 下一代防火墙揭秘(之一)

看了Gartner关于下一代防火墙的定义,以及今年以来Palo Alto防火墙以“下一代防火墙”为旗帜口号的声势,Adreaman不禁对Palo Alto的防火墙设备充满了好奇心,它到底创新在哪些方面,将对防火墙产品的发展产生哪些影响,要回答这些问题,就不得不对Palo Alto防火墙的真正工作细节做深入的学习和理解。因此,我在网络上搜寻了一番,找到一篇较为深入介绍Palo Alto防火墙的文章,译为中文,期望能帮助我们加深对下一代防火墙的理解。

Palo Alto 下一代防火墙

近来,在防火墙市场上有一些新动向,这就是所谓的”下一代防火墙”。

多年来,我们有若干独立的产品来分别提供IPS、AV、防垃圾邮件、URL过滤以及一般网络策略控制的功能。以这些功能为卖点已经诞生了一系列的安全管理设备产品。UTM设备试图将这些安全功能归并在一台设备中,但是,当所有这些功能都同时打开时,UTM设备的性能往往会出现严重的问题。最近一段时间,还有一个新的问题也在慢慢浮现。那就是应用往往不再依赖于特定端口而存在。下一代防火墙需要解决这两个问题。

  • 端口代表什么?

一个端口号码仅仅是服务器上一条服务连接的标识。一个服务器上可以有几千个这样的服务端口,0-1023这些端口我们称之为“知名端口”,通常提供一些常见的服务,例如我们熟知的80端口往往提供HTTP服务,我们的Internet世界的数据流量大多承载在80端口。但是现今有很多应用服务也在使用80端口(或者一些其他”知名端口”),因为大多数防火墙都对80端口直接放行,这些应用可以顺畅地通过防火墙。一个典型的例子就是常见的BT应用以及聊天应用,他们都以80端口作为数据通道。

  • 我们该如何应对?

Palo Alto防火墙不是一台UTM。Gartner称之为”下一代防火墙”。虽然它也像一台单独的IPS、反垃圾邮件、UTL过滤多功能设备一应运转,但是他们有两点主要的不同。

第一,所有这些功能特性可以同时打开而不影响设备的处理性能。它充分利用多线程技术和多核处理器性能同时对穿过防火墙的数据做各种检验处理和过滤操作。而传统的UTM设备先检查URL,再检查AV,,这样依次下去,这样,当各个特性都打开时,传统UTM的性能自然就会大幅下降。

第二点是Palo Alto防火墙与传统防火墙最显著的不同,Palo Alto防火墙首先基于应用签名过滤流量,而不是像传统防火墙那样仅仅基于端口号。也就是说,80端口和http流量不是直接相关的。任意端口上的web流量,无论它是聊天软件流量、文件传输流量或者bt及语音流量,都可以得到相应检查。端口号码并不是关键。

这是一个巨大的进步,传统防火墙并不能从web流量中区分出Farmville应用的流量(Farmville是一个来自Facebook网站提供的应用,它基于80端口,提供一些股票市场的信息)。而现在,你可以制定策略来允许web流量但是关闭Farmville应用。

  • 一些Palo Alto防火墙的细节

接下来,你会发现一些Palo Alto防火墙的工作细节。这不是一个培训手册,也不是操作手册,更不是产品介绍和性能测试。我们的目的是揭示一些Palo Alto防火墙的独特特性。

注意:这些内容是基于PAN OS 3.0版软件系统的。3.1版本的一些新特性在这里有详细的介绍。

  • 架构

Palo Alto防火墙有两个独立的处理器。一个负责设备管理,另一个负责网络数据流量的处理。两个处理器通过内部总线通信。

这种结构的优点是设备管理与网络流量的负载互相独立。

在Palo Alto的低端设备PA-500上,处理网络流量的处理器是一个独立的多核CPU,它的性能对于这种设备的吞吐量来说已经足够了。

而在支持更高吞吐量的设备上将有三个独立的专用处理器。其一是一个硬件加速网络处理器,其二,一个多核CPU与之相连处理SSL和IPSec流量,其三,就是flash-match引擎。

  • Flash matching引擎

Flash matching引擎是一个硬件实现的专业正则表达式解析器-专为在数据流量中检查签名而设计。这个引擎实现的算法使得每个查询都在一定时间内完成。它的优点就是速度可预测而不是尽力而为的快。这意味着随机产生处理事件不会带来混乱。

通过细致的分类,数据流量的检查时间被尽可能地节省下来。例如,如果我们需要检查的是指一种影响ICQ聊天的病毒,那么,我们的检查就无需检查ICQ聊天应用的数据流之外的流量。

这种具有上下文意识的模型匹配使得flash match引擎更加高效。

  • 流式处理

当设计一种过滤设备时,你可以选择抓取一次会话的全部数据,然后扫描并转发,也可以像处理流式数据一样扫描和转发。Palo Alto防火墙是一种流式处理设备。这意味着每个数据片被尽可能快的处理和转发,而且并不受数据量大小的限制。相反,传统方法需要抓取全部的数据流量之后(占用大量内存资源)再进行处理,之后转发,这种方案显然将受数据大小的限制,无法扫描大型文件。流量处理将带来转发的延迟,与那些抓取全部数据后检验和处理的设备相比,流式处理显然会更加快速。

在真实世界,往往是多条流量同时到达等待处理,Palo Alto防火墙最擅长处理这种情况。假设100个500M大小的文件的流量混杂在一起同时到达了防火墙的一个接口。流量处理器将把这一个检查过滤工作分为100个独立的分支任务并行处理完成。而传统防火墙面对这一情况时,不得不想尽办法怎么在有限的内存中分配空间来对付这些文件。

  • 安全区域和接口

为什么那些对Facebook有不同防火墙策略需求的人都在一个子网上?当然,答案是“没有原因”。因此,我们没有理由根据IP地址来限制安全级别。

Palo Alto使用”安全区域”的概念。

(安全区域是一种逻辑区划概念,只有将之与接口绑定在一起才有实际意义。)

多个逻辑接口可以在同一个安全区域。
一个单独的物理接口仅可以有一个安全区域。
一个物理接口可以是一个L3接口,处理IP转发。
一个安全区域可以是一个L3区域,那么,它仅仅包含L3接口。
可以将两个物理接口直接连接作为一个”虚拟线路连接”插入网络(无需IP),检查通过的数据(无需路由)。这些”虚拟线路连接”可以是”虚拟线路区域”的一部分。
不可以将”虚拟线路区域”和”L3区域”。
第三种接口是”tap”接口。tap接口仅仅检测流量收集信息而不像虚拟线路连接和L3接口那样控制流量。
你可以对L3接口做NAT和路由处理。
所有一个虚拟路由器中的L3接口共享一个路由表。
每个L3接口有一个IP地址。
一个转发流量的接口需要一个IP地址,一个安全区域以及一个虚拟路由器。
一个虚拟路由器是一个被静态、动态路由信息驱动的实例。
动态路由来自RIP或者OSPF
可以为一个接口赋予DHCP服务器或者DHCP中继能力
可以创建静态ARP表项。
任何L3接口可以作为管理接口。
任意两个安全区域之间所有的流量流动都需要策略配置。

(Adreaman注:上面这段安全区划和接口的介绍感觉与下一代防火墙的特点并不相关,介绍了一些具体的配置细节,也没有展示出什么特别高级的设计,感觉和当前Juniper netscreen的一些设计思路非常近似)

To be continued 未完待续..

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>