文档库 最新最全的文档下载
当前位置:文档库 › 基于Web的应用程序数据库安全分析与设计

基于Web的应用程序数据库安全分析与设计

霪戮

基于'W eb的应用程序数据库安全分析与设计

施先山

(江西师范大学成人教育学院计算机科学与技术学院江西南昌330027)德患鼹攀

[摘要]随着计算机和网络技术的迅速发展,基于W e b的数据库应用越来越广,同时给数据库的维护和管理带来了很多安全问题。为提高W eb应用程序中的数据库安全性,从构建系统体系模型,建立登入机制,进行存储访问控制,审计追踪,数据库备份与恢复,使用视图机制和数据加密技术等方面分析了基于W eb的数据库应用系统的设计。

[关键词]W eb应用程序数据库安全分析与设计

中图分类号:T P3文献标识码:A文章编号:1671

随着计算机技术的飞速发展,社会信息化程度迅速提高,作为信息系统核心和基础的数据库技术得到越来越广泛的应用,甚至在计算机应用的各个领域,数据库都起着至关重要的作用。然而,在计算机网络技术和数据库技术的不断发展下,原来基于主机的数据库技术应用程序已不能满足人们的需求,因此,基于W eb的数据库应用越来越广,数据库与网络技术的优势得到进一步发挥。但是,这也使数据库应用系统面临很多安全问题。没有数据库的安全和保护,W eb应用程序的安全性将受到很大的影响,如:使保密性的数据被泄漏或未授权使用,受保护的数据被破坏和删除等,甚至会造成其它更严重的后果。因此,数据库的安全问题仍是目前应用中必须要解决的非常重要的问题。现就在设计中如何提高W eb应用程序中的数据库安全性作如下探讨:

一、构建安全的体系模型

许多程序设计人员认为只要把网络和操作系统的安全搞好了,那么所有的应用程序也就安全了。对于一个基于W eb的数据库应用系统来说,这显然是不对的。W e b数据库应用系统不但要求建立在安全的网络和操作系统平台上,而且系统本身与外界的信息交流要有一个安全的通信保障机制,也就要求系统自身要建立一个安全、可靠的体系结构模型。

目前,许多W eb应用使用一种称为三层体系结构的体系结构,这种体系结构在客户端和数据库服务器间增加了一个中间层。这个中间层根据应用的不同,有时称为应用服务器,有时称为w e b服务器。这个服务器充当的是一个中间人的角色,它保存了用于访问数据库服务器中数据的业务规则(过程或约束),另外在将一个客户请求转发给数据库服务器之前,这个中间服务器会先检查客户的凭证,以此增强数据库的安全性。客户包括G U I界面和另外一些应用专用的业务规则。中间服务器接收来自客户的请求,处理这些请求,并向数据库服务器发送数据库命令,然后作为一个通道将来自数据库服务器的(部分)经过处理的数据传递至客户,在此数据可能会进一步处理和过滤,并以G U I形式提供给客户。(三层客户/N务器体系结构,如下图)

任务:逻辑表示任务:业务规则任务:数据服务

采用这种三层的结构,设计应用系统时,在“应用程序”这层上,要采取措施确保系统能对一切不安全信息进行有效地处理和过滤,对不安全的操作进行阻断。采用这种技术可为系统提供更高级的数据安全性。

二、建立安全的登入机制

一个安全、可靠的登入机制,是确保数据库系统安全的一道防线。突破了这道防线,就很难有系统的安全性可言。当用户访问数据库时,首先通过数据库应用程序进入到数据库系统,这时数据库应用程序将用户提交的用户名与口令(口令密文)交给数据库管理系统进行认证,在确定其身份合法后,才允许用户进入下一步的操作。

为了保证口令的安全性,在提交的过程中,不要采用明文形式,而应该对口令进行加密,通过使用公共密钥和对称性加密提供非公开通信、身份验证等。这样来保护通信的安全性,避免客户和w eb服务器进行通信时被窃听等。例如在一个考勤系统中如果有用户想要查询出勤情况,那么他必须拥有数据库中的用户表中的一个用户名和该用户名的密码才能进入该系统的网页,进入后才能查询。

三、采取严密的存储访问控制

所谓访问控制,简单地说,就是对应保护的数据所进行的存取访问权限的确定、授予和实施。例如,针对一组数据库记录标识,通过访问控制,可以授权符合某一级别或者某一特征的用户进行的访问方式,即:读、写、查询、增加、删除、修改等操作的组合。数据的访问控制必须和用户的身份认证结合起来,才能形成有效的安全机制。

当要对数据库中的对象(表、视图、触发器、存储过程等)进行操作时,也必须通过数据库访问的身份认证,只有通过了数据库的身份认证才能对数据库对象进行实际的操作。通过身份认证的用户,只是拥有了进入应用系统和数据库的“凭证”,但用户在应用系统和数据库中可以进行什么样的操作,就要依靠“访问控制”和“存取控制”的权限分配和约束。其中“访问控制”与应用系统相关,决定当前用户可以对应用系统中哪些模块、模块中的哪些工作流程进行管理;“存取控制”与数据库相关联,决定当前用户可以对数据库中的哪些对象进行操作,以及可以进行何种操作。虽然“访问控制”和“存取控制”可以将用户的应用系统访问范围最小化,数据对象操作权限最低化,但是就数据库本身而言,利用这种视图、触发器、存储过程等方法来保护数据和对一些敏感数据的“加密存储”。

四、进行详细的审计追踪

目前还没有任何一种可行的方法来彻底解决合法用户在通过身份认证后滥用特权的问题,但审计追踪仍是保证数据库安全不可缺少的一项重要措施。

审计是一种监视措施,跟踪记录有关数据的访问活动。审计追踪把用户对数据库的所有操作自动记录下来,存放在审计日志中。记录的内容一般包括:操作类型(如修改、查询、删除),操作终端标识与操作者标识,操作日期和时间,操作所涉及到相关数据(如基本表、视图、记录、属性等),数据库的前象和后象,以及操作时所使用的计算机地址等。当数据库遭到破坏时,利用这些信息,可以进一步找出非法存取数据库的人、时间和内容等,进而可以对数据库进行恢复。

对于审计日志,应确保只有数据库管理员才能进行访问和管理。

五、及时备份与恢复数据库

计算机存储的信息可能会因操作人员的误操作遭到损坏,同样,因为计算机像其他设备一样,随时都可能发生故障,可能导致信息受到破坏。一旦发生意外情况,可能会造成数据库信息的丢失和破坏,严重的可能会使整个硬盘损坏。因此数据库系统必须采取必要、有效的防范措施,以保证发生故障时,可以恢复整个数据库。设计中要充分利用数据库系统管理系统的备份和恢复机制,建立一个更加可靠的备份和恢复机制,确保在系统出故障时,能够将整个数据库系统还原到故障发生前最近的正常状态。

数据备份(建立冗余数据)是指定期或不定期地对数据库进行复制。可以将数据复制到本地机制上,也可以复制到其他机器上,可采用数据转储或登录日志文件技术进行备份。恢复方法通常是可以利用备份技术、事务日志技术、镜像技术完成。对备份和恢复都可采用几种技术法综合使用,根具体情况取众之长,确保能及时、完整地备份库。

(下转第8页)

相关文档
相关文档 最新文档