趙莉,梁靜
(西安工業大學 計算機科學與工程學院,陜西 西安 710032)
當今社會,網站被篡改的事件屢見不鮮,研究一套能解決網站被篡改的保護系統就顯得尤為迫切和重要。Web服務器核心內嵌技術比起時間輪詢技術、事件觸發技術而言,是一種能比較徹底解決網站被篡改的技術,因而被廣泛使用[1-3]。在Web服務器核心內嵌防篡改的系統中,文件的分布式發布和篡改后的即時恢復是系統必不可少的關鍵模塊。若采用文件完全復制的方法來發送以及保持兩個文件間的同步是相當低效的,這樣既浪費了時間,又浪費了系統的資源。本系統通過對發布服務器端和Web服務器端的設計,來實現對文件的發布與接收,系統可以將多個文件拼接成一個文件進行發送,只傳輸差異部分。
怎樣能夠將文件分布式的發送到多個Web服務器上,以及在發現網頁被篡改后,怎樣才能快速、準確地進行文件的恢復,這就是文中所要研究的主要問題。
Web服務器核心內嵌防篡改技術是指將篡改檢測模塊內嵌于Web服務器的內部。篡改檢測模塊使用密碼技術為所有網頁對象計算生成唯一性、不可逆轉和不可偽造的數字水印。公眾每次訪問網頁時,該模塊都會讀出當前網頁元素的內容并重新計算其數字水印,然后與之前存儲的數字水印進行對比。一旦發現網頁被非法修改,即兩次所比對的數字水印不同,就會馬上進行網頁的自動恢復,從而保證了非法網頁內容不被公眾所瀏覽到[4-5]。
本系統要研究的主要內容是:在Web服務器核心內嵌防篡改系統中,發布服務器要將文件分布式的傳輸到多個Web服務器上,即達到分布式發布的目的;一旦Web服務器上的文件被篡改,則能進行文件的自動恢復。
系統的具體實現過程是通過發布服務器端和Web服務器端來分別進行發布和接收操作的[6-7]。發布服務器是存在于內網中的一臺獨立的服務器,外部不能進行訪問。如圖1所示。
在本系統中,方案是用來標注一次具體的分發任務的,即為一次完整的任務。方案分類是用來劃分方案的父分類。一個方案可以被歸為某個方案分類下也可以單獨存在。
1)在發布服務器端分發任務的時候采用方案的方式統一進行管理,傳輸時也采用方案的編號進行數據傳輸。方案可以選擇本地的目錄規則下的文件。
2)文件水印文件是對服務器本地規則目錄中文件的文件描述編碼信息。

圖1 系統的實現過程Fig.1 System implementation process
文件水印文件采用目錄和文件一一對應的存放方式,文件中存放該對應文件的當前版本號,水印編碼,大小,日期等信息。分發時候,對該目錄文件打包成zip文件進行發送,增量發布時只對增量發布文件打包成zip文件進行發送。
3)每個方案在發布時都給定一個版本號,用來標注此次發布任務的版本的更新情況,稱大版本號。因此發布服務器端在與Web服務器端建立連接時首先要比較大版本號。如果大版本號相同,說明Web服務器端與發布服務器端的版本相同,不需要進行文件傳輸。如果版本號不同,則發布服務器分為整體更新和增量更新兩種方式進行文件傳輸。整體更新就是發布服務器會把文件水印文件關系全部發送給Web服務器,Web服務器與本地進行比較,獲取到更新文件列表,再向發布服務器獲取所要更新的文件。增量更新就是發布服務器在發布文件后只把發布文件的更新水印文件發送給Web服務器端,Web服務器進行本地比較后獲取更新列表,再向發布服務器獲取要更新的文件。
4)發布服務器啟動后會根據本地方案中配置的Web服務器進行連接,如果能連接到Web服務器,發布服務器會在內存中生成一個令牌對應Web服務器(該令牌的規則為,本地方案編號和該Web服務器端的服務器編號)。Web服務器端以后在訪問發布服務器時必須提供該令牌信息,驗證通過后才能進行其他操作,不然就是非法連接,不對其進行相應。發布服務器對Web服務器端的文件下載采用一個downlod.jsp方式進行。下載時,Web服務器端要對發布服務器發送令牌,密碼,文件名稱等信息進行身份的核對。如果Web服務器端失去連接而要再次連接發布服務器時,發布服務器會驗證該Web服務器端是否在本地配置的服務器列表中,如果在就生成新的令牌發送給Web服務器端,并且更新本地的令牌對應Web服務器。發布服務器會定時輪詢每個配置的Web服務器端,如果某個Web服務器端無響應,就把該Web服務器的狀態設置為無響應。
1)Web服務器端也需要配置自己的方案屬性用來接收發布服務器傳輸目錄的本地處理操作。Web服務器端在啟動后也會連接發布服務器,如果發布服務器端中有該Web服務器端的方案信息,發布服務器也會向Web服務器端發送大版本號,Web服務器端進行版本比較更新工作。如果發布服務器端中沒有Web服務器端的配置信息,不會向Web服務器端發送任何信息。
2)Web服務器端向發布服務器獲取文件時,采用http方式,多線程斷點續傳下載服務器文件。Web服務器端需要在配置文件中配置遠程服務器信息,用于在本地重新啟動時連接遠程服務器使用。
3)Web服務器端的方案分類規則同發布服務器端的方案分類規則。
系統在實現的過程中采用SOA架構,其所有的模塊均利用JSP+JavaBean的技術來實現,并且選用了MySQL數據庫來進行數據的處理。SOA架構是一種粗粒度、開放式、松耦合的服務結構。系統采用這這種分層設計體系可以使軟件產品變得更加彈性和靈活,且盡可能的與第3方軟件產品互補兼容。
系統的實現選用了MySQL數據庫。主要包括了服務器表、方案分類表、本地目錄規則表等。表1是服務器表,它是系統最主要的表,存放了當前服務器的類型、名稱、IP以及密碼等信息。表2是方案分類表,存放了分類名稱、父分類編號等信息。表3是本地目錄規則表,存放了規則的名稱、目錄、以及目錄的類型。

表1 服務器表Tab.1 Server table

表2 方案分類表Tab.2 Program classification table
Server類:服務器實體類,用于說明當前服務器的類型,是發布服務器還是Web服務器,當前服務器的狀態是連接正常還是未響應。

表3 本地目錄規則表Tab.3 Local directory rule table
Projectcategory類:方案分類實體類,定義方案的編號、分類名稱、以及父分類名稱。
DirectoryList類:本地目錄規則類,定義規則的編號、規則的名稱、目錄的類型,說明該目錄是發布服務器端的還是Web服務器端的。
Directorywatermark類:水印文件類,定義了水印文件的路徑、日期、大小、水印值、以及版本號等。
Poject類:方案實體類,定義了方案的編號、名稱、大版本號、方案的分類信息等。
ServerManage類:服務器管理類,用于獲取所有的服務器列表、根據方案編號獲取到該方案下的服務器列表、存儲更新一個服務器、根據服務器編號獲取服務器。
ProjectcategoryManage類:方案分類管理類,用于根據分類編號獲取所有方案以及存儲更新。
DirectoryListManage類:本地目錄規則管理類,用于根據方法編號獲取到本地目錄規則以及存儲更新。
ProjectManage類:方案管理類,用于初始化連接,發布服務器端與Web服務器端的連接、令牌的比較、存儲刪除一個方案、比較水印文件、獲取遠程服務器文件。
Manage類:管理類,用于獲取管理類實例、獲取到所有方案信息、執行生成發布服務器端與Web服務器端的方案。
發布服務器端的主界面如下:
每次分發任務時都建立一個相應的方案,不同方案的方案編號不同。方案的分類是用來劃分方案的父分類。方案可以屬于某個方案分類也可以沒有方案分類。分類下的方案可以在不同的分類下剪貼。Web服務器數量是每個方案下,發布服務器端所要發送給的Web服務器的數量。本地目錄數量是在每個方案下,發布服務器端要發送的文件的在本地中存在位置的數量。方案版本號是每次發布任務時給定的一個版本的編號,用來區分版本的新舊。

圖2 發布服務器端主界面Fig.2 Release the main interface of the server-side
Web服務器端的主界面如下:
Web服務器端的方案分類規則同發布服務器端的方案分類規則。
服務器方案編號是在這個方案下,發布服務器要進行傳輸的某幾個Web服務器中,此Web服務器的編號,用來區分發布任務的。

圖3 Web服務器端主界面Fig.3 Main interface of the Web server side
本系統最終能夠實現:將要發布的文件傳輸到多個Web服務器上,即達到分布式發布的目的,并且能夠保證頁面的完整性和保密性。當篡改檢測模塊使用數字水印技術檢測出了某Web服務器上的文件發生了改變 (也就是文件已經被篡改),則能對該Web服務器進行文件的即時恢復,即從原始庫同步復制到相應的Web服務器上,最終達到網頁防篡改的目的。
[1]高延玲,張玉清.網頁保護系統綜述[J].計算機工程,2004,30(10):6-9.
GAO Yan-ling,ZHANG Yu-qing.Web protection system review[J].Computer Engineering,2004,30(10):6-9.
[2]楊飛.網頁防篡改技術[J].計算機安全,2008(7):8-32.
YANG Fei.Web anti-tampering technology[J].Computer Security,2008(7):8-32.
[3]陳寧江,杜凡遠.網頁防篡改應用技術分析[J].計算機應用,2009,61(3):5-21.
CHEN Ning-jiang,DU Fan-yuan.Webpagetamper-proof application technology analysis[J].Computer Application,2009,61(3):5-21.
[4]楊敏.網頁防篡改安全研究[J].中國高新技術企業,2010(17):7-19.
YANG Min.Webpage tamper-proof security research[J].Chinese High-tech Enterprise,2010(17):7-19.
[5]牛少彰,江為強.網絡的攻擊與防范—理論與實踐[M].北京:北京郵電大學出版社,2006.
[6]陳繪絢.淺析數據備份技術的實現方法[J].中國科技信息,2005(18):7-22.
CHEN Hui-xuan.Analysis of data backup technology[J].China Science and Technology,2005(18):7-22.
[7]Ryutov T.Integrated aeeess control and intrusion deteetion forweb servers [C]//Proc ofthe 23rd International Confereneeon Distributed Computing Systems,2003:43-65.