计算机数据库管理论文范文
所属栏目:计算机应用论文
发布时间:2014-01-21 16:20:54 更新时间:2014-01-21 16:01:45
【摘要】SQLServer是一种数据库管理系统,它是为了分布式客户机/服务器所设计的,是一种高性能的数据库管理系统。由于SQLServer的应用非常广泛,如何保证SQLServer数据库应用程序的安全问题成为一个技术研究方向。本文深入浅出地介绍SQLServer数据库,分析SQLServer数据库的安全机制,介绍SQLServer有哪些安全设置及其如何部署配置。
【关键词】SQLServer,数据库,安全机制
1引言
数据库是ERP系统、电子商务系统及其重要商业系统的基础。所有上层的界面展现都离不开数据库。数据库一旦遭到破坏与安全攻击,对整个外围系统的使用影响是巨大的,甚至是毁灭性的。SQLServer作为最受欢迎的数据库系统之一,自己有层层的安全保护机制来保护数据库中数据的安全。
2简介
2.1SQLServer数据库
数据库,即电子化的文件柜。它是各种电子文件的存储区,将各种数据以一定的方式存储在一起,并提供外部访问的接口,如增加、删除、更新、查看等操作。
SQLServer数据库是微软公司的一款关系型数据库系统。它专门为分布式客户机/服务器计算所设计的一个出众的数据库管理平台。它的优势是可扩展性,高性能管理,支持堆成多处理结构,ODBC和存储过程,强壮的事物处理能力,支持SQL语句。其中SQL语句可以执行如从数据库中提取数据,更新、删除数据库中的数据等等各种各样的操作,可以用来完成几乎所有的数据库操作。
2.2数据库安全
本文主要是针对数据而言的,是指保护数据库防止黑客入侵数据库盗取资料、防止对数据库信息进行非法更改、破坏数据。对于数据库系统的安全主要要求有三点:数据完整性、数据保密性和数据可用性。如图1所示。
数据完整性即数据逻辑完整性,包括数据的操作完整性和语义完整性。操作完整性指的是在并发事务中能够保证数据的一致性。语义完整性指的是存取操作时保证逻辑上的完整性约束。
数据保密性要求对访问用户进行安全授权,不同权限的用户访问数据库的操作等级不同。数据保密性还会防止数据库中的数据不被非法获取及其破坏,保护数据只能被授权用户进行正常访问,同时还会对授权的用户进行跟踪和监察。
数据可用性指的是它不应该拒绝安全授权用户的正常访问。
3数据库面临的安全威胁
影响数据库安全的威胁有很多,如操作系统本身被非法侵入也会导致数据库存在安全隐患。本文重点分析数据库本身存在的安全威胁,不考虑操作系统及其硬件损坏威胁。数据库面临的安全威胁主要有身份验证方案薄弱、拒绝服务DOS和数据库通信协议漏洞。如图2所示。
身份验证方案薄弱。如果登录数据库的身份验证方案比较薄弱,则黑客可以很多方式获取到授权凭证,如通过枚举用户名/密码的方式猜测到用户授权,进行正常的数据库访问。
拒绝服务DOS指的是正常用户登录服务器后,服务器提示拒绝访问,使得数据库不具备数据可用性。常见的拒绝服务攻击技巧包括资源过载、数据破坏、网络泛洪等,它是一个比较宽泛的攻击种类,很多都与数据库本身的漏洞有关。
数据库通信协议漏洞。数据库本身存在很多安全漏洞,随着各个公司对自身数据库产品不断打补丁的方式,弥补了很多数据库安全漏洞。很多漏洞与协议有关,由于数据库自身审计机制不会审计关于协议的操作,所以协议漏洞应该更加引起数据库管理员的重视。如SQLSlammer2蠕虫漏洞就是利用了SQLServer协议中的漏洞实施拒绝服务攻击。
其他威胁。除了上述的主要威胁外,数据库还面临很多其他威胁,如滥用合法权限导致的数据库信息被窃取、修改;审计记录功能不足,备份数据被泄露等威胁。
4SQLServer安全机制
4.1SQLServer的安全验证模式
对于身份验证模式,SQLServer提供了两种认证方式:Windows身份认证模式和混合身份认证模式。如图3所示。Windows身份认证模式,即使用Windows中的其中一个用户登录到SQLServer数据库中。SQLServer中的用户名和密码与Windows用户的用户名和密码完全相同。数据库的身份验证完全依靠Windows用户的安全验证。当用户一旦通过Windows的安全验证后,则就能够有权进入SQLServer数据库中。
混合身份认证模式,即同时使用Windows的身份验证和SQLServer的身份验证。根据通信时使用的网络库来决定具体采用哪种方式进行验证。若用户使用命名管道登录则使用Windows身份验证,若用户使用TCP/IPsockets登录则使用SQLServer身份验证。
Windows身份认证是程序安装时,在SQLServer加入了BUILTIN\Administrators用户名,这时可以采用Windows认证登录SQLServer,与混合身份认证模式的差别是Windows混合登陆是用Windows使用的默认用户名登录,有sa权限,而选则身份认证时使用的是自己设置的用户名。远程采用Windows身份认证时,需要将登录的计算机管理员用户加入到服务器端的信任列表中,并赋予其本机admin权限。
4.2审计
数据库审计是指当用户对数据库进行各种操作时,审计功能会实时监视和记录用户的行为。审计功能对数据库管理员来说是非常有价值的。通过审计机制,可以随时查看用户行为,便于追查责任,对于不正常的用户行为可以及时的制止,同时审计功能还有助于发现数据库安全方面的漏洞和弱点。一般通过SQL的事件探查器完成审计工作,由管理员权限用户进行。
审计可以在服务器和数据库级别上或者针对个别数据库对象实现,并以不同的格式保存记录,如二进制文件或Windows应用程序日志。在SQLServer的指定实例中创建一个SQLServer的审计。SQL语句如下:
createserverAUDITuserAuditTOFILE(FILEPATH='D:\audit',MAXSIZE=10MB)with(QUEUE_DELAY=5000)。
4.3访问控制
访问控制指的是数据库对于每个用户设定了严格的访问权限。SQLServer将用户分为不同等级:一般用户、数据库对象拥有者用户、数据库所有者用户和系统管理员用户四大等级。不同等级的用户操作数据库的权限不同。SQL授权语句可以把语句权限或者对象权限授予给其他用户和角色。如下:
GRANT{ALL|statement[,...n]}TOsecurity_account[,...n]。
4.4其他安全机制
SQLServer安全机制还有视图和存储过程机制、数据库加密机制等。视图是从一个或几个基本表(视图)中导出的虚表。在数据库系统中,可以利用视图通过授予用户操作特定视图的权限。限制用户访问表的特定行和特定列来保证数据的安全,防止用户对基本表的操作,实现行级或列级的安全性。SQLServer中存储过程是存储于数据库内部经过编译可执行的SQL语句,它可被其他应用程序调用执行。彻底隐藏了用户可用的数据和数据操作中涉及的某些保密处理。SQLServer使用哈希函数来加密隐藏用户存储在Master数据库中系统表内的密码,将已定义的视图、存储过程、触发器等都存储在系统表syscomments中,SQLServer提供了内部加密机制。
5结束语
数据库通常保存着学校、企业、政府和其他部门的重要信息,数据库的安全性是非常重要的。尽管计算机系统本身和数据库本身都有严格的安全防御措施,但是还需要管理、人为和法律等各个方面的配合,特别是数据库管理人员应该对数据库安全进行足够的重视,提高数据库安全防范意识。在计算机安全机制技术不断完善的同时,人员安全防范意识也需要不断加强,这样数据库的安全才会越来越有保障。
参考文献
[1]夏代提古丽·克依木.关于网络环境下数据库安全机制问题的若干思考[J].时代教育,2012.19.
[2]谷震离,杜根远.SQLServer数据库应用程序中数据库安全性研究[J].计算机工程与设计,2007.15.
[3]朱林,王峰,张晓洁,裴广红.浅谈网络数据库的安全性[J].电脑知识与技术,2011.29.
[4]王玉国,李启鹏.SQLServer的安全机制分析及实现建议[J].通化师范学院学报,2004.10.
[5]怀艾芹.基于SQLServer的高校OA系统数据库安全技术研究[J].计算机与数字工程,2010.10.
[6]谢志宇,郑林华,王梓斌.SQLServer数据库的安全设计与应用[J].电脑知识与技术,2006.32.
月期刊平台服务过的文章录用时间为1-3个月,依据20年经验,经月期刊专家预审通过后的文章,投稿通过率100%以上!