ASP 是微软推出的服务器端脚本环境, 它把脚本、 HTML、ActiveX 组件有机地结合在一起, 形成动态、 交互、 高效的 Web服务器应用程序. 是目前流行的 Web 应用程序开发工具之一,因其功能强大且简单易学、 易于维护、 灵活性大, 再加上微软的强有力支持, 深受网站开发人员的喜爱, 是很多单位门户网站或办公系统首选的开发技术. 但 ASP 只能工作于微软自己的操作系统平台和服务器软件之下, 存在不容忽视的安全漏洞, 黑客的攻击让人防不胜防, 网站被黑的事时有发生, 这既给单位造成了一定的经济损失, 也产生了极坏的影响. 为了将影响降到最低, 设计与完善网站系统安全显得非常必要, 试图从 ASP 网站被攻击常用方法进行分析, 对网站管理系统进行分析与设计.
1 常用攻击方法
随着信息技术的不断发展, 黑客攻击方法和手段也在不断翻新, 给网站管理人员也带来了沉重的工作负担, 在网站管理与维护过程中常会顾此失彼, 甚至给黑客留下可乘之机.
了解黑客攻击网站常用的方法, 将有助于建立全面有效的网站信息安全体系. 现有 ASP 网站常用配置方案是 IIS+ASP+SQL或 IIS+ASP+Access, 综合分析被攻击网站, 黑客攻击方法主要有两种. 一种是对数据库的攻击, 最简单方法是下载 Access数据库, 获取用户后台登录信息, 或利用 SQL 注入攻击检测数据库的漏洞, 猜测数据库字段名称或字段值, 对 SQL 数据库进行远程登录或获取个人登录信息. 随着网站安全管理人员安全防范意识逐渐增强, 及时对漏洞进行修复, 这种方式已很少见. 另一种是利用系统或上传文件程序漏洞上传木马, 并调用服务器端组件对服务器进行控制, 对页面或数据库文件进行非法篡改. 从众多攻击网站的案例来看, 对网站主页或某些二级页面的更改占了很大的比例. 目前通用的做法是对数据加密、安装防火墙、 杀毒软件等安全设置, 但通过对木马的伪装很易通过上传验证. 最为有效防治方法是改变文件夹写入权限, 限制上传文件或对数据库添加信息, 这将导致网站内容无法更新, 显然是不可取的. 为了解决这一问题, ASP 网站安全管理系统就是监测网站文件的内容, 实现系统安全管理的目标.
2 设计与实现
2.1 系统工作原理
要防止黑客入侵, 仅靠防火墙、 入侵检测系统是远远不够的, 这些技术只是从防御的角度来防止入侵, 并不能从根本上解决问题. ASP 网站安全管理系统是当防火墙等安全措施失败后, 对安全防御系统的最后一道防线, 是文件被非法篡改后 "亡羊补牢" 的有效措施, 将损失尽可能降到最低.
其工作原理是 ASP 网站部署完成后, 将其备份到不同的盘符目录下, 启动管理系统监测指定的文件或文件夹, 不间断将文件和数据库保存信息相比较. 当内容发生变化时, 及时保存防火墙等安全日志记录, 并向网站管理人员发出告警, 启动恢复系统, 将备份文件复制至网站目录下. 为安全防御系统提供一种及时的主动响应, 并为网站内容实行 24 小时的实时监控. 通过简洁的管理界面, 对网站的管理变理轻松自在,杜绝了由于网站管理失误而带来的网站安全隐患.
ASP 动 态网站工作原理是当接收到请求后 , 根据请求从数据库中查找内容并返回客户端, 对网站内容正常更新一般只是数据库和上传目录会发生变化, 脚本文件内容不会发生变化, 即是脚本代码不会变化. 通过上述分析可知, 黑客为了达到攻击的目的, 只能是修改脚本文件或修改数据库的内容.
系统运行过程中, 就可比较脚本文件和数据库文件的属性, 如文件大小、 创建修改时间等. 也可对文件的内容进行全文对比, 可对文件夹中文件数量的多少进行对比, 如果上述任一发生变化, 即可视为网站受到攻击, 并作出正确的处理.
2.2 系统组成
系统主要由系统监测、 系统备份和恢复两部分组成, 系统监测主要包括监测设置和系统监测, 系统备份和恢复主要是当网站受到攻击时作出的处理. 为了降低运行成本和快速恢复, 本系统设计为单机并在 ASP 服务器上运行. 现对文件检测主要有文件属性和文件内容两种方式, 文件属性检测比较常用的是比较文件的大小等属性, 虽然这种方法比较简单,但当黑客通过精心设计, 将替换文件属性和原文件属性设置完全一样时, 系统就无法及时检测出来. 而文件内容检测,并对整站文件或文件夹进行不间断扫描检测, 会影响 ASP 服务器的性能.
为了解决上述问题, 在本系统中将网站文件按是否易受攻击分为两个等级, 不同的等级采用不同的监测方式, 如重点等级为网站需重点监测的文件, 不论监测时间间隔长短都应比较文件的内容, 一般等级文件将文件属性和文件内容检测混合进行, 如间隔 5 分钟检测文件属性, 间隔 10 分钟检测文件内容, 系统可由用户对文件进行等级划分. 并可由用户将不同等级的文件的扫描检测时间间隔设置为不一样, 等级高的时间间隔可以设置较短, 对等级较低的可将间隔设置较长, 这可减轻系统的负担, 满足用户不同的需求. 同时, 为了提高系统的性能, 减少系统的开销, 文件内容比较在本系统中采用文件的数字签名比较方式, 如 MD5 签名算法, 针对字符串或文件生成 32 位字符的签名比较两个文件或字符串只需比较 MD5 签名就行了, 能迅速比较出两个字符串或文件的异同. 由于数字签名的不可伪造性, 确保文件内容的相同.
系统的运行是保障网站的安全, 但正常的网站内容更新和维护也会视为受到攻击. 为了进行区别, 在本系统中当检测到文件内容发生变化时, 不是立即恢复网站内容, 而是对其他条件进行检测. 如在网站数据库表中保存某一个值, 系统通过网页页面读取其值并解密, 如果正确就将整站文件进行备份, 否则就视为网站受到攻击, 系统就直接将整站文件进行删除, 并复制备份目录下文件至站点目录中, 系统监测过程如图 1 所示.在系统设计中将网站的备份放在 Web 虚拟目录之外的其它盘符目录. 但由于系统软件与 ASP 服务器运行在同一台服务器上, 如果入侵者能进入到虚拟目录以外的地方, 则可能对备份也有破坏, 这要正确配置系统, 关闭除 Web 之外不必要的服务和端口, 并安装防火墙对信息加以过滤.
2.3 系统模块
设计并实现的网站安全保护系统, 可检测出网页文件是否发生变化, 必要时可对网站进行恢复. 本系统主要由登录模块、 监控设置模块、 监测模块、 系统备份和恢复模块组成.
(1) 系 统登录模块 , 负责对操作人员的身份验证 , 只有输入正确的账号和密码才能启动或退出本系统. 为了防止黑客对密码的破解, 须对密码进行加密处理保存到数据库中.同时, 为防止黑客添加新账号和密码进入系统, 可将账号作为数据表的主键, 设置不能添加多个账号等限制.
(2) 监控设置模块, 主要是对系统监测的页面进行管理 ,包括添加、 删除和修改. 在添加页面时, 通过界面打开网站虚拟目录位置, 选择对应文件即可对其进行操作, 主要包括设置监测扫描的时间间隔、 扫描等级和文件大小、 修改时间、数字签名等信息, 并将这些信息保存到数据库中. 当对网页进行更新时, 可先停止监测检查, 通过修改页面对文件信息进行更新.
(3) 监 测模块 , 主要用于对各文件或文件夹进行扫描比对. 根据系统设计, 文件监测主要分为两个等级, 可放置多个定时器, 较低等级监测短时间内比较文件的大小、 文件属性, 较长时间间隔比较一次文件内容, 高等级文件比较文件的数字签名. 若发现文件有变化, 就启动备份和恢复模块对网站进行恢复, 为了方便管理, 在界面中设置启动和停止监测按钮.
(4) 备 份和恢复模块 , 用于当网站文件发生变化时 , 用备份文件覆盖网站原文件, 在网站文件有更新时, 使用系统将网站文件备份到指定的目录. 在恢复网站文件时, 为了达到彻底清除黑客攻击影响的目的, 采用将原网站文件进行删除, 再将备份文件复制至网站虚拟目录下的方法. 当发生恢复时, 进行日志登记, 并发出警报声提醒网站管理人员.
3 结语
计算机网络的发展给人们带来了极大的方便, 也因黑客的存在扰乱了正常的网络秩序. 在网站安全管理中, 仅靠防火墙等安全设施是无法保证网站安全的, 设计与完善网站内容防护系统是非常有必要的. 随着黑客攻击手段不断翻新,应对系统防御方法不断升级, 如实行网站服务器和系统监测分离、 备份目录不在网站服务器中等. 只要计算机系统存在安全漏洞, 计算机系统就有可能被黑客攻破. 因此防范黑客攻击, 保障计算机系统安全是一项任重道远的工作.
参考文献
[1] 高延玲, 张玉清, 等. 网页保护系统综述 [J] . 计 算机工程, 2004, (10).
[2] 赵井文. Visual basic 程序设计案例教程. 北京: 北京交通大学出版社, 2007.
[3] 黄金波. ASP 动态网页设计实用教程. 北京: 北京交通大学出版社, 2009.
[4] 张建化. Web 页面防篡改及防重放机制 [J] . 计算机应用,2006, (02).
[5] 王险峰 , 王静滨. 丢失数据恢复系统的设计与实现 [J] .计算机工程与设计, 2004, (11).