Palo Alto 下一代防火墻揭秘
看了Gartner關于下一代防火墻的定義,以及今年以來PaloAlto防火墻以“下一代防火墻”為旗幟口號的聲勢,Adreaman不禁對PaloAlto的防火墻設備充滿了好奇心,它到底創新在哪些方面,將對防火墻產品的發展產生哪些影響,要回答這些問題,就不得不對PaloAlto防火墻的真正工作細節做深入的學習和理解。因此,我在網絡上搜尋了一番,找到一篇較為深入介紹PaloAlto防火墻的文章,譯為中文,期望能幫助我們加深對下一代防火墻的理解。
PaloAlto下一代防火墻
近來,在防火墻市場上有一些新動向,這就是所謂的”下一代防火墻”。
多年來,我們有若干獨立的產品來分別提供IPS、AV、防垃圾郵件、URL過濾以及一般網絡策略控制的功能。以這些功能為賣點已經誕生了一系列的安全管理設備產品。UTM設備試圖將這些安全功能歸并在一臺設備中,但是,當所有這些功能都同時打開時,UTM設備的性能往往會出現嚴重的問題。最近一段時間,還有一個新的問題也在慢慢浮現。那就是應用往往不再依賴于特定端口而存在。下一代防火墻需要解決這兩個問題。
端口代表什么?
一個端口號碼僅僅是服務器上一條服務連接的標識。一個服務器上可以有幾千個這樣的服務端口,0-1023這些端口我們稱之為“知名端口”,通常提供一些常見的服務,例如我們熟知的80端口往往提供HTTP服務,我們的Internet世界的數據流量大多承載在80端口。但是現今有很多應用服務也在使用80端口(或者一些其他”知名端口”),因為大多數防火墻都對80端口直接放行,這些應用可以順暢地通過防火墻。一個典型的例子就是常見的BT應用以及聊天應用,他們都以80端口作為數據通道。
我們該如何應對?
PaloAlto防火墻不是一臺UTM。Gartner稱之為”下一代防火墻”。雖然它也像一臺單獨的IPS、反垃圾郵件、UTL過濾多功能設備一應運轉,但是他們有兩點主要的不同。
第一,所有這些功能特性可以同時打開而不影響設備的處理性能。它充分利用多線程技術和多核處理器性能同時對穿過防火墻的數據做各種檢驗處理和過濾操作。而傳統的UTM設備先檢查URL,再檢查AV,,這樣依次下去,這樣,當各個特性都打開時,傳統UTM的性能自然就會大幅下降。
第二點是PaloAlto防火墻與傳統防火墻最顯著的不同,PaloAlto防火墻首先基于應用簽名過濾流量,而不是像傳統防火墻那樣僅僅基于端口號。也就是說,80端口和http流量不是直接相關的。任意端口上的web流量,無論它是聊天軟件流量、文件傳輸流量或者bt及語音流量,都可以得到相應檢查。端口號碼并不是關鍵。
這是一個巨大的進步,傳統防火墻并不能從web流量中區分出Farmville應用的流量(Farmville是一個來自Facebook網站提供的應用,它基于80端口,提供一些股票市場的信息)。而現在,你可以制定策略來允許web流量但是關閉Farmville應用。
一些PaloAlto防火墻的細節
接下來,你會發現一些PaloAlto防火墻的工作細節。這不是一個培訓手冊,也不是操作手冊,更不是產品介紹和性能測試。我們的目的是揭示一些PaloAlto防火墻的獨特特性。
注意:這些內容是基于PANOS3.0版軟件系統的。3.1版本的一些新特性在這里有詳細的介紹。
架構
PaloAlto防火墻有兩個獨立的處理器。一個負責設備管理,另一個負責網絡數據流量的處理。兩個處理器通過內部總線通信。
這種結構的優點是設備管理與網絡流量的負載互相獨立。
在PaloAlto的低端設備PA-500上,處理網絡流量的處理器是一個獨立的多核CPU,它的性能對于這種設備的吞吐量來說已經足夠了。
而在支持更高吞吐量的設備上將有三個獨立的專用處理器。其一是一個硬件加速網絡處理器,其二,一個多核CPU與之相連處理SSL和IPSec流量,其三,就是flash-match引擎。
Flashmatching引擎
Flashmatching引擎是一個硬件實現的專業正則表達式解析器-專為在數據流量中檢查簽名而設計。這個引擎實現的算法使得每個查詢都在一定時間內完成。它的優點就是速度可預測而不是盡力而為的快。這意味著隨機產生處理事件不會帶來混亂。
通過細致的分類,數據流量的檢查時間被盡可能地節省下來。例如,如果我們需要檢查的是指一種影響ICQ聊天的病毒,那么,我們的檢查就無需檢查ICQ聊天應用的數據流之外的流量。
這種具有上下文意識的模型匹配使得flashmatch引擎更加高效。
流式處理
當設計一種過濾設備時,你可以選擇抓取一次會話的全部數據,然后掃描并轉發,也可以像處理流式數據一樣掃描和轉發。PaloAlto防火墻是一種流式處理設備。這意味著每個數據片被盡可能快的處理和轉發,而且并不受數據量大小的限制。相反,傳統方法需要抓取全部的數據流量之后(占用大量內存資源)再進行處理,之后轉發,這種方案顯然將受數據大小的限制,無法掃描大型文件。流量處理將帶來轉發的延遲,與那些抓取全部數據后檢驗和處理的設備相比,流式處理顯然會更加快速。
在真實世界,往往是多條流量同時到達等待處理,PaloAlto防火墻最擅長處理這種情況。假設100個500M大小的文件的流量混雜在一起同時到達了防火墻的一個接口。流量處理器將把這一個檢查過濾工作分為100個獨立的分支任務并行處理完成。而傳統防火墻面對這一情況時,不得不想盡辦法怎么在有限的內存中分配空間來對付這些文件。
安全區域和接口
為什么那些對Facebook有不同防火墻策略需求的人都在一個子網上?當然,答案是“沒有原因”。因此,我們沒有理由根據IP地址來限制安全級別。
PaloAlto使用”安全區域”的概念。
(安全區域是一種邏輯區劃概念,只有將之與接口綁定在一起才有實際意義。)
多個邏輯接口可以在同一個安全區域。
一個單獨的物理接口僅可以有一個安全區域。
一個物理接口可以是一個L3接口,處理IP轉發。
一個安全區域可以是一個L3區域,那么,它僅僅包含L3接口。
可以將兩個物理接口直接連接作為一個”虛擬線路連接”插入網絡(無需IP),檢查通過的數據(無需路由)。這些”虛擬線路連接”可以是”虛擬線路區域”的一部分。
不可以將”虛擬線路區域”和”L3區域”。
第三種接口是”tap”接口。tap接口僅僅檢測流量收集信息而不像虛擬線路連接和L3接口那樣控制流量。
你可以對L3接口做NAT和路由處理。
所有一個虛擬路由器中的L3接口共享一個路由表。
每個L3接口有一個IP地址。
一個轉發流量的接口需要一個IP地址,一個安全區域以及一個虛擬路由器。
一個虛擬路由器是一個被靜態、動態路由信息驅動的實例。
動態路由來自RIP或者OSPF可以為一個接口賦予DHCP服務器或者DHCP中繼能力可以創建靜態ARP表項。
任何L3接口可以作為管理接口。
任意兩個安全區域之間所有的流量流動都需要策略配置。
(Adreaman注:上面這段安全區劃和接口的介紹感覺與下一代防火墻的特點并不相關,介紹了一些具體的配置細節,也沒有展示出什么特別高級的設計,感覺和當前Junipernetscreen的一些設計思路非常近似)
看了Gartner關于下一代防火墻的定義,以及今年以來PaloAlto防火墻以“下一代防火墻”為旗幟口號的聲勢,Adreaman不禁對PaloAlto的防火墻設備充滿了好奇心,它到底創新在哪些方面,將對防火墻產品的發展產生哪些影響,要回答這些問題,就不得不對PaloAlto防火墻的真正工作細節做深入的學習和理解。因此,我在網絡上搜尋了一番,找到一篇較為深入介紹PaloAlto防火墻的文章,譯為中文,期望能幫助我們加深對下一代防火墻的理解。
PaloAlto下一代防火墻
近來,在防火墻市場上有一些新動向,這就是所謂的”下一代防火墻”。
多年來,我們有若干獨立的產品來分別提供IPS、AV、防垃圾郵件、URL過濾以及一般網絡策略控制的功能。以這些功能為賣點已經誕生了一系列的安全管理設備產品。UTM設備試圖將這些安全功能歸并在一臺設備中,但是,當所有這些功能都同時打開時,UTM設備的性能往往會出現嚴重的問題。最近一段時間,還有一個新的問題也在慢慢浮現。那就是應用往往不再依賴于特定端口而存在。下一代防火墻需要解決這兩個問題。
端口代表什么?
一個端口號碼僅僅是服務器上一條服務連接的標識。一個服務器上可以有幾千個這樣的服務端口,0-1023這些端口我們稱之為“知名端口”,通常提供一些常見的服務,例如我們熟知的80端口往往提供HTTP服務,我們的Internet世界的數據流量大多承載在80端口。但是現今有很多應用服務也在使用80端口(或者一些其他”知名端口”),因為大多數防火墻都對80端口直接放行,這些應用可以順暢地通過防火墻。一個典型的例子就是常見的BT應用以及聊天應用,他們都以80端口作為數據通道。#p#
我們該如何應對?
PaloAlto防火墻不是一臺UTM。Gartner稱之為”下一代防火墻”。雖然它也像一臺單獨的IPS、反垃圾郵件、UTL過濾多功能設備一應運轉,但是他們有兩點主要的不同。
第一,所有這些功能特性可以同時打開而不影響設備的處理性能。它充分利用多線程技術和多核處理器性能同時對穿過防火墻的數據做各種檢驗處理和過濾操作。而傳統的UTM設備先檢查URL,再檢查AV,,這樣依次下去,這樣,當各個特性都打開時,傳統UTM的性能自然就會大幅下降。
第二點是PaloAlto防火墻與傳統防火墻最顯著的不同,PaloAlto防火墻首先基于應用簽名過濾流量,而不是像傳統防火墻那樣僅僅基于端口號。也就是說,80端口和http流量不是直接相關的。任意端口上的web流量,無論它是聊天軟件流量、文件傳輸流量或者bt及語音流量,都可以得到相應檢查。端口號碼并不是關鍵。
這是一個巨大的進步,傳統防火墻并不能從web流量中區分出Farmville應用的流量(Farmville是一個來自Facebook網站提供的應用,它基于80端口,提供一些股票市場的信息)。而現在,你可以制定策略來允許web流量但是關閉Farmville應用。
一些PaloAlto防火墻的細節
接下來,你會發現一些PaloAlto防火墻的工作細節。這不是一個培訓手冊,也不是操作手冊,更不是產品介紹和性能測試。我們的目的是揭示一些PaloAlto防火墻的獨特特性。
注意:這些內容是基于PANOS3.0版軟件系統的。3.1版本的一些新特性在這里有詳細的介紹。
架構
PaloAlto防火墻有兩個獨立的處理器。一個負責設備管理,另一個負責網絡數據流量的處理。兩個處理器通過內部總線通信。
這種結構的優點是設備管理與網絡流量的負載互相獨立。
在PaloAlto的低端設備PA-500上,處理網絡流量的處理器是一個獨立的多核CPU,它的性能對于這種設備的吞吐量來說已經足夠了。
而在支持更高吞吐量的設備上將有三個獨立的專用處理器。其一是一個硬件加速網絡處理器,其二,一個多核CPU與之相連處理SSL和IPSec流量,其三,就是flash-match引擎。
Flashmatching引擎
Flashmatching引擎是一個硬件實現的專業正則表達式解析器-專為在數據流量中檢查簽名而設計。這個引擎實現的算法使得每個查詢都在一定時間內完成。它的優點就是速度可預測而不是盡力而為的快。這意味著隨機產生處理事件不會帶來混亂。
通過細致的分類,數據流量的檢查時間被盡可能地節省下來。例如,如果我們需要檢查的是指一種影響ICQ聊天的病毒,那么,我們的檢查就無需檢查ICQ聊天應用的數據流之外的流量。
這種具有上下文意識的模型匹配使得flashmatch引擎更加高效。
流式處理
當設計一種過濾設備時,你可以選擇抓取一次會話的全部數據,然后掃描并轉發,也可以像處理流式數據一樣掃描和轉發。PaloAlto防火墻是一種流式處理設備。這意味著每個數據片被盡可能快的處理和轉發,而且并不受數據量大小的限制。相反,傳統方法需要抓取全部的數據流量之后(占用大量內存資源)再進行處理,之后轉發,這種方案顯然將受數據大小的限制,無法掃描大型文件。流量處理將帶來轉發的延遲,與那些抓取全部數據后檢驗和處理的設備相比,流式處理顯然會更加快速。
在真實世界,往往是多條流量同時到達等待處理,PaloAlto防火墻最擅長處理這種情況。假設100個500M大小的文件的流量混雜在一起同時到達了防火墻的一個接口。流量處理器將把這一個檢查過濾工作分為100個獨立的分支任務并行處理完成。而傳統防火墻面對這一情況時,不得不想盡辦法怎么在有限的內存中分配空間來對付這些文件。
安全區域和接口
為什么那些對Facebook有不同防火墻策略需求的人都在一個子網上?當然,答案是“沒有原因”。因此,我們沒有理由根據IP地址來限制安全級別。
PaloAlto使用”安全區域”的概念。
(安全區域是一種邏輯區劃概念,只有將之與接口綁定在一起才有實際意義。)
多個邏輯接口可以在同一個安全區域。
一個單獨的物理接口僅可以有一個安全區域。
一個物理接口可以是一個L3接口,處理IP轉發。
一個安全區域可以是一個L3區域,那么,它僅僅包含L3接口。
可以將兩個物理接口直接連接作為一個”虛擬線路連接”插入網絡(無需IP),檢查通過的數據(無需路由)。這些”虛擬線路連接”可以是”虛擬線路區域”的一部分。
不可以將”虛擬線路區域”和”L3區域”。
第三種接口是”tap”接口。tap接口僅僅檢測流量收集信息而不像虛擬線路連接和L3接口那樣控制流量。
你可以對L3接口做NAT和路由處理。
所有一個虛擬路由器中的L3接口共享一個路由表。
每個L3接口有一個IP地址。
一個轉發流量的接口需要一個IP地址,一個安全區域以及一個虛擬路由器。
一個虛擬路由器是一個被靜態、動態路由信息驅動的實例。
動態路由來自RIP或者OSPF可以為一個接口賦予DHCP服務器或者DHCP中繼能力可以創建靜態ARP表項。
任何L3接口可以作為管理接口。
任意兩個安全區域之間所有的流量流動都需要策略配置。
(Adreaman注:上面這段安全區劃和接口的介紹感覺與下一代防火墻的特點并不相關,介紹了一些具體的配置細節,也沒有展示出什么特別高級的設計,感覺和當前Junipernetscreen的一些設計思路非常近似)