网页防篡改中分布式文件同步复制系统
2012-07-13赵莉梁静
赵莉,梁静
(西安工业大学 计算机科学与工程学院,陕西 西安 710032)
当今社会,网站被篡改的事件屡见不鲜,研究一套能解决网站被篡改的保护系统就显得尤为迫切和重要。Web服务器核心内嵌技术比起时间轮询技术、事件触发技术而言,是一种能比较彻底解决网站被篡改的技术,因而被广泛使用[1-3]。在Web服务器核心内嵌防篡改的系统中,文件的分布式发布和篡改后的即时恢复是系统必不可少的关键模块。若采用文件完全复制的方法来发送以及保持两个文件间的同步是相当低效的,这样既浪费了时间,又浪费了系统的资源。本系统通过对发布服务器端和Web服务器端的设计,来实现对文件的发布与接收,系统可以将多个文件拼接成一个文件进行发送,只传输差异部分。
怎样能够将文件分布式的发送到多个Web服务器上,以及在发现网页被篡改后,怎样才能快速、准确地进行文件的恢复,这就是文中所要研究的主要问题。
1 系统的设计
Web服务器核心内嵌防篡改技术是指将篡改检测模块内嵌于Web服务器的内部。篡改检测模块使用密码技术为所有网页对象计算生成唯一性、不可逆转和不可伪造的数字水印。公众每次访问网页时,该模块都会读出当前网页元素的内容并重新计算其数字水印,然后与之前存储的数字水印进行对比。一旦发现网页被非法修改,即两次所比对的数字水印不同,就会马上进行网页的自动恢复,从而保证了非法网页内容不被公众所浏览到[4-5]。
本系统要研究的主要内容是:在Web服务器核心内嵌防篡改系统中,发布服务器要将文件分布式的传输到多个Web服务器上,即达到分布式发布的目的;一旦Web服务器上的文件被篡改,则能进行文件的自动恢复。
系统的具体实现过程是通过发布服务器端和Web服务器端来分别进行发布和接收操作的[6-7]。发布服务器是存在于内网中的一台独立的服务器,外部不能进行访问。如图1所示。
1.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.2 Web服务器端的设计
1)Web服务器端也需要配置自己的方案属性用来接收发布服务器传输目录的本地处理操作。Web服务器端在启动后也会连接发布服务器,如果发布服务器端中有该Web服务器端的方案信息,发布服务器也会向Web服务器端发送大版本号,Web服务器端进行版本比较更新工作。如果发布服务器端中没有Web服务器端的配置信息,不会向Web服务器端发送任何信息。
2)Web服务器端向发布服务器获取文件时,采用http方式,多线程断点续传下载服务器文件。Web服务器端需要在配置文件中配置远程服务器信息,用于在本地重新启动时连接远程服务器使用。
3)Web服务器端的方案分类规则同发布服务器端的方案分类规则。
2 系统的实现
系统在实现的过程中采用SOA架构,其所有的模块均利用JSP+JavaBean的技术来实现,并且选用了MySQL数据库来进行数据的处理。SOA架构是一种粗粒度、开放式、松耦合的服务结构。系统采用这这种分层设计体系可以使软件产品变得更加弹性和灵活,且尽可能的与第3方软件产品互补兼容。
2.1 系统的数据结构
系统的实现选用了MySQL数据库。主要包括了服务器表、方案分类表、本地目录规则表等。表1是服务器表,它是系统最主要的表,存放了当前服务器的类型、名称、IP以及密码等信息。表2是方案分类表,存放了分类名称、父分类编号等信息。表3是本地目录规则表,存放了规则的名称、目录、以及目录的类型。
表1 服务器表Tab.1 Server table
表2 方案分类表Tab.2 Program classification table
2.2 系统的主要类及其说明
Server类:服务器实体类,用于说明当前服务器的类型,是发布服务器还是Web服务器,当前服务器的状态是连接正常还是未响应。
表3 本地目录规则表Tab.3 Local directory rule table
Projectcategory类:方案分类实体类,定义方案的编号、分类名称、以及父分类名称。
DirectoryList类:本地目录规则类,定义规则的编号、规则的名称、目录的类型,说明该目录是发布服务器端的还是Web服务器端的。
Directorywatermark类:水印文件类,定义了水印文件的路径、日期、大小、水印值、以及版本号等。
Poject类:方案实体类,定义了方案的编号、名称、大版本号、方案的分类信息等。
ServerManage类:服务器管理类,用于获取所有的服务器列表、根据方案编号获取到该方案下的服务器列表、存储更新一个服务器、根据服务器编号获取服务器。
ProjectcategoryManage类:方案分类管理类,用于根据分类编号获取所有方案以及存储更新。
DirectoryListManage类:本地目录规则管理类,用于根据方法编号获取到本地目录规则以及存储更新。
ProjectManage类:方案管理类,用于初始化连接,发布服务器端与Web服务器端的连接、令牌的比较、存储删除一个方案、比较水印文件、获取远程服务器文件。
Manage类:管理类,用于获取管理类实例、获取到所有方案信息、执行生成发布服务器端与Web服务器端的方案。
2.3 系统实现的主界面
发布服务器端的主界面如下:
每次分发任务时都建立一个相应的方案,不同方案的方案编号不同。方案的分类是用来划分方案的父分类。方案可以属于某个方案分类也可以没有方案分类。分类下的方案可以在不同的分类下剪贴。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
3 结 论
本系统最终能够实现:将要发布的文件传输到多个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.