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