供水行业营业管理系统数据库安全技术研究

2010-04-03 14:23:12周红志冯莹莹阜阳师范学院信息工程学院安徽阜阳236041
长江大学学报(自科版) 2010年3期
关键词:数据库安全账号密码

周红志,冯莹莹 (阜阳师范学院信息工程学院,安徽阜阳236041)

随着计算机技术的飞速发展,数据库已广泛地深入到了各个领域,但随之而来的数据安全问题也越来越凸显出来。数据库中大量数据的集中存放和管理,日渐成为非法入侵者攻击的焦点,数据库的安全越来越引起人们的高度重视。数据库安全是指保护数据中的数据不被非法访问和非法更新,并防止数据的泄露和丢失,其主要包括以下几方面:①数据的完整性,即存储在数据库的数据应该保持正确性、一致性和相容性;②数据的可用性,即当系统授权的合法用户申请存取有权存取的数据时,安全系统应该尽量减小对合法操作的影响;③数据的保密性,即安全系统应该提供一个高强度的加密方案,对数据库中的机密数据进行加密处理[1]。对此,笔者针对供水行业营业管理系统的安全性进行了研究。

1 数据库安全策略

1.1 使用安全的账号、密码策略

对于SQL Server的 “sa”账号应该设置一个复杂的密码,并且尽可能不在数据库应用中使用 “sa”账号。安装SQLServer2000的时候,如果是使用混合认证模式,那么就需要输入 “sa”的密码,除非确认必须使用空密码。

由于SQL Server不能更改 “sa”用户名称,也不能删除这个超级用户,所以应该新建立一个拥有与 “sa”一样权限的超级用户来管理数据库。SQL Server的认证模式有W indow s身份认证和混合身份认证2种。如果不需要以操作系统管理员通过操作系统登录来操作数据库,应该在账号管理中把系统账号 “Adm inistrators”删除,然后根据实际需要分配账号,并赋予能够满足应用要求所需要的权限。

1.2 存储过程的应用

存储过程是由SQL语句和一些控制流语句组成并封装起来的。经过编译和优化后存储在SQLServer数据库中,客户端应用程序通过引用其名称进行调用。使用存储过程可以优化系统设计,其优点主要表现在:①功能全面、接口灵活。存储过程可以接受多个参数,也可以返回多个值,增加了SQL语句的功能和灵活性。②提高程序的执行效率。由于存储过程预先进行了优化、编译,并且在第一次执行后,由于SQLServer保存在高速缓存中,在接下来的调用中就可以直接从高速缓存中执行,从而节省了执行所需要的时间。③减少网络数据传输量。由于存储过程的处理是在数据库服务器上,客户端只需将参数传送到数据库服务器上对存储过程进行调用,服务器处理后,也只需将结果传送回客户端,使客户端和数据库服务器之间的通信量减少到最小,大大降低了网络的负荷。④方便维护和功能扩展。存储过程只需编写一次就可从系统的不同部分调用,即使出现逻辑错误或要进行业务逻辑修改时,也只需要更改一次,而不需更改调用该存储过程的各个部分,可保证数据的安全性和完整性,同时,便于维护和功能的扩展。

正式基于存储过程的上述优点,在设计供水行业营业管理系统过程中,将一些公用、可变的业务逻辑采用存储过程进行编写,放在服务器端提供各个模块远程调用,充分利用存储过程的优点,有效地提高了系统的整体性能和安全性能。

1.3 用户登录认证

对于供水行业营业管理系统来说,数据的安全与保密是使系统正常运行的基本保证。必须采取切实有效的措施来保证系统数据的安全与保密,对系统为数众多的操作人员进行有效的管理就是其中重要措施之一。登录模块的目的是防止非法用户进入系统引起数据的泄密、破坏,另外,可根据工作人员的职责范围,控制其在系统中的操作范围。

2 数据库安全设计

2.1 用户管理工作流程

用户管理主要是系统管理者的任务,管理者要为每个系统操作者建立记录、设置密码,以防止非法用户进入系统,并对每种工作授权,确定某种工作可以进入哪些工作模块。在系统中建立了记录的操作人员,可凭正确的口令进入系统,并进行工作权限内的工作。

从以上可以看出,对用户登录模块的实现包括对2个数据库 (工作人员数据库和工作权限数据库)的访问。在系统实际开发中,笔者利用3张数据表来管理,即PipeU serRole表存放着用户编号和其对应的角色;emp loyeeinfo表存放着每个操作人员对应的基本信息 (其中密码用加密后字符串保存);而PipeM enuRole表存放着对应角色所具有的访问各项菜单功能的权限。当用户登录时,首先通过访问PipeUserRole表和emp loyeeinfo表判断该用户名是否存在,并验证密码的正确性,然后再通过访问PipeM enuRole表以确定该用户所能看到的具体的工作菜单范围。

2.2 用户权限管理模块实现

该模块为系统管理者提供了对每个系统操作者建立记录、设置密码、分配角色和分配工作权限等操作的方便。该模块主要用到VB类库C lassUserApi,该类是基于用VC实现的USERAPI动态库,USERAPI动态库实现了系统管理者所用到的所有操作。

系统管理者登陆界面填入正确的服务器名、数据库名和密码后进入用户权限管理模块,在用户权限管理模块可以看到对应的列出了所有该系统的使用者、角色和部门,系统管理者可以再相应地添加新的用户、角色和部门,为新添加的用户设置密码并分配相应的角色。当工作人员登陆系统后就会根据所分配的权限拥有相应的模块,并进行各自职责之内的工作。

2.3 用户登陆模块实现

在登陆页面用户输入账号和口令登录系统,系统会在数据库中匹配该用户的账号和口令,如果账号和口令正确,将继续检索该用户所拥有的权限,并将最终结果反馈在子系统模块栏目。登录成功后,在登录后的界面中将出现其权限范围所能见的子系统模块,并且可以通过点击在该界面中列出的子系统模块,继续进入相应的子系统模块。

3 结 语

笔者针对数据库的安全性设计已在某自来水公司的营业管理系统中得到应用。通过使用数据库的安全性技术,系统的管理决策功能得到进一步增强,安全性能得到进一步的提高。

[1]杨泉.数据库安全问题的探讨 [J].科技信息,2008,(21):18~20.

[2]丁宝康,董健全.数据库实用教程 [M].北京:清华大学出版社,2003.

猜你喜欢
数据库安全账号密码
密码里的爱
保健医苑(2022年4期)2022-05-05 06:11:30
彤彤的聊天账号
施诈计骗走游戏账号
派出所工作(2021年4期)2021-05-17 15:19:10
密码疲劳
英语文摘(2020年3期)2020-08-13 07:27:02
管理信息系统中数据库安全实现方法
活力(2019年21期)2019-04-01 12:16:50
浅谈高速公路数据库安全审计
密码藏在何处
Google Play游戏取消账号绑定没有Google账号也能玩
CHIP新电脑(2016年3期)2016-03-10 14:52:50
夺命密码
高校数据库安全技术教学实践探索
电子测试(2015年22期)2015-03-25 00:45:59