如何選擇合適的Web應(yīng)用防火墻(WAF)?
譯文【51CTO.COM 獨家翻譯】大概十年前,Web應(yīng)用防火墻(WAF)進(jìn)入了IT安全領(lǐng)域,最早提供這類產(chǎn)品的供應(yīng)商是幾家新興公司,如Perfecto(曾改名為Sanctum,后在2004年被WatchFire收購)、KaVaDo(2005年被Protegrity收購)和NetContinuum(2007年被Barracuda收購)。工作原理相當(dāng)簡單:隨著攻擊范圍向IP堆棧的上層移動,瞄上針對特定應(yīng)用的安全漏洞,這時勢必需要開發(fā)旨在識別和預(yù)防這些攻擊的產(chǎn)品。雖然網(wǎng)絡(luò)防火墻在阻止較低層攻擊方面很有效,但并不擅長解開IP數(shù)據(jù)包層,以分析較高層協(xié)議;這就意味著,網(wǎng)絡(luò)防火墻缺少應(yīng)用感知功能,而要關(guān)閉自定義Web應(yīng)用中的漏洞窗口,就需要這種功能。
但是盡管WAF炒得很火,供應(yīng)商承諾的優(yōu)點也很多,但最終用戶的使用體驗卻相當(dāng)差。早期產(chǎn)品存在諸多缺點,比如誤報率高,給受保護(hù)應(yīng)用的性能帶來負(fù)面影響,又很難有效地管理。2005年前后,包括思科、思杰和F5在內(nèi)的大牌網(wǎng)絡(luò)供應(yīng)商或收購或開發(fā)了Web層監(jiān)控技術(shù),WAF隨之成為一道公認(rèn)的邊界安全防線。促使WAF得到主流用戶采用的另一個因素是,出臺了支付卡行業(yè)數(shù)據(jù)安全標(biāo)準(zhǔn)(PCI-DSS),該標(biāo)準(zhǔn)在第6.6項需求中明確要求使用具有應(yīng)用層感知功能的防火墻。
如今,WAF已是IT安全工具箱中一個公認(rèn)的組成部分。但許多企業(yè)仍在為這個問題而糾結(jié):該買哪一種WAF、如何最合理地把它們集成到Web應(yīng)用風(fēng)險管理產(chǎn)品系列中。本文分析了采購WAF方面一些主要的決策因素,并給出了相應(yīng)的建議,以便確保它們很適合企業(yè)架構(gòu)和網(wǎng)絡(luò)生態(tài)系統(tǒng)。
架構(gòu)和物理尺寸
WAF應(yīng)該適合于現(xiàn)有的架構(gòu),并采用得到安全操作團(tuán)隊接受和支持的物理尺寸。WAF放置方面主要有兩種架構(gòu)方案可以考慮:橋接模式(in-line)或分接/跨接模式(tap/span)。
·橋接模式:在這種架構(gòu)(又叫主動配置)中,WAF就直接放在請求方(如瀏覽器客戶端)與Web應(yīng)用服務(wù)器之間的流量路徑當(dāng)中。WAF在檢查應(yīng)用請求和響應(yīng)之后再傳送請求和響應(yīng)。
在橋接模式里面,WAN到底采用哪一種方法來傳送流量,企業(yè)可以作出眾多選擇。網(wǎng)絡(luò)方面的選擇有:路由器(3層)、網(wǎng)橋(2層)和HTTP反向代理系統(tǒng)。WAF還可以直接在主機服務(wù)器(Web應(yīng)用駐留在上面)上使用,這種WAF名為基于主機的WAF或嵌入式WAF。使用網(wǎng)橋模式的WAF可能不需要改動網(wǎng)絡(luò),但流量必須定向至路由器或反向代理模式中的WAF。
要選擇一種最佳模式,先要評估一下目前網(wǎng)絡(luò)上的Web應(yīng)用是如何構(gòu)建的:該應(yīng)用是不是已經(jīng)在反向代理系統(tǒng)的后面?如果是這樣,企業(yè)又想繼續(xù)使用反向代理架構(gòu),可以考慮支持這種需要的WAF。如果企業(yè)要求WAF終結(jié)SSL連接,以檢查數(shù)據(jù)包內(nèi)容,那么反向代理系統(tǒng)是個理想的選擇。不過,在一路發(fā)送數(shù)據(jù)包內(nèi)容之前終結(jié)連接(無論是不是SSL連接)的確需要處理能力,所以需要對這種模式進(jìn)行造型和測試,確保不會帶來讓人無法接受的延遲。
橋接式WAF經(jīng)配置后,可以主動阻止違反WAF規(guī)則集的請求和流量。這項功能很有用,但使用要慎重--要是橋接式WAF過于主動地阻止,就會阻止合法流量進(jìn)入到Web服務(wù)器,因而導(dǎo)致應(yīng)用無法使用。在制定任何主動阻止規(guī)則之前,先要進(jìn)行全面測試,確保生產(chǎn)環(huán)境中不會出現(xiàn)服務(wù)意外受到干擾的情況。另外,可以以橋接方式使用WAF,但要讓它處于純監(jiān)控(或被動)模式。
架構(gòu)方面要考慮的另一個因素是,將安裝和管理多少個WAF。如果需要WAF用于多個場合,那不妨考慮支持分布式管理或分布式WAF的解決方案。在這種模式下,可使用中央控制臺來管理用于多個場合的防火墻。可以針對所有WAF統(tǒng)一運用規(guī)則或設(shè)置;也可以根據(jù)每個WAF的情況,逐個運用規(guī)則集,具體取決于WAF在保護(hù)哪一種Web應(yīng)用。 #p#
優(yōu)點 |
缺點 |
•能防止實時攻擊 |
•Web應(yīng)用的流量速度 可能會減慢 •合法流量可能被阻止 |
表格1:橋接式WAF的優(yōu)缺點
分接/跨接模式:這種模式又叫"被動"模式,因為WAF被擋在流量路徑外面,從分接端口或跨接端口監(jiān)控流量。分接/跨接式WAF常常用于收集數(shù)據(jù),以便之后用于調(diào)查或取證分析。這種架構(gòu)模式的一個主要優(yōu)點是,它并不干擾網(wǎng)絡(luò)流量或吞吐量,因為它不是直接嵌入。而另一方面,不在流量路徑當(dāng)中意味著,這種解決方案無法執(zhí)行主動的橋接式WAF所能執(zhí)行的那種阻止操作。不過,支持某些形式的阻止操作,比如連接重置,或者通過聯(lián)系到另一個系統(tǒng)(如網(wǎng)絡(luò)防火墻),然后讓該系統(tǒng)執(zhí)行阻止操作。
優(yōu)點 |
缺點 |
•非侵入性 •不干擾流量 |
•無法阻止實時流量 |
圖2:分接/跨接式WAF的優(yōu)缺點
·新的變化:兩個重要變化在促使企業(yè)需要WAF使用新的架構(gòu)模式,這兩個變化就是云計算和虛擬化?;谠频腤AF先攔截流量,然后允許合法流量進(jìn)入到企業(yè)網(wǎng)絡(luò);或者對于在云環(huán)境也有Web應(yīng)用的公司來說,允許合法流量通過云進(jìn)入到服務(wù)器。虛擬化環(huán)境帶來了一個獨特的挑戰(zhàn),因為在虛擬機管理程序上運行的虛擬機構(gòu)成了自己的小型網(wǎng)絡(luò);在這個網(wǎng)絡(luò)中,流量從一虛擬服務(wù)器傳送到另一虛擬服務(wù)器,沒必要通過網(wǎng)絡(luò)傳送。為了防止虛擬機內(nèi)部出現(xiàn)應(yīng)用攻擊,WAF需要能夠查看流量。使用應(yīng)用編程接口(API)或其他服務(wù),通過虛擬機管理程序來監(jiān)控活動,就能做到這一點。
·物理尺寸:探討一下WAF如何捆綁和銷售給客戶的問題。許多WAF支持多種物理尺寸選擇,所以企業(yè)不需要為購買硬件設(shè)備而大傷腦筋,只要獨立軟件開發(fā)商(ISV)的軟件得到批準(zhǔn)。換句話說,選擇什么物理尺寸的硬件取決于貴企業(yè)最習(xí)慣于什么。選擇包括:
◆純軟件--硬件由采購部門負(fù)責(zé)提供
◆設(shè)備--軟件與專門針對WAF進(jìn)行選型和調(diào)整的設(shè)備捆綁銷售
◆硬件--WAF智能直接嵌入在硬件本身里面
◆主機--這是一種軟件方案,但軟件安裝在運行Web應(yīng)用的同一臺服務(wù)器上,而不是安裝在單獨的主機或虛擬機上。
檢測技術(shù)
剛才已討論了架構(gòu)和物理尺寸問題,現(xiàn)在要問一下這個問題:WAF如何檢測Web應(yīng)用中的漏洞以及針對Web應(yīng)用的攻擊?WAF的目的是智能地保護(hù)Web應(yīng)用,所以擁有細(xì)粒度規(guī)則和檢測機制很要緊。大多數(shù)WAF采用結(jié)合不同檢測技術(shù)的方法,確保檢測范圍最廣泛、結(jié)果最準(zhǔn)確。除了問供應(yīng)商使用哪些檢測技術(shù)外,還要讓供應(yīng)商出示證明誤報率/漏報率的依據(jù)以及第三方測試結(jié)果,以便更清楚地了解WAF在實際使用時效果會有多好。下面是一些檢測技術(shù),以及向最后選出來的幾家產(chǎn)品供應(yīng)商詢問的幾個問題:
·特征:與為反惡意軟件和網(wǎng)絡(luò)入侵檢測系統(tǒng)(IDS)編寫的特征很相似,WAF特征也將預(yù)定字符串或正則表達(dá)式(RegEx)與流量進(jìn)行匹配,以查找已知攻擊。
該產(chǎn)品在交付時隨帶一套特征嗎?#p#
供應(yīng)商每隔多久更新特征?
·規(guī)則:規(guī)則在特征概念的基礎(chǔ)上更進(jìn)了一步,它可以用邏輯"與"運算符把一系列字符串聯(lián)系起來,用"或"運算符添加更復(fù)雜的匹配機制,或者用"非"運算符實現(xiàn)"排斥"功能。還可以設(shè)定規(guī)則,尋索非常特定的字符串類型,就像16位號碼(比如信用卡號),作為來自Web服務(wù)器的響應(yīng)而發(fā)送。一些WAF能夠動態(tài)"學(xué)習(xí)"流量模式,根據(jù)一套基準(zhǔn)規(guī)則來查找異常行為。"學(xué)到"的信息可以發(fā)送給管理員,提議針對WAF或互補性保護(hù)設(shè)備(如IDS或網(wǎng)絡(luò)防火墻)設(shè)定什么樣的新規(guī)則。
供應(yīng)商提供基準(zhǔn)規(guī)則嗎?
客戶能夠手動添加新規(guī)則嗎?
WAF能夠動態(tài)"學(xué)習(xí)"新規(guī)則嗎?
◆規(guī)范化:攻擊者的一種慣用手法是,對漏洞的有效載荷做手腳,冒充沒有危害的內(nèi)容(比如對有效載荷的一部分進(jìn)行URL編碼),從而避開WAF的檢測。為了檢測出這種攻擊,WAF就要能夠?qū)φ埱筮M(jìn)行規(guī)范化處理,以便進(jìn)行分析。以下是僅僅幾個規(guī)范化機制--完整清單請參閱Web應(yīng)用安全聯(lián)盟Web應(yīng)用防火墻評估標(biāo)準(zhǔn)的第3.1章節(jié)。
WAF能夠?qū)D(zhuǎn)義字符或編碼字符(如t、�01、%2C、xAA和uAABB)進(jìn)行規(guī)范化嗎?
使用自引用路徑(即使用/./和等效的編碼方案)嗎?
使用混合大小寫和國際字符集嗎?
◆API:如果企業(yè)想自行開發(fā)自定義檢測技術(shù)或規(guī)則,以便進(jìn)行特別評估,比如邏輯檢查,可以通過API來做到這點。咨詢一下供應(yīng)商,看看對方是否的確支持API;如果支持,這些API與WAF分析引擎的集成又有多緊密?
WAF有API嗎?
API與WAF引擎的集成有多緊密?
供應(yīng)商為自定義插件提供哪一種支持?
其他考慮因素
◆高可用性和高吞吐量:如果WAF在流量很大的環(huán)境下,它應(yīng)該能夠在不減慢Web應(yīng)用速度的情況下,處理龐大流量,如果它是橋接式WAF更要有這種功能。如果一個WAF或Web應(yīng)用失效或超過安全界限,WAF就得支持故障切換,與負(fù)載均衡器共同防止服務(wù)受到干擾。一些WAF與高可用性設(shè)備緊密集成,可作為Web流量管理系統(tǒng)的組件來運行。如果是獨立式WAF,就要確保它們滿足貴公司的高可用性需求,以便同時符合性能和架構(gòu)方面的要求。
WAF能與現(xiàn)有的高可用性/負(fù)載均衡設(shè)備兼容嗎?
WAF在不丟失流量或流量丟失有限的情況下支持故障切換嗎?
WAF能支持多大的流量?#p#
受保護(hù)應(yīng)用的性能有沒有出現(xiàn)任何延遲?
添加新的/復(fù)雜的規(guī)則后,性能有沒有因而下降?
◆日志和報告:作為Web應(yīng)用的監(jiān)控器和警衛(wèi),WAF具有先天的優(yōu)勢,可以將流量和活動記入日志。一些WAF能夠捕獲全部流量的完整數(shù)據(jù)包(這在分接/跨接式解決方案中最常見),但是它們都應(yīng)該將進(jìn)出Web應(yīng)用的事務(wù)活動方面的關(guān)鍵信息記入日志。
WAF維護(hù)完整的事務(wù)日志嗎?
日志使用什么格式(如系統(tǒng)日志)?
日志是不是以防篡改/防揭換的方式保存在服務(wù)器上?
日志能夠從服務(wù)器安全地導(dǎo)出嗎?
產(chǎn)品是否隨帶預(yù)配置的報告,以便合規(guī)和管理?
◆管理多個WAF:如果WAF要部署在復(fù)雜的分布式環(huán)境中,集中管理功能將大大減輕管理開銷。
WAF是否工作在用于多處的分布式WAF環(huán)境下?
安全策略能不能運用到所有WAF?
針對單個應(yīng)用的自定義策略是否得到支持?
◆SSL和加密:加密可以保護(hù)傳送的數(shù)據(jù)被人窺視,但這也意味著WAF要是不先對數(shù)據(jù)解密,就無法檢查數(shù)據(jù)。這方面有兩個選擇:一是為WAF提供密鑰,那樣就能對數(shù)據(jù)解密。二是在WAF處終結(jié)SSL連接,然后建立一條新的加密隧道,以便數(shù)據(jù)從WAF傳送到Web服務(wù)器/瀏覽器(建立加密隧道是可選功能)。SSL處理給處理器帶來了開銷,所以要精心選擇可合理終結(jié)SSL會話的WAF,考慮使用加速板來卸載一部分處理工作。
WAF支持SSL解密嗎?
是否支持橋接式終結(jié)?
有沒有實現(xiàn)被動解密的密鑰共享機制?
有沒有加速選件,比如加密加速板?
◆新興協(xié)議:規(guī)范化和重新組裝HTTP和HTML很棘手,但在Web 2.0及之后的環(huán)境中,有許多新興協(xié)議和現(xiàn)有的媒體類型會帶來惡意軟件或安全漏洞。沒有哪個WAF能夠分析.swf(Flash),找出所有安全漏洞,但至少應(yīng)支持圖像檢測,并支持Jscript和PHP等腳本。
WAF能處理dHTML、CSS、XML和SOAP嗎?
WAF能支持對Flash進(jìn)行掃描嗎?支持圖像(JPG、GIF和PNG)掃描呢?
◆與Web應(yīng)用掃描器集成:Web應(yīng)用掃描器這種產(chǎn)品能夠自動掃描來自外部的Web應(yīng)用,以模擬攻擊者可能會發(fā)現(xiàn)的那種安全漏洞。掃描器與WAF互為補充,因為它們能發(fā)現(xiàn)管理員利用自定義WAF規(guī)則可以緩解的安全漏洞。有些Web應(yīng)用掃描器供應(yīng)商與WAF供應(yīng)商結(jié)成了合作伙伴,那樣掃描過程中發(fā)現(xiàn)了安全漏洞后,掃描器就能自動提議采用什么樣的自定義規(guī)則,使用正確的WAF句法。這有助于迅速消除安全漏洞,也不需要試圖制定防止攻擊的最佳規(guī)則所需要的管理開銷。
供應(yīng)商與Web應(yīng)用掃描器供應(yīng)商有沒有合作伙伴關(guān)系?
雙方產(chǎn)品之間的集成有多緊密?
規(guī)則能自動更新,還是需要手動干預(yù)?
總結(jié)
你在購買WAF產(chǎn)品之前,需要弄清楚上述問題和考慮因素,它們是確保你買到合適產(chǎn)品的基礎(chǔ)。想了解更多的詳細(xì)內(nèi)容和考慮因素,請參閱Web應(yīng)用安全聯(lián)盟的Web應(yīng)用防火墻評估標(biāo)準(zhǔn)評估響應(yīng)矩陣。將上述幾點和評估響應(yīng)陣?yán)锩娴母嘣敿?xì)內(nèi)容作為基準(zhǔn),列明需求,并確定必要的功能特性,然后向供應(yīng)商提交采購需求,敲定最后的需求。雖然WAF市場不像其他一些市場來得擁擠,但事先做好明確采購需求方面的工作將大大縮小產(chǎn)品的選擇范圍,并有助于確保企業(yè)能夠得到合適的工具。
來源:http://www.esecurityplanet.com/features/article.php/3897346/How-to-Choose-the-Right-Web-Application-Firewall-WAF.htm
【編輯推薦】