從技術角度評析下一代防火墻(NGFW)
下一代防火墻,NGFW(Next generation firewall)是近幾年出現的一類新產品,它的定義可以參考Gartner report
(http://www.paloaltonetworks.com/literature/research/docloader.php?docURL=/literature/research/Gartner-NGFW-Research-Note.pdf&docName=PDF%3A+Gartner+NGFW+Report)
這類產品的始作俑者是PAN(Palo Alto Networks http://www.paloaltonetworks.com/),我們來看看
這里面有些什么新東西。
先貼張圖:
PAN在policy里面引入了三個元素:
APP-ID:application identity,應用的類型
User-ID:用戶的id
Content-ID:資源或者內容ID
這些ID是什么意思哪?
APP-ID是DPI/DFI(或者AI(application identification))的結果。怎么理解哪?現在很多應用協議都可以運行在http上,http變成了一個承載協議,如果只控制http,顯然是粒度太大,如果能區分出里面的QQ, p2p(emule, bt等),facebook, twitter,控制的粒度更細,對用戶就越友好。
點評:這里面有幾個問題我還沒有搞明白
對應用識別的粒度倒底有多細?從DNS或者domain name(http協議里面)應該能區分出qq, facebook, twitter等,為什么還需要DPI? 是不是APP-ID可以深入到QQ里面的某一個服務(比如blog,qmail之類的),假如是這樣,如此細的控制粒度,管理起來是不是不太方便, app-id的庫是不是太大了?如果不是深入到某個服務,那么需要DPI這么復雜的技術嗎?
為什么需要細粒度的控制,比如GFW這么粗放的服務(一掃一大片)不也在用嗎,也沒見有多大的抱怨:)
User-ID需要和企業內部的Auth服務或者UAC/NAC服務結合起來用。用戶登錄以后,就會有與之綁定的ip地址,policy里面可以匹配相應的用戶id。這應該不是什么新東西,很早的防火墻里面就有這個功能了。如果用戶登錄以后,在防火墻上會下載相應的訪問控制策略,這樣還有點新意,也就是說,訪問控制策略是和用戶動態綁定的,并不需要靜態加載到防火墻上。但這需要單獨的策略服務器,而且如何策略服務器失效,用戶是允許訪問,還是不允許訪問哪?系統里面交互的部件越多,控制越復雜,出錯的幾率就越高。
點評:協議里面沒有User-id,所以需要把User-id映射到ip地址或者mac地址。用戶需要通過防火墻認證才能訪問資源(防火墻本地認證, 或者遠程認證,使用已有的認證體系)。如果能夠一次登錄(Single sign on),處處可用,就更方便了。但不同的服務有不同的認證, 授權體系,想統一起來,難。
Content-ID顧名思義,應該是訪問對象的ID。這個和APP-ID的問題是一樣的,那就是粒度。Content-ID應該在DLP(data leakage prevention)里面會用到,或者是URL filtering。什么是content?是URL,還是URL指向的內容,還是更深一層的內容。
點評:細粒度的控制會增加管理的難度,如果沒有好的管理工具,會很難用。
從PAN的產品來看,硬件方面基本上沒有什么新意(PAN沒有chassis-based的產品,也就是說,在高端的競爭力會差一點,不過PAN的目標市場是企業市場,產品應該足夠用了)。不過在它的產品圖里面有一個content id的卡,不知道是不是一個專用的卡,做這么一個卡的用途是什么哪?提高性能,難道說multi-core的性能不夠用,還需要專門的協處理器?還是PAN有賣這個卡的想法?
PAN創新的地方在于把app-id, user-id, content-id引入policy,這應該是安全理念的創新。傳統的防火墻控制的是5-tuple,粒度太粗了,對IT管理員不怎么友好。總的來說,防火墻就是一個訪問控制的設備(NAT是網絡功能;VPN保護數據安全,這些是防火墻的基本功能,至于UTM, IDP是另外一個話題,這里就不說了),控制source到destination的訪問。如果把source換成User-ID,而把destinaton換成app-id和content-id,是不是更直觀一點哪?當然是了。但是,管理簡單了,所對應的底層邏輯就會很復雜。因為,不管是user-id,還是app-id,content-id最終還是要映射到packet,要做到上層的策略和底層的實現一致,這個相當難。
PAN還宣傳什么single-pass的架構,這個基本上就是在惡心人。比如攻擊舊防火墻的firewall policy/av policy/vpn policy等等,有多套,需要match多次,而PAN只需要match一次。能發現這個問題應該還是了不起的,但是新公司,新產品,總得有一點不一樣的東西,傳統的防火墻已經是補丁摞補丁了,要做新衣服,就比較困難;而PAN算是做件新衣服,如果還是補丁摞補丁,那才叫寒磣。
安全和易用是對立的。因為安全基本上就是在給用戶上枷鎖。如何讓用戶在可忍受范圍內,實現整個業務流程的安全,是每個從事安全行業的人需要考慮的問題。比如采用三種不同的密碼保護用戶帳號是很安全的,但是如果登錄時需要用戶用三種不同的方式認證,估計會把用戶搞瘋掉。多重方式保護用戶帳號,需要區分出主次;需要區分出用戶的不同操作;需要區分出帳號的重要程度。(這個話題可以展開說,應該還有很多可以挖掘的東西)。
從這個角度來說,NGFW提升了防火墻的易用性,使防火墻與用戶的業務結合更緊密。至于在實際環境中的效果如何,還需要看它能從傳統防火墻哪里搶多大的蛋糕過來。
本文來自彎曲評論:http://www.tektalk.org/2011/02/14/ngfw%E8%AF%84%E6%9E%90/