解讀Web應用防火墻
作為一家第三方互聯網支付公司的CIO,Dave為公司近期發生的一系列安全事件忙得焦頭爛額。雖然已經在公司的網絡出口處部署了防火墻、入侵檢測系統等安全設備,但是幾個月前,公司網站和支付服務器還是遭受到拒絕服務攻擊導致業務癱瘓。拒絕服務攻擊事件還沒處理完,Dave又接到員工報告,公司門戶網站被Google報出含有惡意軟件。
來自Web的安全挑戰
Dave的煩惱其實是日前眾多IT管理者遭遇的縮影之一。隨著機構的計算及業務資源逐漸向數據中心高度集中,Web成為一種普適平臺,上面承載了越來越多的核心業務。Web的開放性帶來豐富資源、高效率、新工作方式的同時,也使機構的資產暴露在越來越多的威脅中。現今Web安全問題對我們來說已屢見不鮮,以下是收錄于國際安全組織WASC WHID項目中的幾起安全事件:
2009年5月26日,法國移動運營商Orange France提供照片管理的網站頻道有SQL注入漏洞,黑客利用此漏洞獲取到245,000條用戶記錄(包括E-mail、姓名及明文方式的密碼)。
2009年1月26日,美國軍方兩臺重要的服務器被土耳其黑客滲透,網頁被篡改,黑客采用的是SQL注入攻擊手段。
2009年1月26日,印度駐西班牙使館網站被掛馬(通過iFrame攻擊植入惡意代碼)。
Web應用安全防護解決思路
Web應用安全問題本質上源于軟件質量問題。但Web應用相較傳統的軟件,具有其獨特性。Web應用往往是某個機構所獨有的應用,對其存在的漏洞,已知的通用漏洞簽名缺乏有效性;需要頻繁地變更以滿足業務目標,從而使得很難維持有序的開發周期;需要全面考慮客戶端與服務端的復雜交互場景,而往往很多開發者沒有很好地理解業務流程;人們通常認為Web開發比較簡單,缺乏經驗的開發者也可以勝任。
針對Web應用安全,理想情況下應該在軟件開發生命周期遵循安全編碼原則,并在各階段采取相應的安全措施。然而,多數網站的實際情況是:大量早期開發的Web應用,由于歷史原因,都存在不同程度的安全問題。對于這些已上線、正提供生產的Web應用,由于其定制化特點決定了沒有通用補丁可用,而整改代碼因代價過大變得較難施行或者需要較長的整改周期。
針對這種現狀,專業的Web安全防護工具是一種合理的選擇。Web應用防火墻(以下簡稱WAF)正是這類專業工具,提供了一種安全運維控制手段:基于對HTTP/HTTPS流量的雙向分析,為Web應用提供實時的防護。與傳統防火墻/IPS設備相比較,WAF最顯著的技術差異性體現在:
對HTTP有本質的理解:能完整地解析HTTP,包括報文頭部、參數及載荷。支持各種HTTP 編碼(如chunked encoding、request/response壓縮);提供嚴格的HTTP協議驗證;提供HTML限制;支持各類字符集編碼;具備response過濾能力。
提供應用層規則:Web應用通常是定制化的,傳統的針對已知漏洞的規則往往不夠有效。WAF提供專用的應用層規則,且具備檢測變形攻擊的能力,如檢測SSL加密流量中混雜的攻擊。
提供正向安全模型(白名單):僅允許已知有效的輸入通過,為Web應用提供了一個外部的輸入驗證機制,安全性更為可靠。
提供會話防護機制:HTTP協議最大的弊端在于缺乏一個可靠的會話管理機制。WAF為此進行有效補充,防護基于會話的攻擊類型,如cookie篡改及會話劫持攻擊。
如何正確選擇WAF
并非對Web服務器提供保護的“盒子”都是WAF。事實上,一個真正滿足需求的WAF應該具有二維的防護體系:
縱向提供縱深防御:通過建立協議層次、信息流向等縱向結構層次,構筑多種有效防御措施阻止攻擊并發出告警。
橫向:滿足合規要求;緩解各類安全威脅(包括網絡層面、Web基礎架構及Web應用層面);降低服務響應時間、顯著改善終端用戶體驗,優化業務資源和提高應用系統敏捷性。
在選擇WAF產品時,建議參考以下步驟:
結合業務需求明確安全策略目標,從而定義清楚WAF產品必須具備的控制能力
評估每一家廠商WAF產品可以覆蓋的風險類型
測試產品功能、性能及可伸縮性
評估廠商的技術支持能力
評估內部維護團隊是否具備維護、管理WAF產品的必需技能
權衡安全、產出以及總成本。“成本”不僅僅意味著購買安全產品/服務產生的直接支出,還需要考慮是否影響組織的正常業務、是否給維護人員帶來較大的管理開銷
WAF應用場景
相信通過前文的介紹,大家對WAF產品已經有了初步了解。但也可能存在疑問,部署WAF,實際到底可以解決什么問題?下面將介紹幾個典型的應用場景。
WAF支持完全代理方式,作為Web客戶端和服務器端的中間人,避免Web服務器直接暴露在互聯網上,監控HTTP/HTTPS雙向流量,對其中的惡意內容(包括攻擊請求以及網頁內容中被植入的惡意代碼)進行在線清洗。
網頁篡改在線防護
按照網頁篡改事件發生的時序,提供事中防護以及事后補償的在線防護解決方案。事中,實時過濾HTTP請求中混雜的網頁篡改攻擊流量(如SQL注入、XSS等)。事后,自動監控網站所有需保護頁面的完整性,檢測到網頁被篡改,第一時間對管理員進行短信告警,對外仍顯示篡改前的正常頁面,用戶可正常訪問網站。
網頁掛馬在線防護
網頁掛馬為一種相對比較隱蔽的網頁篡改方式,本質上這種方式也破壞了網頁的完整性。網頁掛馬攻擊目標為各類網站的最終用戶,網站作為傳播網頁木馬的“傀儡幫兇”,嚴重影響網站的公信度。
當用戶請求訪問某一個頁面時,WAF會對服務器側響應的網頁內容進行在線檢測,判斷是否被植入惡意代碼,并對惡意代碼進行自動過濾。
敏感信息泄漏防護
WAF可以識別并更正Web應用錯誤的業務流程,識別并防護敏感數據泄漏,滿足合規與審計要求,具體如下:
可自定義非法敏感關鍵字,對其進行自動過濾,防止非法內容發布為公眾瀏覽。
Web站點可能包含一些不在正常網站數據目錄樹內的URL鏈接,比如一些網站擁有者不想被公開訪問的目錄、網站的Web管理界面入口及以前曾經公開過但后來被隱藏的鏈接。WAF提供細粒度的URL ACL,防止對這些鏈接的非授權訪問。
網站隱身:過濾服務器側出錯信息,如錯誤類型、出現錯誤腳本的絕對路徑、網頁主目錄的絕對路徑、出現錯誤的SQL語句及參數、軟件的版本、系統的配置信息等,避免這些敏感信息為攻擊者利用、提升入侵的概率。
對數據泄密具備監管能力。能過濾服務器側響應內容中含有的敏感信息,如身份證號、信用卡號等。
【編輯推薦】