资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
网页防篡改中分布式文件同步复制系统 赵莉,梁静(西安工业大学 计算机科学与工程学院,西安 710032)摘 要:(目的)为了解决 Web 服务器核心内嵌防篡改系统中,文件的分布式发布以及文件篡改后的即时恢复的问题。 (方法)本文基于 J2EE 技术架构以及 MVC(模型-视图- 控制)的软件开发模式,设计了一种分布式文件同步复制系统。 (结果)该系统能将文件分布式的发送到多个 Web 服务器上;当检测到某个 Web 服务器上的文件被篡改了,系统能迅速从原始库同步复制到相应的 Web 服务器上,以达到网页防篡改的目的。 (结论)系统通过对文件进行比对,只传输差异部分,提高了系统资源利用率。关键词:Web 核心内嵌;防篡改;分布式;文件同步复制Page tamper distributed File replication SystemZHAO Li ,LIANG Jing(Xian University of Technology Computer Science and Engineering, Xian 710032, China)Abstrct: (Purpose) Web server core embedded tamper-resistant system, in order to solve the distributed release of the document and file tampering after instant recovery. (Method) software development model based on J2EE technology architecture and the MVC (Model - View - Controller) design a distributed file replication system. (Results) file distributed of the system can send to multiple Web servers; detects that a Web server on the file has been tampered with, can quickly synchronize from the original library is copied to the appropriate Web server to reach pages anti-the purpose of tampering. (Conclusion) system through file transfers only the different parts, to improve the utilization of system resources.Keywords: Web core embedded; tamper-resistant; distributed; file replication(研究的重要意义)当今社会,网站被篡改的事件屡见不鲜,研究一套能解决网站被篡改的保护系统就显得尤为迫切和重要。Web服务器核心内嵌技术比起时间轮询技术、事件触发技术而言,是一种能比较彻底解决网站被篡改的技术,因而被广泛使用 1-3。在Web 服务器核心内嵌防篡改的系统中,文件的分布式发布和篡改后的即时恢复是系统必不可少的关键模块。 (前人研究的进展)若采用文件完全复制的方法来发送以及保持两个文件间的同步是相当低效的,这样既浪费了时间,又浪费了系统的资源。 (研究的切入点)本系统通过对发布服务器端和Web服务器端的设计,来实现对文件的发布与接收,系统可以将多个文件拼接成一个文件进行发送,只传输差异部分。(研究拟解决的关键问题)怎样能够将文件分布式的发送到多个 Web 服务器上,以及在发现网页被篡改后,怎样才能快速、准确的进行文件的恢复,这就是本文所要研究的主要问题。收稿日期:作者简介:赵莉(1972-),女,西安工业大学教授,主要研究方向为软件工程、数据仓库、数据挖掘。Email:zhaoli1998163.com 手机:13572580462;(作者简介中的手机和固定电话号码是为了方便编辑部和作者联络,排版前将删除)*通讯作者:梁静, 765847920qq.com (不必写电话号码)1 系统的设计Web 服务器核心内嵌防篡改技术是指将篡改检测模块内嵌于 Web 服务器的内部。篡改检测模块使用密码技术为所有网页对象计算生成唯一性、不可逆转和不可伪造的数字水印。公众每次访问网页时,该模块都会读出当前网页元素的内容并重新计算其数字水印,然后与之前存储的数字水印进行对比。一旦发现网页被非法修改,即两次所比对的数字水印不同,就会马上进行网页的自动恢复,从而保证了非法网页内容不被公众所浏览到 4-5。本系统要研究的主要内容是:在 Web 服务器核心内嵌防篡改系统中,发布服务器要将文件分布式的传输到多个 Web 服务器上,即达到分布式发布的目的;一旦 Web 服务器上的文件被篡改,则能进行文件的自动恢复。系统的具体实现过程是通过发布服务器端和 Web 服务器端来分别进行发布和接收操作的 6-7。发布服务器是存在于内网中的一立的服务器,外部不能进行访问。如下图所示:图 1 系统的实现过程Figure 1 the system implementation process1.1 发布服务器端的设计:在本系统中,方案是用来标注一次具体的分发任务的,即为一次完整的任务。方案分类是用来划分方案的父分类。一个方案可以被归为某个方案分类下也可以单独存在。 1)在发布服务器端分发任务的时候采用方案的方式统一进行管理,传输时也采用方案的编号进行数据传输。方案可以选择本地的目录规则下的文件。2)文件水印文件是对服务器本地规则目录中文件的文件描述编码信息。文件水印文件采用目录和文件一一对应的存放方式,文件中存放该对应文件的当前版本号,水印编码,大小,日期等信息。分发时候,对该目录文件打包成 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 架构是一种粗粒度、开放式、松耦合的服务结构。系统采用这这种分层设计体系可以使软件产品变得更加弹性和灵活,且尽可能的与第三方软件产品互补兼容。2.1 系统的数据结构系统的实现选用了 MySQL 数据库。主要包括了服务器表、方案分类表、本地目录规则表等。表 1 是服务器表,它是系统最主要的表,存放了当前服务器的类型、名称、IP 以及密码等信息。表 2 是方案分类表,存放了分类名称、父分类编号等信息。表 3 是本地目录规则表,存放了规则的名称、目录、以及目录的类型。表 1 服务器表Table1 Server table字段名 类型 长度 备注serverid INTEGER 主键type INTEGER 当前服务器类型name VARCHAR 100 服务器名称port INTEGER 端口ip VARCHAR 50 服务器 ippassword VARCHAR 50 密码desc VARCHAR 255 说明表 2 方案分类表Table2 Program classification table字段名 类型 长度 备注projectcategoryid INTEGER 主键name VARCHAR 1000 分类名称fid INTEGER 父分类编号order INTEGER 排序desc VARCHAR 50 描述表 3 本地目录规则表Table3 Local directory rule table字段名 类型 长度 备注directoryListid INTEGER 主键name VARCHAR 100 规则名称path VARCHAR 2000 目录type INTEGER 目录类型2.2 系统的主要类及其说明Server 类:服务器实体类,用于说明当前服务器的类型,是发布服务器还是 Web 服务器,当前服务器的状态是连接正常还是未响应。Projectcategory 类:方案分类实体类,定义方案的编号、分类名称、以及父分类名称。DirectoryList 类:本地目录规则类,定义规则的编号、规则的名称、目录的类型,说明该目录是发布服务器端的还是 Web 服务器端的。Directorywatermark 类:水印文件类,定义了水印文件的路径、日期、大小、水印值、以及版本号等。Poject 类:方案实体类,定义了方案的编号、名称、大版本号、方案的分类信息等。ServerManage 类:服务器管理类,用于获取所有的服务器列表、根据方案编号获取到该方案下的服务器列表、存储更新一个服务器、根据服务器编号获取服务器。ProjectcategoryManage 类:方案分类管理类,用于根据分类编号获取所有方案以及存储更新。DirectoryListManage 类:本地目录规则管理类,用于根据方法编号获取到本地目录规则以及存储更新。ProjectManage 类:方案管理类,用于初始化连接,发布服务器端与 Web 服务器端的连接、令牌的比较、存储删除一个方案、比较水印文件、获取
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号