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