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—。