近年來,用戶對網絡業(yè)務的可視性、可管理性要求越來越高,要求能從業(yè)務視角理解網絡流量,并針對應用制定管理策略;隨之而來的,是以下一代防火墻(NGFW)為代表的應用層網絡安全產品如雨后春筍般涌現(xiàn)出來;傳統(tǒng)的網絡層安全產品,如傳統(tǒng)防火墻、IPS等,由于缺乏應用識別與控制能力,正在被面向應用層的NGFW、下一代IPS等產品取代。以NGFW為例,根據Gartner的調研,在2011年時僅有不到1%的互聯(lián)網連接采用NGFW來保護,而到2014年底,這個數字飆升到35%。
什么樣的防火墻能稱之為下一代防火墻?
“下一代防火墻”首次提出于2009年。Gartner在題為《Defining the Next-Generation Firewall》的報告中指出:“不斷變化的業(yè)務流程、IT技術和網絡威脅,正推動網絡安全的新需求。協(xié)議的使用方式和數據的傳輸方式已發(fā)生變化,網絡攻擊的目標由單純的破壞演變?yōu)閻阂廛浖踩搿T谶@種環(huán)境中,試圖要求在標準端口上使用合適協(xié)議的控制方法已不再具備足夠的有效性,傳統(tǒng)防火墻必須演進為下一代防火墻。”
由此可以總結得出,NGFW應具備應用識別和感知能力,同時應融合IPS系統(tǒng)以應對網絡威脅;下一代防火墻的核心安全能力,是能夠執(zhí)行不依賴于IP、端口的應用、用戶和內容控制策略,并能夠實時檢測網絡流量中的惡意網址、病毒、漏洞利用、間諜軟件等行為。這一切的基礎,是對網絡中的數據包執(zhí)行深度檢測,也就是將數據包解封到應用層。數據包封裝和解封層次越多,CPU的計算負載就會越高,具體表現(xiàn)為設備性能衰減,這是“魚與熊掌不能兼得”的簡單邏輯,也是為了應用級防護所必須付出的成本。
NSS Labs是如何評估NGFW性能的
評估防火墻設備(包括傳統(tǒng)防火墻和NGFW)的主要指標,是設備的吞吐量,其他指標還包括丟包率、延時等。吞吐量指的是被測設備在不丟包的情況下,所能轉發(fā)的最大數據流量。吞吐量有很多種,如大包、小包、UDP包、HTTP包等吞吐量;同一臺設備,在處理不同報文時,會表現(xiàn)出迥然不同的吞吐量。為了總體評估NGFW的性能,全球知名的獨立測評機構NSS Labs提出了具體的評估指標與測試方法:
1.UDP裸包處理性能(Raw Packet Processing Performance (UDP Traffic))
2.延遲(Latency)
3.最大性能(Maximum Capacity)
4.無延時情況下的HTTP性能(HTTP Capacity With No Transaction Delays)
5.應用平均響應時間(Application Average Response Time: HTTP)
6.有延時情況下的HTTP性能(HTTP Capacity With Transaction Delays)
7.“逼近真實”的通訊(“Real-World” Traffic)
可見大部分測試指標是跟吞吐量相關的,包括一些傳統(tǒng)的網絡層性能指標,如UDP裸包處理能力,這是為了衡量設備對數據報文的基本轉發(fā)能力。如果某些具有攻擊特征的數據包嚴重影響了整機的處理能力,應用層的性能也將受到顯著影響,應用層處理引擎能力再強也無法發(fā)揮作用。但NSS Labs更側重于考核設備在進行應用層處理情況下的轉發(fā)性能,也就是俗稱的應用層吞吐量,如HTTP性能、應用平均響應時間等。因此NSS Labs大量引入這些指標,用以衡量被測設備的應用引擎的性能,再結合參考網絡層性能指標,才能全面評估NGFW在真實業(yè)務環(huán)境中的實際表現(xiàn)。
NGFW不同于數通設備,網絡層吞吐量只是其中一個基礎功能,真正考驗其在“逼近真實”網絡環(huán)境中性能表現(xiàn)的核心指標是在進行應用層處理情況下的轉發(fā)性能。盡管不是所有廠商都能在商務層面上認同NSS Labs的認證,但NSS Labs測試NGFW性能的技術路線,受到了國內外防火墻廠商的廣泛認同。例如,下一代防火墻廠商的鼻祖Palo Alto,在其NGFW產品數據表中已經不再提及使用網絡層方法測試得出的防火墻吞吐量,而是標注啟用了應用識別功能后的吞吐量。
使用UDP大包測出的指標比較好看,然并卵
NSS Labs的測試方法中確實引入了UDP裸包處理性能這個指標,但這個指標只是為了用快速轉發(fā)包的有效性來驗證設備是否具有高級別的網絡性能和低延遲,也就是設備在理想條件下所能達到的最佳性能。在具體的UDP裸包測試方法上,NSS Labs采用了從64字節(jié)到1514字節(jié)不同長度UDP包進行綜合測試的方法:
對網絡通訊原理有一定了解的用戶都知道,每個以太網幀都有最小64字節(jié)最大1518字節(jié)的大小限制,超出了這個范圍的幀都會被認定為錯誤的數據幀,一般的轉發(fā)設備都會將其丟棄。吞吐量的計量單位是報文數/秒(pps)或字節(jié)數/秒(bps),在同樣的條件下,使用的包長越長,測試得出的吞吐量越大,使用達到極限長度1518字節(jié)的UDP包測出的吞吐量一定是最大的。這好比是安檢儀上的傳送帶,在傳送速度不變的前提下,傳送帶上放置的包越多,單位時間內完成的安檢量越大。大包吞吐量只能體現(xiàn)出防火墻在理想狀態(tài)下所表現(xiàn)出的極限性能,在現(xiàn)實網絡環(huán)境中是不太可能出現(xiàn)這種理想狀態(tài)的。正因為此,NSS Labs采用了不同長度UDP包綜合測試的方法,盡可能的模擬出“逼近真實”的網絡環(huán)境。
使用UDP 1518包來衡量網絡層吞吐量尚有局限性,如果將其簡單的套用到聚焦于應用層功能的NGFW上,就更無法完整的評估設備的性能,甚至是片面的。事實上,測試儀表打出的UDP包是最簡單的、對NGFW引擎的運算資源消耗最小、甚至可以忽略不計的一種包。用這種包來測試,測不出NGFW在真實業(yè)務場景中表現(xiàn)出來的實際性能。有些防火墻廠商為了體現(xiàn)產品性能強,讓用戶覺得產品更具競爭力,使用UDP 1518包的吞吐量來標稱NGFW的吞吐量,這是一種偷換概念的做法,不但不能給用戶選型帶來任何幫助,反而會誤導用戶。