萬盛學電腦網

 萬盛學電腦網 >> 網絡基礎知識 >> Web應用防火牆怎樣為客戶提供防護

Web應用防火牆怎樣為客戶提供防護

什麼是Web應用防火牆?

  Web應用防火牆是專門為保護基於web的應用程序而設計的,它不像傳統的防火牆,基於互聯網地址和端口號來監控和阻止數據包。一個標准的端口號對應一種網絡應用程序類型。例如,telnet接收發送到端口23的數據包,郵件服務器接收發送到端口25的數據包。

  傳統的防火牆允許向郵件服務器相對應的互聯網地址發送數據,讓數據包通過25端口送達目的地。發送數據包給一個不是郵件服務器系統的互聯網地址和25端口,就是一個攻擊。防火牆會阻止這些數據包。

  Web服務器理應通過80端口傳送數據包。所以所有發給支撐web服務器系統80端口的數據包必須被允許通過防火牆。傳統的防火牆沒有辦法測定一個地址指向正確的數據包是否包含威脅,但Web應用防火牆可以仔細檢查數據包的內容來檢測並阻止威脅。

  Web應用程序如何遭受攻擊

  黑客們不斷開發新的方法獲得未經授權的Web應用程序訪問,但是也有一些通用的技術。

  SQL注入:一些應用程序通過復制Web客戶端輸入來創建數據庫查詢。黑客通過構造一些應用程序沒有仔細檢查和會被拒絕的字符串,來獲取返回的機密數據。

  跨站點腳本:黑客插入腳本代碼(如JavaScript或ActiveX)到一個輸入字符串,導致Web服務器洩漏用戶名和密碼等信息。

  操作系統命令注入:一些應用程序從web輸入來創建操作系統命令,就像訪問一個文件和顯示文件內容。如果輸入的字符串沒有仔細檢查機制,黑客就可以創建輸入來顯示未經授權的數據、修改文件或系統參數。

  會話劫持:黑客通過猜測基於令牌格式知識的會話令牌的內容來獲得登錄會話的權利。這使得黑客能接管會話並可以得到原來的用戶帳戶信息。

  篡改參數或URL:web應用程序通常在返回的的web頁面中嵌入參數和URL,或者用授權的參數更新緩存。黑客可以修改這些參數、URL或緩存,使Web服務器返回不應洩漏的信息。

  緩沖區溢出:應用程序代碼應該檢查輸入數據的長度,以確保輸入數據不會超出剩余的緩沖區和修改相鄰的存儲。黑客很快就會發現應用程序不檢查溢出,並創建輸入來導致溢出。

Web應用防火牆檢查每一個傳入的數據包的內容來檢測上述類型的攻擊。例如,web應用防火牆會掃描SQL查詢字符串,來檢測和刪除那些導致返回的數據多余應用程序要求的字符串。增值廠商應仔細監測新發展的攻擊類型並跟蹤檢測他們的最新產品。

  Web應用防火牆不僅檢測上述已知類型的攻擊,而且還監測異常的使用模式來檢測目前未知的攻擊方法。例如,通常Web應用程序與web客戶端的信息交流數量是有限的。如果Web應用防火牆檢測到Web服務器正在返回一個比預期大很多的數據量,它就會及時切斷傳輸,以防止更多的數據洩露。

  目前有基於軟件和基於應用程序的web應用防火牆。基於軟件的產品布置在Web服務器上,而基於應用程序的產品放置在Web服務器和互聯網接口之間。兩種類型的防火牆都會在數據傳入和傳出web服務器之前檢查數據。

  一般基於軟件的產品成本低於基於應用程序的產品成本,基於軟件的產品供應商聲稱這類防火牆具有更低的延遲和更高的吞吐量。但是在web服務器上安裝額外的軟件勢必會增加額外的處理負荷和系統上軟件的復雜性。

  基於應用程序的防火牆廠商聲稱,這類防火牆安裝和使用簡單,因為沒有額外的軟件安裝在Web服務器系統上。 Web服務器的性能不受Web應用程序防火牆處理的影響。

  除了商業產品外,也有許多開放源碼的Web應用防火牆可用。這些產品成本低於商業產品(就開放的源代碼工具來說,他們是免費的,或者就基於開放源代碼的商業產品來說,極有可能降低成本)。過去開源代碼關注的是,黑客們將檢查代碼並設法逃避保護措施。有了應用Linux這類開源代碼軟件的豐富經驗,這些都不是什麼問題。

  所有的產品,不論是購買的還是開源代碼,無論是基於軟件的還是基於應用程序的,都應該得到支持。商業產品得到了供應商的支持。開放源代碼為增值廠商和系統集成商提供了一個整合安全知識的機會。為Web應用程序防火牆提供持續的支持,確保合作伙伴與客戶保持密切的關系,給供應商在未來為客戶提供更多產品和服務提供了機會。

  因為每個客戶的環境和應用程序設置是不同的,VARs和系統集成商必須評估每個客戶的獨特需求,以確定哪種類型的Web應用防火牆將是最合適的。但是,毫無疑問所有客戶的Web應用程序都應該得到Web應用防火牆的保護。如果用戶不理解這種需求或者不同意該做法,一定要介紹給他們Web應用程序可能受到攻擊的多種方式。

  仔細檢查應用程序代碼是一種替代web應用防火牆的方法。攻擊都是在編譯出錯或者缺乏內部數據檢查的地方取得成功。從理論上來講,一個通過代碼檢查員逐行檢查過錯誤的web應用程序,可以替代web應用防火牆。

  在實踐中,盡管軟件工程師通常不相信他們的代碼有缺陷,但對應用程序的不斷更新使得詳細的代碼檢查變得幾乎不可能,更不用說代碼檢查員很容易的就會忽略不安全的代碼,特別是那些沒有安全背景的檢查員。

  此外,黑客技術迅速發展。網絡防火牆供應商時時關注新攻擊類型的新聞、及時更新它們的產品。有些客戶可能覺得經過代碼審查的程序可以使他們避免實施一個web應用防火牆所帶來的花費和工作量,但解決方案供應商應幫助客戶認識到安全代碼審查只能帶來虛假的安全感,實際上並不能代替Web應用防火牆提供的全面安全保護。

copyright © 萬盛學電腦網 all rights reserved