51CTO.com獨家特稿一、Web安全不僅僅是
互聯網才需要
Web服務是指采用B/S架構、通過Http協議提供服務的統稱,這種結構也稱為Web架構,隨著Web2.0的發展,出現了數據與服務處理分離、服務與數據分布式等變化,其交互性能也大大增強,也有人叫B/S/D三層結構。互聯網能夠快速流行得益于Web部署上的簡單,開發上簡便,Web網頁的開發大軍迅速超過了以往任何計算機語言的愛好者,普及帶來了應用上繁榮。J2EE與.NET的殊途同歸,為Web流行掃清了廠家與標準的差異;眾望所歸,SOA選中Web2.0作為其實現的基本工具之一(使用最廣的),Web架構從互聯網走進了企業內部網絡,新業務系統的開發,越來越多的系統架構師選擇了Web架構,與熟悉它的人如此廣泛是分不開的。事實再一次證明了那個經典的理論:簡潔的最容易流行。
簡單與安全好象總有些“矛盾”,瀏覽器可以直接看到頁面的Html代碼,早期的Web服務設計沒有過多的安全考慮,人性本善,技術人員總是相信人都是善良的!但隨著Web2.0的廣泛使用,Web服務不再只是信息發布,游戲中的裝備交易、日常生活中網上購物、政府行政審批、企業資源管理…信息價值的誘惑,人的貪婪開始顯現,不是所有的人都有Web設計者的“大同”思想,安全問題日顯突出了。
2008年網絡安全事件統計最多是:SQL注入與“網頁掛馬(木馬)”。因為這是“僵尸”網絡發展新“會員”的基本工具,而僵尸網絡的經濟與政治“價值”,這里就不用說了。SQL注入與“網頁掛馬”主要就是針對Web服務的,傳統的安全產品(UTM/IPS)都有些力不從心。
互聯網是個人思想展現的樂園,也是世界級的、虛擬的“另一個”社會,既然大家都是虛擬的、帶著面具的,要變成現實社會中的真實利益,還需要一些轉換才可以兌現,但SOA把Web架構帶入企業內部網絡,這里的網絡世界是“真實的”,利益是可以直接兌現的,Web安全問題變得刻不容緩。
二、Web架構原理
要保護Web服務,先要了解Web系統架構,下圖是Web服務的一般性結構圖,適用于互聯網上的網站,也適用于企業內網上的Web應用架構:
圖
用戶使用通用的Web瀏覽器,通過接入網絡(網站的接入則是互聯網)連接到Web服務器上。用戶發出請求,服務器根據請求的URL的地址連接,找到對應的網頁文件,發送給用戶,兩者對話的“官方語言”是Http。網頁文件是用文本描述的,HTML/Xml格式,在用戶瀏覽器中有個解釋器,把這些文本描述的頁面恢復成圖文并茂、有聲有影的可視頁面。
通常情況下,用戶要訪問的頁面都存在Web服務器的某個固定目錄下,是一些.html或.xml文件,用戶通過頁面上的“超連接”(其實就是URL地址)可以在網站頁面之間“跳躍”,這就是靜態的網頁。后來人們覺得這種方式只能單向地給用戶展示信息,信息發布還可以,但讓用戶做一些比如身份認證、投票選舉之類的事情就比較麻煩,由此產生了動態網頁的概念;所謂動態就是利用flash、Php、asp、Java等技術在網頁中嵌入一些可運行的“小程序”,用戶瀏覽器在解釋頁面時,看到這些小程序就啟動運行它。小程序的用法很靈活,可以展示一段動畫(如Flash),也可以在你的PC上生成一個文件,或者接收你輸入的一段信息,這樣就可以根據你的“想法”,對頁面進行定制處理,讓你每次來到時,看到的是你上次設計好的特有風格,“貴賓的感覺”是每個人都喜歡的,更何況虛擬的網絡世界中,你不認識的人還對你如此“敬仰”,服務得如此體貼…
“小程序”的使用讓Web服務模式有了“雙向交流”的能力,Web服務模式也可以象傳統軟件一樣進行各種事務處理,如編輯文件、利息計算、提交表格等,Web架構的適用面大大擴展,Web2.0可以成為SOA架構的實現技術之一,這個“小程序”是功不可沒的。
這些“小程序”可以嵌入在頁面中,也可以以文件的形式單獨存放在Web服務器的目錄里,如.asp、.php、jsp文件等,并且可以在開發時指定是在用戶端運行,還是在服務器端運行;用戶不再能看到這些小程序的源代碼,服務的安全性也大大提高。這樣功能性的小程序越來越多,形成常用的工具包,單獨管理,Web業務開發時,直接使用就可以了,這就是中間件服務器,它實際上是Web服務器處理能力的擴展。
靜態網頁與“小程序”都是事前設計好的,一般不經常改動,但網站上很多內容需要經常的更新,如新聞、博客文章、互動游戲等,這些變動的數據放在靜態的程序中顯然不適合,傳統的辦法是數據與程序分離,采用專業的數據庫。Web開發者在Web服務器后邊增加了一個數據庫服務器,這些經常變化的數據存進數據庫,可以隨時更新。當用戶請求頁面時,“小程序”根據用戶要求的頁面,涉及到動態數據的地方,利用SQL數據庫語言,從數據中讀取最新的數據,生成“完整”頁面,最后送給用戶,如股市行情曲線,就是由一個不斷刷新的小程序控制。
除了應用數據需要變化,用戶的一些狀態信息、屬性信息也需要臨時記錄(因為每個用戶都是不同的),而Web服務器本來是不記錄這些信息的,只管答復你的要求,“人一走茶就涼了”。后來Web技術為了“友好”互動,需要“記住”用戶的訪問信息,建立了一些“新”的通訊機制:?
Cookie:把一些用戶的參數,如帳戶名、口令等信息存放在客戶端的硬盤臨時文件中,用戶再次訪問這個網站時,參數也一同送給服務器,服務器就知道你就是上次來的那個“家伙”了?
Session:把用戶的一些參數信息存在服務器的內存中,或寫在服務器的硬盤文件中,用戶是不可見的,這樣用戶用不同電腦訪問時的貴賓待遇就同樣了,Web服務器總能記住你的“樣子”,一般情況下,Cookie與Session可以結合使用
Cookie在用戶端,一般采用加密方式存放就可以了;Session在服務器端,信息集中,被篡改問題將很嚴重,所以一般放在內存里管理,盡量不存放在硬盤上。
到此,我們清楚了,Web服務器上有兩種服務用數據要保證“清白”,一是頁面文件(.html、.xml等),這里包括動態程序文件(.php、.asp、.jsp等),一般存在Web服務器的特定目錄中,或是中間間服務器上;二是后臺的數據庫,如Oracle、SQLServer等,其中存放的數據的動態網頁生成時需要的,也有業務管理數據、經營數據。
還有一個問題應該提一下,就是瀏覽器給用戶電腦帶來的安全問題,因為Web可以對本地的進程、硬盤操作,可以把木馬、病毒放到你的電腦上來,Web架構中使用“沙漏”技術提供安全保護,就是限制頁面中“小程序”的本地讀寫權限,但限制畢竟不能不讓其“工作”,所以多數情況下在寫入時給出提示,讓你自己選擇,大家經常看見有進程在安裝程序進入你的電腦,但絕大多數人分不清是否應該,要么一概不許,造成很多事情做不了(很多下載與游戲就只能看著),要么“大膽”接受,大門敞開,聽天由命。這里主要分析服務器端的安全,客戶端的安全再行考慮。
共7頁: 1 234567
內容導航
第 1 頁:Web架構原理 第 2 頁:Web架構中的安全點分析
第 3 頁:網頁防篡改產品 第 4 頁:Web防火墻產品
第 5 頁:Web數據庫審計產品 第 6 頁:Web木馬檢查工具
第 7 頁:新的想法主機Web網關
三、Web架構中的安全點分析
從Web架構上可以看出,Web服務器是必經的大門,進了大門,還有很多服務器需要保護,如中間件服務器、數據庫服務器等。我們這里不考慮網絡內部人員的攻擊,只考慮從接入網(或互聯網)來的攻擊,入侵者入侵的通道有下面幾個:
1、服務器系統漏洞:Web服務器畢竟的一個通用的服務器,無論是Windows,還是Linux/Unix,都不可少的帶有系統自身的漏洞,通過這些漏洞入侵,可以獲得服務器的高級權限,當然對服務器上運行的Web服務就可以隨意控制了。除了OS的漏洞,還有Web服務軟件的漏洞,IIS也好,Tomcat也好,同樣需要不斷地打補丁。
2、Web服務應用漏洞:如果說系統級的軟件漏洞被關注的人太多了,那么Web應用軟件的漏洞數量上就更多了,因為Web服務開發簡單,開發的團隊參差不齊,并非都是“專業”的高手,編程不規范、安全意識不強、因為開發時間緊張而簡化測試等,應用程序的漏洞也同樣可以讓入侵者來去自如。最為常見的SQL注入,就是因為大多應用編程過程中產生的漏洞。
3、密碼暴力破解:漏洞會招來攻擊容易理解,但畢竟需要高超的技術水平,破解密碼卻十分有效,而且簡單易行。一般來說帳號信息容易獲得,剩下的就是猜測密碼了,由于使用復雜密碼是件麻煩而又“討厭”的事,設置容易記憶的密碼,是絕大多數用戶的選擇。大多Web服務是靠“帳號+密碼”的方式管理用戶帳戶,一旦破解密碼,尤其是遠程管理者的密碼,破壞程度難以想象,并且其攻擊難度比通過漏洞方式要簡單的多,而且不容易被發覺。在知名的網絡經濟案例中,通過密碼入侵的占了接近一半的比例。
入侵者進入Web系統,其動作行為目的性是十分明確的:
?
讓網站癱瘓:網站癱瘓是讓服務中斷。使用DDOS攻擊都可以讓網站癱瘓,但對Web服務內部沒有損害,而網絡入侵,可以刪除文件、停止進程,讓Web服務器徹底無法恢復。一般來說,這種做法是索要金錢或惡意競爭的要挾,也可能是顯示他的技術高超,拿你的網站被攻擊作為宣傳他的工具。
篡改網頁:修改網站的頁面顯示,是相對比較容易的,也是公眾容易知道的攻擊效果,對于攻擊者來說,沒有什么“實惠”好處,主要是炫耀自己,當然對于政府等網站,形象問題是很嚴重的。?
掛木馬:這種入侵對網站不產生產生直接破壞,而是對訪問網站的用戶進行攻擊,掛木馬的最大“實惠”是收集僵尸網絡的“肉雞”,一個知名網站的首頁傳播木馬的速度是爆炸式的。掛木馬容易被網站管理者發覺,XSS(跨站攻擊)是新的傾向。?
篡改數據:這是最危險的攻擊者,篡改網站數據庫,或者是動態頁面的控制程序,表面上沒有什么變化,很不容易發覺,是最常見的經濟利益入侵。數據篡改的危害是難以估量的,比如:購物網站可以修改你帳號金額或交易記錄,政府審批網站可以修改行政審批結果,企業ERP可以修改銷售定單或成交價格…有人說采用加密協議可以防止入侵,如https協議,這種說法是不準確的。首先Web服務是面向大眾的,不可以完全使用加密方式,在企業內部的Web服務上可以采用,但大家都是“內部人員”,加密方式是共知的;其次,加密可以防止別人“竊聽”,但入侵者可以冒充正規用戶,一樣可以入侵;再者,“中間人劫持”同樣可以竊聽加密的通訊。
共7頁: 12 3456[7]
內容導航
第 1 頁:Web架構原理 第 2 頁:Web架構中的安全點分析
第 3 頁:網頁防篡改產品 第 4 頁:Web防火墻產品
第 5 頁:Web數據庫審計產品 第 6 頁:Web木馬檢查工具
第 7 頁:新的想法主機Web網關
四、Web安全產品分析
圍繞Web服務的安全,產品可以說五花八門,最基本的是接入網入口的UTM網關,其中IPS功能與防DDOS功能是Web服務器系統級入侵的直接防護,但UTM是通用的邊界安全網關,非“專業的”Web入侵防護,一般作為安全的入門級防護,這里不細說。這里主要分析專為Web服務開發的安全產品,大概有下面幾方面的產品:
1、網頁防篡改產品:
防護未知攻擊是難的,但看好我自己的“家底”是相對容易的。因此,人們最先想到的就是網頁防篡改技術,保持自己的“純潔”,起碼對社會不會造成大危害。網頁被篡改產品出現在Web早期,幾經風雨,各廠家技術逐漸統一。網頁防篡改技術的基本原理:是對Web服務器上的頁面文件(目錄下文件)進行監控,發現有更改及時恢復。所以該產品實際是一個“修補”的工具,不能阻止攻擊者的篡改,就來個守株待兔,專人看守,減少損失是目標,防篡改屬于典型的被動防護技術。
網頁防篡改產品的部署:建立一臺單獨的管理服務器(Web服務器數量少可以省略),然后在每臺Web服務器上安裝一個Agent程序,負責該服務器的“網頁文件看護”,管理服務器是管理這些Agent看護策略的。
我們先分析一下“頁面文件看護”技術的變遷:
圖
a)第一代技術,把Web服務器主目錄下的文件做一個備份,用一個定時循環進程,把備份的文件與服務使用的文件逐個進行比較,不一樣的就用備份去覆蓋。網站更新發布時,則同時更新主目錄與備份。這種方法在網站大的情況下,網頁數量巨大,掃描一遍的時間太長,并且對Web服務器性能也是擠占。
b)第二代技術,采用了Hash算法,對主目錄下的每個文件做Hash,生成該文件的“指紋”,定時循環進程直接計算服務用文件的Hash指紋,然后進行指紋核對,指紋一般比較小,比較方便;指紋具有不可逆的特點,不怕仿制。
c)第三代技術,既然網站上頁面太多,三級以下頁面的訪問量,一般使用呈指數級下降,沒人訪問當然也不會被篡改,在這些頁面重復掃描是不劃算的。改變一下思路:對文件讀取應該沒有危險,危險的是對文件的改寫操作。若只對文件被改變時才做檢查,就可以大大降低對服務器資源的占用;具體做法是:開啟一個看守進程,對Web服務器的主目錄文件刪改操作進行監控,發現有此操作,判斷是否有合法身份,是否為授權的維護操作,否則阻斷其執行,文件不被改寫,也就起到了網頁防篡改的目的。這個技術也稱為事件觸發防篡改。
這種技術需要考驗對服務器操作系統的熟悉程度,但黑客也是高手,你的看護進程是用戶級的,黑客可以獲得高級權限,繞過你的“消息鉤子”,監控就成了擺設。
d)第四代技術,既然是比誰的進程權限高,讓操作系統干這個活兒,應該是最合適的,黑客再牛也不可能越過操作系統自己“干活”。因此,在Windows系統中,提供系統級的目錄文件修改看護進程(系統調用),防篡改產品直接調用就可以了,或者利用操作系統自身的文件安全保護功能,對主目錄文件進行鎖定(Windows對自己系統的重要文件也采取了類似的防篡改保護,避免病毒的侵擾),只允許網站發布系統(網頁升級更新)才可以修改文件,其他系統進程也不允許刪改。
這個方法應該說比較徹底,但可以看出,以后防篡改技術將成為操作系統的“專利”了,安全廠家實在是不愿意看到的。好在目前Linux還沒有支持。
網頁防篡改系統可以用于Web服務器,也可以用于中間件服務器,其目的都是保障網頁文件的完整性。
網頁防篡改對保護靜態頁面有很好的效果,但對于動態頁面就沒有辦法了,因為頁面是用戶訪問時生成的,內容與數據庫相關。很多SQL注入就是利用這個漏洞,可以繼續入侵Web服務器。
到目前為止,很多網頁防篡改產品中都提供了一個IPS軟件模塊,用來阻止來針對Web服務的SQL注入、XML注入攻擊。如國內廠家的WebGuard、iGuard、InforGuard等產品。
共7頁: 123 4567
內容導航
第 1 頁:Web架構原理 第 2 頁:Web架構中的安全點分析
第 3 頁:網頁防篡改產品 第 4 頁:Web防火墻產品
第 5 頁:Web數據庫審計產品 第 6 頁:Web木馬檢查工具
第 7 頁:新的想法主機Web網關
2、Web防火墻產品:
防止網頁被篡改是被動的,能阻斷入侵行為才是主動型的,前邊提到的IPS/UTM等產品是安全通用的網關,也有專門針對Web的硬件安全網關,國內的如:綠盟的Web防火墻,啟明的WIPS(webIPS),國外的有imperva的WAF(WebApplication Firewall)等。
圖
Web防火墻,主要是對Web特有入侵方式的加強防護,如DDOS防護、SQL注入、XML注入、XSS等。由于是應用層而非網絡層的入侵,從技術角度都應該稱為WebIPS,而不是Web防火墻。這里之所以叫做Web防火墻,是因為大家比較好理解,業界流行的稱呼而已。由于重點是防SQL注入,也有人稱為SQL防火墻。
Web防火墻產品部署在Web服務器的前面,串行接入,不僅在硬件性能上要求高,而且不能影響Web服務,所以HA功能、Bypass功能都是必須的,而且還要與負載均衡、WebCache等Web服務器前的常見的產品協調部署。
Web防火墻的主要技術的對入侵的檢測能力,尤其是對Web服務入侵的檢測,不同的廠家技術差別很大,不能以廠家特征庫大小來衡量,主要的還是看測試效果,從廠家技術特點來說,有下面幾種方式:?
代理服務:代理方式本身就是一種安全網關,基于會話的雙向代理,中斷了用戶與服務器的直接連接,適用于各種加密協議,這也是Web的Cache應用中最常用的技術。代理方式防止了入侵者的直接進入,對DDOS攻擊可以抑制,對非預料的“特別”行為也有所抑制。Netcontinuum(梭子魚)公司的WAF就是這種技術的代表。?
特征識別:識別出入侵者是防護他的前提。特征就是攻擊者的“指紋”,如緩沖區溢出時的Shellcode,SQL注入中常見的“真表達(1=1)”…應用信息沒有“標準”,但每個軟件、行為都有自己的特有屬性,病毒與蠕蟲的識別就采用此方式,麻煩的就是每種攻擊都自己的特征,數量比較龐大,多了也容易相象,誤報的可能性也大。雖然目前惡意代碼的特征指數型地增長,安全界聲言要淘汰此項技術,但目前應用層的識別還沒有特別好的方式。?
算法識別:特征識別有缺點,人們在尋求新的方式。對攻擊類型進行歸類,相同類的特征進行模式化,不再是單個特征的比較,算法識別有些類似模式識別,但對攻擊方式依賴性很強,如SQL注入、DDOS、XSS等都開發了相應的識別算法。算法識別是進行語義理解,而不是靠“長相”識別。?
模式匹配:是IDS中“古老”的技術,把攻擊行為歸納成一定模式,匹配后能確定是入侵行為,當然模式的定義有很深的學問,各廠家都隱秘為“專利”。協議模式是其中簡單的,是按標準協議的規程來定義模式;行為模式就復雜一些,
Web防火墻最大的挑戰是識別率,這并不是一個容易測量的指標,因為漏網進去的入侵者,并非都大肆張揚,比如給網頁掛馬,你很難察覺進來的是那一個,不知道當然也無法統計。對于已知的攻擊方式,可以談識別率;對未知的攻擊方式,你也只好等他自己“跳”出來才知道。
“自學習”功能的發展:
Imperva公司的WAF產品在提供入侵防護的同時,還提供了另外一個安全防護技術,就是對Web應用網頁的自動學習功能,由于不同的網站不可能一樣,所以網站自身頁面的特性沒有辦法提前定義,所以imperva采用設備自動預學習方式,從而總結出本網站的頁面的特點。具體的做法是這樣的:
通過一段時間的用戶訪問,WAF記錄了常用網頁的訪問模式,如一個網頁中有幾個輸入點,輸入的是什么類型的內容,通常情況的長度是多少…學習完畢后,定義出一個網頁的正常使用模式,當今后有用戶突破了這個模式,如一般的帳號輸入不應該有特殊字符,而XML注入時需要有“<”之類的語言標記,WAF就會根據你預先定義的方式預警或阻斷;再如密碼長度一般不超過20位,在SQL注入時加入代碼會很長,同樣突破了網頁訪問的模式。
網頁自學習技術,從Web服務自身的業務特定角度入手,不符合我的常規就是異常的,也是入侵檢測技術的一種,比起單純的Web防火墻來,不僅給入侵者“下通緝令”,而且建立進入自家的內部“規矩”,這一種雙向的控制,顯然比單向的要好。
Citrix公司收購了Teros后,推出的應用防火墻通過分析雙向流量來學習Web服務的用戶行為模式,建立了若干用戶行為模型,一但匹配上你是某個行為,就按該模式行為去衡量你的行為做法,有“越軌”企圖立即給予阻斷。這個自適應學習引擎與Imperva公司的網頁自學習有些類似,不過一個重點是學習網頁特點,一個是學習用戶訪問的規律。
從安全角度來說,網業自學習技術與入侵防護結合使用,是理想的選擇。
Web防火墻的未來出路:
有一種說法:因為Web服務器前的負載均衡設備、Web加速設備是不可缺少的,又是Web服務器群的出口必經之路,所以Web防火墻的功能有可能與這些設備合并。這種發展趨勢有些象網關UTM與單獨的FW、IPS、AV、VPN等設備進化發展一樣,UTM就是這些網關的集合產品。
但我有一個不同的看法:UTM部署于網絡的外連接出口,一般是互聯網出口,其網絡安全隔離作用,這里的帶寬價格昂貴,所以擁有大帶寬的用戶很有限,而Web服務器群是與網絡主交換機連接的,提供的是應用處理能力,要求的參數常是并發用戶的數量與在線用戶的數量,服務器一般都是千兆接口,目前的交換機就可達到幾十個TB的交換能力,在大流量鏈路上做多功能的安全產品,又是應用層的檢測,對產品的硬件壓力是巨大的,能達到“線性”流量的產品一定價格昂貴,因此Web防火墻的這種合并思路是有待商榷的。
共7頁: 1234 567
內容導航
第 1 頁:Web架構原理 第 2 頁:Web架構中的安全點分析
第 3 頁:網頁防篡改產品 第 4 頁:Web防火墻產品
第 5 頁:Web數據庫審計產品 第 6 頁:Web木馬檢查工具
第 7 頁:新的想法主機Web網關
3、Web數據庫審計產品:
有效恢復是安全保障的一個很重要的理念。我們提到動態網頁的防護難點是用數據庫現場生成的,因此對數據庫的修改就變得很關鍵,Web數據庫審計產品的目的就是對數據的所有操作進行記錄,當發現問題時,這些操作可以回溯。打個比方,你在游戲中的裝備被別人給“劃走”了,過了一周,你發現了,但一周中,游戲在繼續,你的裝備有很多新動態,合理與不合理變化交織在一起。此時,若管理人員知道確定是“某人”的篡改,就可以把他的動作進行“逆向”操作,你的游戲仍可以繼續,不受影響;若通過協商,需要恢復到篡改前的某個狀態,則在數據庫中先取得篡改前最近一次的備份數據,再使用數據庫的審計記錄,一直“操作”到篡改前的狀態,游戲就可以繼續了。這種技術與數據庫的實時同步備份技術是類似的。
當然數據庫的操作量很大,全部記錄需要很大的數據空間,所以,Web服務中重要數據庫操作才進行詳細審計,審計的目的是為了運營狀態的可恢復。常見的Web審計數據:?
帳戶操作:涉及權限的改變?
運營操作:涉及“財與物”的變化?
維護操作:涉及“特殊權限”人的動作
Web數據庫審計產品一般采用旁路部署,不影響數據庫的業務效率。若在業務流量不很大的情況下,可以采用Agent的軟件方式,但是不建議完全依靠數據庫自身的日志功能,因為,入侵者破壞后一定有“抹去痕跡”的步驟,痕跡一般就是系統本身的日志,單獨的審計機制保障了日志的完整性。
共7頁: 12345 6[7]
內容導航
第 1 頁:Web架構原理 第 2 頁:Web架構中的安全點分析
第 3 頁:網頁防篡改產品 第 4 頁:Web防火墻產品
第 5 頁:Web數據庫審計產品 第 6 頁:Web木馬檢查工具
第 7 頁:新的想法主機Web網關
4、Web木馬檢查工具:
Web安全不僅是維護網站自己安全,通過網站入侵用戶電腦的危害也十分棘手。網頁容易被掛上木馬,或被XSS攻擊利用,是否有工具可以對所有的網頁進行安全檢查呢?這里用到了“爬蟲”技術。
“爬蟲”技術最早是搜索引擎“發明”的,搜索網站放出N個小“爬蟲”,在世界各地的網站上循環掃描,收集網站上的新信息,建立供世界人民查找的數據庫,這樣大家就可以從Google、百度等搜索門戶上搜到你想要的任何東東。由于“爬蟲”來自網站外部,所以可以模擬用戶打開網站的實際效果,所以“爬蟲”很快被網站用來測試自身性能的“用戶體驗”工具,比如網頁打開的速度,用戶互動的等待時間等。作為用戶體驗工具,“爬蟲”很快也在企業內部網絡上開始流行,關注用戶感受,是08年開始IT領域內最流行的開發理念。
圖
所謂“爬蟲”就是這樣一些進程,按照一定的規則(橫向優先搜索、縱向優先搜索),將網站上所有的頁面打開一遍,(你知道很多網站的點擊率飛漲的原因了吧,是有無數的小爬蟲在工作…),在對網頁上關心的事情進行檢查。由于是以用戶的身份“瀏覽”網頁,所以沒有靜態與動態頁面的差別。Web木馬檢查工具就是基于這個原理開發的,不同于搜索爬蟲的是,在網頁檢查時,重點查看網頁是否被掛木馬,或被XSS利用。因為網站內的URL鏈接去向應該可追溯的,所以對XSS的檢查是很有效的。(“爬蟲”有些象網頁防篡改的文件檢查進程是吧,不過一個是在Web服務器的內部,另一個是在web服務器的外部)
Web木馬檢查工具一般作為安全服務檢查使用,也可以單獨部署一臺服務器,定期對網站檢查,發現問題及時報警。該工具目前市場上的產品化很少,一般不銷售,網上有些免費的類似軟件可以試用,隨著Web服務在企業內的應用增多,該工具應該象防病毒檢查工具一樣流行。
共7頁: 123456 7
內容導航
第 1 頁:Web架構原理 第 2 頁:Web架構中的安全點分析
第 3 頁:網頁防篡改產品 第 4 頁:Web防火墻產品
第 5 頁:Web數據庫審計產品 第 6 頁:Web木馬檢查工具
第 7 頁:新的想法主機Web網關
五、新的想法主機Web網關
Web服務是從互聯網技術發展起來,互聯網是“草根”文化的集大成者。在互聯網中,共享智慧是追求,簡捷實用是方法。
很常見的現象,Web服務的處理能力采用集群技術、云計算技術,都是利用物美價廉的PC服務器集成在一起,而不是選用“龐大”的巨型機。P2P技術、CDN技術都是網民降低Web服務中心壓力,而又能支持大用戶、實時流媒體業務的“互聯網Web技術”。但這也為Web業務的安全防護帶來問題網絡結構問題。為了提供處理能力,眾多的服務器“網”一樣地接在核心交換機上,在服務器前沒有匯聚點,web防火墻的部署就成了問題。
草根文化的特點就是系統避免過渡依賴某一個點(大家都是重要的)。Web服務不同于傳統銀行模式的集中處理,服務器是PCServer組成的群,由于加入與離開群,對群的服務沒有影響,只是服務處理能力的動態變化而已,所以服務器群中的每個服務器的處理能力相對不是那么寶貴,某個服務器的異常宕機也只是對個別的用戶服務有些“臨時影響”,在服務器中安裝Agent的“恐懼”,Web服務管理者應該是沒有的。
為了與“群”或“云”等Web新型網狀結構相適應,Web服務應用層的防護,可以與網頁防篡改合起來(尤其是OS提供底層的文件修改監控),我們給它一個新的名字主機Web網關(HostWebGateway)。
主機Web網關的部署與防篡改產品一樣,以Agent的形式嵌入到Web服務器中,不需要再關心Web服務的網絡結構,同時,也避免了在Web服務使用加密協議時,網關安全設備對應用層攻擊無能為力的弊端。
主機Web網關的主要功能:
?
Web應用入侵防護(SQL注入、XSS等)?
頁面文件防篡改? Web網頁自動學習功能?
Web用戶訪問行為的自學習功能
至于系統級的入侵防護與DDOS防護,放在UTM/IPS中解決,Web服務的網絡結構就靈活多了。主機Web網關采用軟件形式,沒有了串行設備的性能要求,部署的成本也會大大下降。