Web 服務器是必經的大門,Web 開發的團隊技術實力的參差不齊,并非都是“專業型”的高手,編程不規范、安全意識不強,導致為黑客大開方便之門。黑客針對Web應用的攻擊手段和技術日趨高明、隱蔽,致使大多Web應用處在高風險環境下開展。利用網站的安全漏洞,尤其是Web應用程序漏洞:如SQL 注入等,黑客能夠得到Web 服務器的控制權限,隨意篡改網頁內容或竊取重要內部數據,更為嚴重的則是在網頁中植入惡意代碼,通過“網頁掛馬”感染更多的客戶端用戶。
SQL注入攻擊本身就是對數據庫進行一系列SQL語句的查詢,分號后面會被注釋為SQL語句。黑客可以執行一個SQL查詢來實現繞過身份驗證或者操縱數據。通過 SQL 注入攻擊,黑客可以輕松的敲入一些 SQL 語句登陸進網站、對隱秘數據進行查詢等等,而這一切都可以在WEB瀏覽器中進行的。所以業內流傳著一句話:不怕流氓會武術,就怕黑客會注入??梢奡QL注入的危害性。
此外,在Web交互性越來越強的今天,一個提供Web服務的應用程序可以不操作數據庫,可以不與系統交互,但是肯定會將程序的處理結果返回給瀏覽器,加上程序員如果意識不到位,就必然發生XSS攻擊,對于一個互聯網公司,這兩方面的因素加起來就會導致這個漏洞數量就非??捎^。很多時候,這些XSS攻擊往往都是高危級的漏洞。
例如,在2011年6月28日20時左右,新浪微博就出現了一次比較大的XSS攻擊事件。微博用戶中招后會自動向自己的粉絲發送含毒私信和微博,有人點擊后會再次中毒,形成惡性循環。大量用戶自動發送“建黨大業中穿幫的地方”、“個稅起征點有望提到4000”、“郭美美事件的一些未注意到的細節”、“3D肉團團高清普通話版種子”等帶鏈接的微博與私信,并自動關注一位名為hellosamy的用戶。
Web網站的安全事件頻頻發生,究其根源,關鍵原因有二:一是web 網站自身存在技術上的安全漏洞和安全隱患;二是相關的防護設備和防護手段欠缺。
Web 應用攻擊通常是以七層的形式進行,對這種攻擊,傳統防火墻顯得力不從心。由此,Web應用防火墻(WAF)應運而生。WAF是專門為保護基于Web的應用程序而設計的,從廣義上來說,WAF就是一些增強Web應用安全性的工具。Web服務器理應通過80端口傳送數據包。所以所有發給支撐Web服務器系統80端口的數據包必須被允許通過防火墻。傳統的防火墻沒有辦法測定一個地址指向正確的數據包是否包含威脅,但WAF可以仔細檢查數據包的內容來檢測并阻止威脅。
下面我們就用一款現在業內比較普遍的梭子魚WAFWEB應用防火墻來舉例,來看看WAF是如何保護網站防止被惡意注入和篡改的了。
網絡架構和部署:代理模式(也支持橋模式)
代理模式是Web應用防火墻部署種的最佳模式。這個模式也是拓撲過程中推薦的模式,能夠提供最佳的安全性能。
在此模式中,所有的數據端口都將被開啟;端口WAN是對外的,直接面向因特網的端口。管理端口可以被分配到另一個網段,我們推薦將管理數據和實際的流量分離,避免因為實際流量和管理數據的沖突。
以下為示例拓撲圖:
網絡實現:
1、前端端口和后端端口位于不同的網段,所有外部客戶將會和應用虛擬IP地址進行連接,此虛擬ip將會和前端端口(eth1)進行綁定
2、客戶的連接將會在設備上終止,進行安全檢查和過濾
3、合法的流量將會WAN口建立新的連接到負載均衡設備
4、負載均衡進行流量的負載
5、代理模式可以開啟所有的安全功能
工作特點:基于應用層的檢測,同時又擁有基于狀態的網絡防火墻的優勢
對應用數據錄入完整檢查、HTTP包頭重寫、強制HTTP協議合規化,杜絕各種利用協議漏洞的攻擊和權限提升
預期數據的完整知識(Complete Knowledge of expected values),防止各種形式的SQL/命令注入,跨站式腳本攻擊
實時策略生成及執行,根據您的應用程序定義相應的保護策略,而不是千篇一律的廠家預定義防攻擊策略,無縫的砌合您的應用程序,不會造成任何應用失真。
梭子魚策略WAF配置建議:
1.配置服務:配置VIP地址和真實服務器地址。
2.配置安全策略:開啟主動防護模式。
3.開啟URL防護策略:例如阻斷SQL注入,跨站攻擊等。
4.系統告警:一旦網站被攻擊,梭子魚馬上能通過郵件進行告警。
我們分析完了Web安全常見的攻擊手法和防御方式,那么如何對應用層攻擊進行防御呢?請關注下一期的《拒絕阿喀琉斯之踵系列——下一代防火墻在行動》。