网页防篡改软件的原理及其实现
网页防篡改软件的原理及其实现
江苏省如皋市教育局  张小刚
  要:当前网站被“黑”的现象屡屡发生,迫使各网站不断加强安全防护。比较常见的有IIS防火墙、网页防篡改保护软件,其中网页防篡改保护软件能保护网站的代码文件不被篡改,是得到一致认可的有效手段,然而,由于其技术门槛较高,自行研发往往十分困难。本文以一个自行开发的已经长期有效运行的项目为基础,试就其研发的主要原理及技术关键点进行讨论。
关键字:防篡改;网站保护;文件保护;网络攻击;网站安全
随着信息化建设的高速发展,各级各类机关、企事业单位等纷纷建立网站,以提供对外宣传和服务。然而,由于网络攻击的泛滥,各种网站被黑的情况屡屡发生,有的甚至被篡改为不良信息,使单位形象受到影响。这就对网站尤其是代码文件的有效保护提出了迫切需求。本文就网页防篡改软件的原理及其实现进行讨论,以为相关开发提供参考。
网站的安全受到多种因素的影响,常见的如操作系统漏洞、网站代码文件设计的漏洞等,都
会导致网站安全受到威胁,严重时甚至导致网站代码文件被修改,导致网站面目全非。对于一个网站,其需要保护的核心之一是相关代码文件等,一个常规网站的代码及配置文件等达到数百上千个是很正常的,如果通过管理员定期人工比对各文件的一致性也即是否被篡改,从而来进行防护,不但可操作性不强,也不能达到及时有效保护的效果。在这种情况下,我们可以通过网页防篡改软件的保护来实现关键文件的防护,结合操作系统安全和网站安全设置,即可使得网站安全性基本得到保证。
一、基本原理
一般一个较完整的系统应由如下部件组成:发布服务器程序、同步服务器程序、交互界面远程控制台,同时还可选择配置防篡改模块。
各程序主要实现功能如下:
三月再见四月你好发布服务器:安装在内网的独立服务器上,其远程访问一般限制由某些指定段IP机器进行,负责将合法的网页文件通过安全通信发送到Web服务器。它也是系统的管理中心。具体需要实现的必备功能如:
自动发现网站文件发布文件夹下被更新的文件;
传输本地修改的文件及对方请求的文件;
给客户的中秋祝福语更新上传合法文件水印信息;因人而异造句
记录上传、更新、篡改、恢复等日志;
发送报警邮件。
同步服务器:安装在Web服务器上,负责接收发布服务器发送来的合法的网页变化,并保存其数字水印,监视本机未经许可的文件变化并向发布服务器请求恢复变化的文件。具体需要实现的必备功能如:
循环监控被保护文件变化,对当前文件计算的水印与其保存的水印比对不一致的,向发布服务器请求重新传输;
自动更新接收文件水印信息。
远程控制台:运行在管理员桌面上,提供远程方式对发布服务器的管理及日志内容查看。
防篡改模块(IIS  Filter):内嵌在IIS Web服务器软件里,对所有的网页文件请求进行合法性检查,并对所有发送的网页进行数字水印比对。
内容保护过程:
对浏览器的网页浏览请求,防篡改模块检查其头部信息,检查请求的文件是否在监视列表中,在则将文件数字水印与保存在数据库中的有效水印比对,一致则允许访问,否则,拒绝访问。
电子信息工程专业就业方向同步服务器对监视到的非法文件变化,向发布服务器请求重新传输和恢复该文件。
文件恢复后,Web服务器将正确的网页内容发送给浏览器。
二、部分须注意的细节
发布和同步端程序作为服务程序运行在系统后台,需考虑到CPU占用率,一般在无文件收发时应保持在0,以免对机器性能产生影响。
发布端程序应考虑到:
1、传输及程序行为日志的保存及输出,以及供远程控制台程序实时查看的实现;
2、当发布端网站某文件删除时,同步服务器程序是否删除对应文件。此项应可由用户设置;
3、循环检索网站发布文件夹文件变化的间隔延时应可设置;
4、发布服务器与同步服务器通信认证及其控制语句的传输接收应采用加密钥匙串,密钥可由用户自行设置;
联想电脑型号5、网络通迅超时,在设置时间内,收发数据不能完成就断开连接;
6、忽略的、感兴趣的文件或文件夹可设置;
7项目经理年终总结、与同步端的连接应具备断开自动重连自动认证功能;
8、超大文件的有别于小文件的发送处理。
同步端程序应考虑到:
1、接收的文件应将其长度、水印信息记录到一可信数据库文件中,供主动比对用;
2、对循环比较发现的文件非法改变,应向发布端发送文件被改变并重新传输指令;
3、接收的文件的生成时间设置为原来的时间还是当前时间可设置;
4、超大文件如1000M以上的接收处理。
根据上述原理,我们研发成功了具有高性能、应用效果良好的网站/网页文件防篡改软件项目,该软件完全实现了市面上流行的防篡改软件的所有功能,同时,还可以作为网站文件全自动备份系统使用,经实际应用效果良好,实现了网站/网页文件的有效保护和网站文件全自动差异化备份功能,CPU占用率低(循环检测文件时正常为0,收发大文件时会在收发阶段自动提升到10~20) ,软件可从www.tsglrj/fcg.rar下载。代码在delphi7以上环境实现,用到IdTCPClientIdTCPServer等控件,限于篇幅,代码部分省略。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。