论文摘要:SQL Serve数据库如今已经被广泛应用与各个领域,本文以SQL server数据库为例,针对数据库应用,讨论了数据库的几种使用上的安全问题,如:审计功能、访问控制、身份验证、数据库加密、视图和存储过程机制、备份、恢复和并发控制机制等。提出了一些具体的解决建议。从而提高用户对数据库安全防范意识。
数据库通常都保存着企业,组织和政府部门的各种重要的信息,是电子商务,ERP系统和其他重要商业系统的基础。但由于大多数人对数据库安全的重视远远不及操作系统和网络安全,尽答有计算机系统中一级一级层层设置的安全措施的保护,数抓完整性和合法性存取依然会受到很多方而的安全威胁,如密码策略、系统后门、数据库操作、网络攻击以及木身的安全方案。而这些安全隐患,往往是因为我们忽略了使用数据库的安全措施引起的。这里我们主要讨论几种关于SQL server数据库的安全防范。
一、数据库安全的内涵
数据库安全是指保护数据库以防止非法用户的越权使用、窃取、更改或破坏数据。与其它计算机系统(如操作系统)的安全要求类似。数据库系统的安全要求可以归纳为保密性、完整性和可用性三个方面。
(一)保密性。保密性指保护数据库中的数据不被泄露和未授权的获取,一般要求对用户进行访问授权,同一组数据的不同用户可以被授予不同的存取权限.同时还要求能够对用户的访问操作行为进行跟踪和审计。
(二)完整性。数据库的完整性主要包括物理完整性和逻辑完整性。物理完整性是指保证数据库的数据不受物理故障(如硬件故障、突然断电等)的影响,并有可能在灾难性毁坏时重建和恢复数据库,逻辑完整性是指对数据库逻辑结构的保护,包括数据的语义完整性和操作完整性。前者是数据存取在逻辑上满足完整性约束,后者主要是指在并发事务中保证数据的一致性。
(三)可用性。数据库的可用性是指数据库不应拒绝授权用户对数据的正常操作,同时保证系统的运行效率并提供用户良好的人机交互。
二、SQLSERVER的数据库安全机制
(一)审计功能。数据库审计是监视和记录用户对数据库所施加的各种操作的机制。通过审计机制,可以自动记录用户操作,利用审计跟踪的信息,便于追查有关责任,也有助于发现系统安全方面的弱点和漏洞。对于MSSQLSERV—ER,它能提供较为完善的审计功能,用来监视各用户对数据库施加的动作。SOLSERVER审计方式具体分用户审计和系统审计2种,审计工作一般通过SQL事件探查器完成。启用用户审计功能时。审计系统可记下所有对该数据库表或视图进行访问的企图(包括成功的和不成功的)及每次操作的用户名、时间、操作代码等信息;系统审计由系统管理员进行,其审计内容主要是系统一级命令以及数据库客体的使用情况。 (二)访问控制。为了保证用户只能存取有权存取的数据,数据库系统要求对每个用户定义存取权限.在SQL Server中,用户是属于特定的数据库的,数据库用户与登录标识相关联,一个应用程序使用登录标识SQL Server登录成功后,能否对某个数据库进行操作,由该数据库中是否有相应的数据库用户来决定。SQL server可根据访问用户所属的用户类型,利用GRANT等语句来对数据库或数据库对象作权限的控制,能够较为完善地支持自主访问控制策略。SQL SERVER将用户分为四个类型:系统管理员用户、数据库所有者用户、数据库对象拥有者用户和普通用户,不同的用户具有不同的权限。
(三)身份验证。对用户的身份认证是数据库管理系统提供的最外层安全保护措施,其方法是用户进入系统时通过输入ID和密码,向系统出示自己的身份证明,系统通过严格的认证机制对用户身份进行审查核实,经过确认后才提供与之相对应的系统服务。SQL server支持windows NT认证模式和混合认证模式两种身份认证模式。
(四)数据库加密。数据库加密通过将数据用密文形式存储或传输的手段保证高敏感数据的安全,这样可以防止那些企图通过不正常途径存取数据的行为.SQL server也提供了加密的功能,以强化对分布式数据库的安全管理。SQL server使用名为pwdencrypt的哈希函数来加密隐藏用户存储在Master数据库中系统表内的密码,将已定义的视图、存储过程、触发器等都存储在系统表syscomments中,SQL Server提供了内部加密机制。
(五)视图和存储过程机制。视图是从一个或几个基本表(视图)中导出的虚表。在数据库系统中,可以利用视图通过授予用户操作特定视图的权限。限制用户访问表的特定行和特定列来保证数据的安全,防止用户对基本表的操作,实现行级或列级的安全性。在SQLserveF中.系统较好地支持了视图定义和访问机制。如何利用CREATEVIEW语句建立视图,利用SELECT子句进行视图访同等,通过建立视图以及将视图表中的不同记录分成不同的保密级别。甚至将同一字段中的不同值分成不同的保密级别,控制用户可以看到的数据,实现安全性。在SQL Server中存储过程是存储于数据库内部经过编译可执行的SQL语句,它可被其他应用程序调用执行。彻底隐藏了用户可用的数据和数据操作中涉及的某些保密处理。
三、结论
本文就SQL server数据库管理系统的安全机制进行了全面的探索和研究,数据库的安全是一个非常复杂的课题,它的实现不仅是纯粹的技术问题。而且还需要法律、管理、社会因素的配合,相信随着信息安全技术的持续改进、信息安全管理水平的不断提高和有关人员的防范意识的不断增强,数据库的安全将越来越有保障。
参考文献:
[1]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2006
[2]郑振楣,于戈,郭敏.分布数数据库[M].北京:科学出版社,1998