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