SQLServer数据库安全策略
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQLServer
高振清
(健雄职业技术学院,江苏[摘
要]文中论述了SQLServer数据库安全机制。[关键词]SQLServer;数据库;安全策略——————————————————————————
—作者简介:高振清,男,江苏太仓人,学士,讲师,研究方向:计算机与自动化。
1.前言
微软的SQL Server 数据库是一种广泛使用的数据库,很多电子商务网站、企业内部信息化平台等都是基于SQL Server 数据库上的,
但是数据库的安全性还没有被人们跟系统的安全性等同起来,一般认为只要把网络和操作系统的安全搞好了,那么所有的应用程序也就安全了。而且一些安全公司也忽略数据库安全,这就使数据库的安全问题更加严峻。数据库系统中存在的安全漏洞和不当的配置通常会造成严重的后果,而且难以发现。数据库应用程序通常同操作系统的最高管理员密切相关。SQL Server 数据库又是属于“端口”型的数据库,这就表示任何人都能够用分析工具试图连接到数据库上,从而绕过操作系统的安全机制,进而闯入系统、
破坏和窃取数据资料,甚至破坏整个系统。从而对SQL Server 数据库的安全策略进行探讨有着极其重要的现实意义。
2.SQLServer数据库安全体系结构
SQL Server 数据库安全性管理是建立在认证(authentication)和访问许可(permission)两者机制上。认证是指来确定登陆SQL Server 数据库的用户的登陆帐号和密码是否正确,以此来验证其是否具有连接SQL Server 数据库的权限。但是,通过认证阶段并不代表能够访问SQL Server 数据库中的数据,用户只有在获取访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下的各种操作(主要是针对数据库对象,如表、视图、存储过程等),这种用户访问数据库权限的设置是通过用户帐号来实现的。同时在SQL Server 数据库中,角色作为用户组的代替物大大地简化了安全性管理。在SQL Server 数据库的安全模型中主要包括SQL Server 登录、数据库用户、权限、角色。由图1可见,SQL Server 的安全控制策略是一个层次结构系统的集合。
图1SQLServer安全性控制策略示意图3.3.1
SQL 注入就是利用插入有害字符进行攻击的技术,也称SQL 注射式攻击。SQL 注入攻击是攻击者把SQL 语句插入到Web 表单的输入域或页面请求查询字符串中,欺骗服务器执行恶意SQL 语句的操作,它是应用程序级攻击Web 主要途径,是黑客攻击的最常见手段,是构建网络安全的一大障碍。目前来说,对于SQL 注入攻击的防范主要是要找到一种能保证代码兼容性的方法。
SQL Server 虽然没有直接提供防止SQL 注入攻击的对象和方法,
但它却提供了丰富的、强大的防御工具。合理地利用这些机制,对防止SQL 注入攻击很重要。
其次,构建安全的参数类型,进一步过滤掉组装的SQL 语句对Web 站点的注入攻击。把用户验证的SQL 语句构造到存储过程中是行之有效的方法。如下面的Proc_IsUserValid 存储过程:
Create Procedure Proc IsUserValid @UserName Varchar(32),@Password Varchar(32)As
Select Count(*)from Users
Where UserName=@U serN ame
And Cast (Password As Varbinary)=Cast (@Password
As Varbinary)
Go
然后就是使用弱权账户来间接访问数据库。下面是实现授权给SafeUser 帐户一个缺乏
“drop table ”权限的数据库脚本,SafeUser 账户除了调用Proc_IsUserValid 外没有任何其它权限。
Create DataBase WebLogin Go
Use WebLogin Go
Create table Users (UserName Varehar (32)Not Null ,
Password Varchar(32)Not Null)Go
Insert Into Users (UserName ,Password)
—79—
N.错信息暴露
对防止SQL注入攻击是非常必要的。
3.2采用标准协议,并利用防火墙限制外部IP地址直接访问
在网络上访问数据库采用TCP/IP网络库,它是微软推荐使用的库,已经受长期的实践考验,而且可以跨交换机和跨操作系统平台使用。如果服务器与网络连接,使用非标准端口可能会受到攻击,而且不一定能实现跨平台或跨交换机访问,同时要及时更新操作系统和SQL Server数据库。由于Windows和SQL Server的广泛使用,因此微软的产品经常受到别人的攻击。稳妥的办法就是经常到微软网站下载补丁,对Windows操作系统和SQL Server数据库升级,及时补住Windows和SQL Server自身存在的技术漏洞,防止遭到他人的攻击。
另外要安装防火墙,限制外部IP对数据库服务器的直接访问,数据库服务器连接互联网潜在的危险就是可能受到外部的攻击,限制外部IP直接访问数据库服务器将有效保证数据库安全。一般允许局域网IP、相关单位IP以及软件供应商的指定IP,可以访问数据库,其它IP不允许直接访问数据库服务器。
3.3SQL Server数据库的备份
隔离服务器,定期备份。物理和逻辑上的隔离组成了SQL Server数据库安全性的基础。驻留数据库的机器应该处于一个从物理形式上受到保护的地方。数据库应该安装在企业内部网的安全区域中,不要直接连接到网络。定期备份所有数据,同时注意这并不意味着数据库备份就安全,如出现硬盘的损坏有可能造成数据的丢失,因此一般应将数据库备份同时保存到备份机上。将服务器上的备份数据复制到备份机上是一种办法,但明显这种效率较低,需要备份人员每天坚持去做。通过建立SQL Server数据库备份用户和共享文件夹,也可以直接将数据库备份到客户端。做好数据库异地备份。数据库异地备份的建立方法是:
先在数据库服务器上建立备份数据库用户(如BKUSER),然后在SQL Server企业管理器中Security Login 中添加用户BKUSER。在新建登录的General导卡中,name 输入BKUSER,Domain选择服务器所在域,Database选择默认的master:在Server Roles导卡中,选择System administrators;在Database Access导卡中,选中master,然后点“确定”即完成用户建立。
4.结束语
信息安全是当今关系国家政治、经济、文化、军事等各个方面的重要课题。而数据库安全作为其研究领域之一,也越来越引起业内的高度重视。本文探讨了SQL Server数据库的安全策略,研究了关于数据库安全性的问题,随着社会的进步和科技水平的发展,相信SQL Server数据库安全性将会更加完善。但不可否认SQL Server数据库安全性有其不足之处。本文阐述了SQL Server数据库安全体系结构,介绍了Server数据库注入的防护,安装防火墙和关于SQL Server 数据库安全策略的SQL Server数据库备份问题。随着科学技术的发展,有理由相信在不久的将来,SQL Server数据库安全策略将更加完善。
参考文献:
[1]侯义军.MicrosoftSQLserver安全性的研究[J].南京邮电学院学报,2000,(9).
[2]李海泉,李健.计算机网络安全与加密技术[M].北京:科学出版社,2001.
[3]刘启原,刘怡.数据库与信息系统的安全[M].北京:科学出版社,2000.
[4]劳帼龄.电子商务安全与管理[M].北京:高等教育出版社,2003.
[5]刘瑜,陈铁英.MicrosoftSQLServer数据库的安全策略及实现方法[J].计算机工程与设计,2003,24(1):68-71.
Security Policy of Database System Based on SQL Server
GaoZhenqing
(Chien-Shiung Institute of Technology,Taicang215411,Jiangsu)
【Abstract】The article discusses the SQL Server database security,and presents how to protect SQL Server database effectively.【Keywords】SQL Server;database;security policy
—80—