安全網(wǎng)關(guān)深受用戶的喜愛,從功能的專業(yè)性而言無論是UTM、下一代安全網(wǎng)關(guān)還是web安全網(wǎng)關(guān)都能一定程度上滿足這些行業(yè)用戶的需求,但作為合格的企業(yè)級多功能應(yīng)用安全網(wǎng)關(guān),除了具有全面的功能外,開啟所有功能后的性能也是不容忽視的,也是用戶選擇多功能安全網(wǎng)關(guān)時需要多方面評測的重要指標(biāo)之一。
這就需要用戶不僅對各個功能模塊的實現(xiàn)技術(shù)與原理進(jìn)行深入研究以辨明安全防御和管控功能的同時,也需要辨明設(shè)備架構(gòu)、操作系統(tǒng)以及掃描處理算法,甚至功能實現(xiàn)技術(shù)所帶來的性能差異。功能再全面,如果沒有良好的性能,那也只能是花架子。本篇主要向大家介紹web安全網(wǎng)關(guān)最重要的選購指標(biāo)之一:性能。
web 安全網(wǎng)關(guān)是Gartner在其2008年的報告中所重點提及的邊界應(yīng)用安全網(wǎng)關(guān)。其主要功能包括防病毒、URL過濾、Internet應(yīng)用控制和帶寬管理等。下面,我們將對web安全網(wǎng)關(guān)的相關(guān)性能指標(biāo)進(jìn)行一一分析解讀,希望能對廣大消費者選購web安全網(wǎng)關(guān)提供一個幫助。
一、防病毒處理能力
網(wǎng)關(guān)防病毒主要針對HTTP/HTTPS、FTP、SMTP、POP3等協(xié)議流量進(jìn)行雙向的過濾掃描,來達(dá)到對企業(yè)內(nèi)網(wǎng)用戶和服務(wù)器的保護(hù),并防止內(nèi)網(wǎng)已感染病毒的客戶端和服務(wù)器對外擴散病毒。隨著Internet,尤其是Http應(yīng)用的日益普及發(fā)展,使得越來越多的企業(yè)應(yīng)用轉(zhuǎn)為了B/S構(gòu)架,借助 HTTP協(xié)議的方便和易用提高企業(yè)效率。同時Internet上無窮無盡的各類資源、虛擬社區(qū)、Web游戲等等使得內(nèi)網(wǎng)用戶訪問Internet的需求在不斷增加,Web應(yīng)用已經(jīng)成為客戶的最主要流量;而安全網(wǎng)關(guān)作為內(nèi)外網(wǎng)之間的唯一數(shù)據(jù)通道,如果吞吐量太小,就會成為網(wǎng)絡(luò)瓶頸,給整個網(wǎng)絡(luò)的傳輸效率帶來負(fù)面影響。
因此,考察網(wǎng)關(guān)的HTTP吞吐能力將有助于我們更好的評價其性能,這里需要注意的是網(wǎng)關(guān)防病毒關(guān)鍵性能是HTTP的吞吐量,而不是UDP的吞吐量,企業(yè)在選購產(chǎn)品時一定要搞清楚這兩個吞吐量的差別。UDP吞吐量代表的是整個設(shè)備的包轉(zhuǎn)發(fā)能力,而網(wǎng)關(guān)防病毒針對的是具體應(yīng)用協(xié)議和數(shù)據(jù)內(nèi)容的掃描與檢測性能,因此對于網(wǎng)關(guān)防病毒產(chǎn)品來說UDP的吞吐量參考意義不大,UDP的吞吐量高,并不一定內(nèi)容檢測性能就高。在企業(yè)的internet應(yīng)用協(xié)議流量中通常http流量所占的比重最大,因此HTTP協(xié)議的檢測性能才是網(wǎng)關(guān)防病毒的關(guān)鍵性能指標(biāo)。為了提升病毒檢測的性能,目前主流解決方案主要有兩種:一種是串流掃描技術(shù);一種是借助ASIC加速卡將由代理緩存下來的整個文件做深度內(nèi)容掃描檢測與特征匹配。
客觀的講,這兩種掃描技術(shù)各有所長,但是對于企業(yè)而言,找尋性能和檢測率、漏判之間的平衡,將成為企業(yè)防病毒成敗的關(guān)鍵。串流掃描方案由于優(yōu)先考慮用戶的網(wǎng)絡(luò)使用體驗,不得不簡化病毒掃描流程,對一些較復(fù)雜的文件不能進(jìn)行深入的檢測,會造成病毒的漏判;另外當(dāng)網(wǎng)絡(luò)流量較大時,很多掃描不能在文件傳輸之前完成,這就造成實際上的病毒掃描功能失效。2005年市面上采用串流病毒掃描技術(shù)的網(wǎng)關(guān)產(chǎn)品較多,但很快發(fā)現(xiàn)漏判漏查的問題無法避免。
通過測試對比發(fā)現(xiàn),ASIC硬件掃描引擎在相同測試條件下的Http吞吐量是純軟件掃描引擎的4-5倍。當(dāng)然,網(wǎng)絡(luò)流量中需要掃描殺毒的文件類型很多,有txt文本文件,有二進(jìn)制文件,有可執(zhí)行的pe文件等,因此企業(yè)在選購產(chǎn)品時還需要重點考察防病毒網(wǎng)關(guān)產(chǎn)品對這三類主要文件類型進(jìn)行掃描殺毒的http吞吐量。
除了http吞吐量外,http的并發(fā)連接數(shù)也是網(wǎng)關(guān)防病毒的關(guān)鍵性能指標(biāo),這里同樣需要注意的是http的并發(fā)連接數(shù),并不是TCP并發(fā)連接數(shù)。 TCP并發(fā)連接數(shù)是指設(shè)備能夠同時處理的點對點TCP連接的最大數(shù)目,主要反映的是防火墻、路由器等設(shè)備對多個TCP連接的訪問控制能力和連接狀態(tài)跟蹤能力。對網(wǎng)關(guān)防病毒來說,因為需要針對某個具體的應(yīng)用協(xié)議進(jìn)行掃描過濾,TCP并發(fā)連接數(shù)并不能完全反映設(shè)備的訪問控制能力和連接狀態(tài)跟蹤能力,http并發(fā)連接數(shù)才是真正反映網(wǎng)關(guān)防病毒能支持的最大信息點數(shù)的性能指標(biāo)。
二、Internet應(yīng)用控制和帶寬管理處理能力
Internet應(yīng)用控制和帶寬管理,通常是通過對應(yīng)用數(shù)據(jù)包進(jìn)行分析,通過識別匹配協(xié)議或應(yīng)用特征進(jìn)行的4-7層的應(yīng)用管控。僅僅靠識別端口是不行的,因為當(dāng)前網(wǎng)絡(luò)上的大部分應(yīng)用會采用隱藏或假冒端口號的方式躲避檢測和管控,也常常通過動態(tài)協(xié)商端口等方式仿冒合法應(yīng)用的數(shù)據(jù)流來侵蝕著網(wǎng)絡(luò),因此對于應(yīng)用管控還需要識別出協(xié)議或應(yīng)用中特定的字符串以便更準(zhǔn)確地進(jìn)行應(yīng)用的識別與管控。當(dāng)然,對于應(yīng)用管控不需要對所有的應(yīng)用數(shù)據(jù)包進(jìn)行一一的檢測過濾,僅僅需要對應(yīng)用流量中開始的1個或幾個數(shù)據(jù)包進(jìn)行特征分析與匹配。
因此,對于Internet應(yīng)用控管,其性能的關(guān)鍵在于網(wǎng)關(guān)的包轉(zhuǎn)發(fā)能力。用戶在選購產(chǎn)品時,需要考察的是設(shè)備對數(shù)據(jù)包的吞吐量。為了提高吞吐量,市面上有ASIC加速技術(shù)也有多核技術(shù),二者的目的一致,都是為了提高性能。支持多核并不難,普通的Linux就可以支持,但如果沒有良好的并行多核控制技術(shù),既使再多的核也不能完全發(fā)揮出多核的硬件優(yōu)勢。因此,這就需要具備并行多核優(yōu)化控制技術(shù)來保證多核CPU快速均衡的響應(yīng)不同的網(wǎng)絡(luò)應(yīng)用。
并且一般的多核控制技術(shù)是通過CPU的其中一個核來完成流量的均衡分發(fā),為了充分利用硬件資源,使性能達(dá)到最優(yōu),不是占用CPU的一個核來完成流量的均衡分發(fā),而是通過專門編寫的控制技術(shù)利用網(wǎng)卡中的芯片完成流量在不同CPU間的均衡分發(fā),這樣使相同的多核CPU的處理能力更進(jìn)一步發(fā)揮出來。另外在多核上實現(xiàn)的應(yīng)用調(diào)度處理也很重要,應(yīng)用調(diào)度處理一般有并行和串行兩種模式。顯然,為了實現(xiàn)對多核資源的充分挖掘和利用,并行應(yīng)用調(diào)度處理方式也是必須的。為此我們必須應(yīng)用處理引擎,以便充分的利用多核資源。
三、URL過濾處理能力
URL過濾的實現(xiàn)機制是將客戶端請求的URL與網(wǎng)關(guān)中的URL過濾策略進(jìn)行匹配,從而達(dá)到過濾控制的目的。對于這部分功能,web安全網(wǎng)關(guān)僅僅需要對http header中的URL進(jìn)行掃描處理,不需要對http請求的內(nèi)容進(jìn)行掃描,以一個32K的http請求為例,http 的header部分只有幾百個字節(jié),不到1K。于是可以看出,對于URL過濾,需要考察的重要性能指標(biāo)是http的并發(fā)連結(jié)數(shù)和每秒新建連接數(shù),這就需要一個強大的http處理引擎。各廠家也都在http的處理性能上下功夫,通常使用最多的還是多核技術(shù), 良好的HTTP 處理引擎不僅跟CPU是單核還是多核有關(guān)系,即使有多核技術(shù),如果沒有優(yōu)化基于kernel的TCP協(xié)議棧,對于上層應(yīng)用代理的處理能力也會受限于傳統(tǒng) TCP協(xié)議棧共享鎖的限制。目前很少有廠商愿意花費時間來攻破這一難題。攻破TCP協(xié)議棧的束縛將成就更快的Web安全網(wǎng)關(guān)。
目前的新技術(shù)是優(yōu)化重寫TCP協(xié)議棧,在兼顧安全性的基礎(chǔ)上,開發(fā)了橫跨系統(tǒng)內(nèi)核層和系統(tǒng)應(yīng)用層的TCP協(xié)議棧,同時將TCP協(xié)議棧與應(yīng)用進(jìn)程并行結(jié)合,打破了通用操作系統(tǒng)基于內(nèi)核的TCP協(xié)議棧共享鎖的限制及系統(tǒng)應(yīng)用層與系統(tǒng)內(nèi)核層分離的制約,實現(xiàn)了轉(zhuǎn)發(fā)層面和應(yīng)用層面的并行處理,也使Anchiva Web安全網(wǎng)關(guān)的性能隨著硬件配置的提升,能夠做到近似線性增長。
當(dāng)然,單獨的吞吐量、并發(fā)連接數(shù)和每秒新建連接數(shù)的數(shù)據(jù)毫無意義,一定要說明這個數(shù)據(jù)是用什么方法測試出來的才有用,同類產(chǎn)品相互性能的比較一定要在同樣的測試環(huán)境和方法下以及相同的策略條件下進(jìn)行才公平和有意義。最好的方法是對同類產(chǎn)品用相同的測試儀器通過相同的測試環(huán)境和測試參數(shù)測試出來的性能才具有可比性和參考價值。對于防火墻、路由器等設(shè)備,測試標(biāo)準(zhǔn)通常要遵從RFC 2544/1242;但是對于應(yīng)用網(wǎng)關(guān),目前沒有成型的測試標(biāo)準(zhǔn),各家都有各家的方法,這里就需要企業(yè)在選購時一定要清楚各家的性能參數(shù)是如何得到的。
web安全網(wǎng)關(guān)應(yīng)用層的處理能力是需要用戶考察的關(guān)鍵點。成就高性能的應(yīng)用層面處理能力,首先需要克服的是轉(zhuǎn)發(fā)層面和協(xié)議層面甚至硬件架構(gòu)等等更底層的處理瓶頸或處理技術(shù)。因此認(rèn)清其對多核和ASIC的支持能力、TCP協(xié)議棧以及上層應(yīng)用處理引擎的并行處理能力和掃描檢測算法的優(yōu)化能力,這些都是web安全網(wǎng)關(guān)性能能否達(dá)到最優(yōu)的核心技術(shù)。
安全網(wǎng)關(guān)性能難題如果被攻克,不僅能成就高性能的網(wǎng)關(guān)殺毒,對于URL過濾和應(yīng)用管控的性能提高僅僅是順帶手就能夠做到的。相信認(rèn)清市場上種類繁多的web安全網(wǎng)關(guān)的真正優(yōu)勢后,企業(yè)選擇一款真正適合自己的邊界web安全網(wǎng)關(guān)設(shè)備并不難。