APP下载

基于SQL Server的数据库安全策略研究

2017-06-15雷燕瑞陈冠星

镇江高专学报 2017年2期
关键词:数据库安全身份验证视图

雷燕瑞,陈冠星

(海南软件职业技术学院 网络工程系,海南 琼海 571400)

基于SQL Server的数据库安全策略研究

雷燕瑞,陈冠星

(海南软件职业技术学院 网络工程系,海南 琼海 571400)

随着信息化技术的发展,数据已经成为各个行业日常运作不可缺少的一部分,数据存储的重要容器——数据库的安全性凸显。从保护数据库安全角度出发,介绍数据库安全技术的防范策略。

SQL Server;数据库;安全策略

随着计算机技术的迅猛发展,数据库技术已成为各行各业不可缺少的工具。大到电子商务、金融,小到ERP、超市管理,都在应用数据库系统。系统中存储的大量数据涉及个人隐私,若被他人窃取、篡改和泄露,则会产生许多不良后果。越来越多的人意识到数据库系统安全的重要性,开展了许多研究工作[1]。

1 数据库安全

有关数据库安全的标准化定义,国内外没有统一的标准。一般情况下,人们认为,保证了数据库的保密性、完整性、一致性和可用性,就保证了数据库的安全。当合法用户访问数据库时,确保他们在一定规则和约束下得到正确的数据,同时确保数据的一致性,阻隔非法用户入侵和破坏。关于数据库的保密性、完整性、一致性和可用性的解释,详见表1。

表1 数据库安全内容

2 SQL Server安全机制

要保证数据库的安全,应杜绝非授权的访问,防止未经授权的泄密,在硬件或软件发生错误时及时修复。了解数据库安全的相关技术之前,要先了解数据库在网络中的位置,图1显示了一个数据库通常的使用情况。数据库的安全通过存取管理技术、安全管理技术、数据库加密技术实现。

图1 数据库服务器示意图

2.1 存取管理

如图2所示,存取管理技术主要用于身份认证和存取控制。身份认证包含身份验证和身份识别,浏览控制和修改控制是存取控制技术的内核。

图2 存储管理技术示意图

2.1.1 身份认证

利用身份认证技术阻止非授权用户的访问,使低级别用户无权越级访问。主要通过操作系统验证、DBMS提供验证、网络安全认证实现身份验证和身份识别[2]。

1) 操作系统验证。用户可通过操作系统直接连接DBMS,无需用户名和密码,操作系统验证放行后连接。

2) DBMS提供验证。SQL Server的另一种认证是由DBMS提供验证。SQL Server的登录帐号和密码保存在数据库的syslogins表中,DBMS提供验证较为简单,此登录与Windows无关。

3) 网络安全认证。目前用于数据库用户认证的网络安全认证系统很多,主要依赖认证和密钥分配系统,用户可用智能卡、安全令牌、生物识别等技术来响应验证需求。

2.1.2 存取控制技术

访问者和执行程序访问数据库时,需要通过存取控制来限制其访问权限,从而使数据库系统在合法范围内使用。存取控制主要有自主存取控制(DAC)、强制存取控制(MAC)和基于角色的存取控制(RBAC)[3]。

1) 自主存取控制(DAC)。大型DBMS基本会支持DAC,目前的SQL标准也支持DAC,实现方式主要通过GRANT和REVOKE语句。DAC是一项接入控制服务,它执行基于系统实体身份和它们的到系统资源的接入授权。给用户授权是指定义这个用户可以在哪些数据对象上进行哪些类型的操作。定义存取权限也称为授权过程。

用户可以“自主”决定将数据的存取权限授予何人,是否将“授权”的权限授予别人,这样的存取控制称为自主存取控制(DAC)。DAC方式灵活,但采用DAC策略的数据库很容易被恶意攻击。因此,对安全性要求更高的系统通常采取强制存取控制的方法。

2) 强制存取控制(MAC)。强制存取控制(MAC)是“强加”给访问主体的,即系统强制主体服从访问控制政策。MAC要求用户必须遵守DBA制定的规则。MAC对数据库对象和用户标识安全标签,每一个数据库对象被标以一定的密级,每一用户也被给予一定级别的许可证,对任一数据库对象,拥有合法许可证的用户才可以访问。

用户的程序不能更改自己和其他数据库对象的安全标签,只有DBA才能确定用户和组的访问权限。MAC有两个规则,即不准上读和不准下写,需要遵守。

3) 基于角色的存取控制(RBAC)。核心思想是授权和角色相联系,用户是一个可以独立访问数据库对象的主体,角色则代表权利、责任和资格,许可是允许一个或多个客体执行的操作[4]。

用户成为相应角色的成员,即拥有这个角色对应的权限。角色可以根据组织工作的需要进行创建,可以根据用户的实际需求进行分配,既简化授权,又能轻松地进行角色转换。

RBAC在实际操作中优势明显,DBA不再疲于更改用户权限设置,只需改变用户角色,如此更安全。现在普遍认为RBAC的发展前景比DAC和MAC更好。

2.2 数据库加密技术

加密不仅可以有效规避数据库明文存储引起的泄密风险,还可以杜绝来自内部或者外部的入侵及越权访问行为。现在数据库加密技术主要有三大类,即前置代理及加密网关方式、应用层加密方式、后置代理方式[5]。

2.2.1 前置代理及加密网关技术

技术核心是访问数据库的用户在没有连接到数据库之前,先经过一道安全代理服务的检查,在代理服务中实现如数据加解密、存取控制等安全策略,安全代理服务通过数据库的访问接口实现数据在库中的最终存储。此技术需要在安全代理服务层实现非常复杂的数据库管理功能,如SQL命令解析,通讯服务,加密数据索引存储管理、事务管理等,开发工作量大且技术复杂性较高。

2.2.2 应用层加密技术

应用系统通过加密API(JDBC,ODBC,CAPI等)实现对敏感数据的加密,加密后的数据存储在数据库底层文件中,检索时,将密文取回客户端,再解密。密钥体系则由应用系统管理。这种方式提高了编程的复杂度,应用程序改造比较多,而且无法对现有的系统做到透明,加密后的数据检索性能大幅下降。

2.2.3 基于视图和触发器的后置代理技术

后置代理技术的核心是利用数据库管理系统自身提供的应用扩展能力实现加密,分别使用触发器、索引、自定义函数的扩展能力、视图等技术来满足数据的存储加密和加密后数据的检索。

数据库的视图可以实现对表内数据的过滤、投影、聚集、关联和函数运算。通过数据库中的触发器可以实现对数据更新动作的特定行为的响应。同时数据库可以支持针对视图的触发器。通过数据库的扩展索引接口实现加密索引。

2.3 审计

网络技术在发展,黑客的入侵水平也在提升。钓鱼软件或一些人为的管理缺失,都有可能导致数据库被入侵[6]。在这种情况下,管理员通过查看数据库的审计,可以发现所有访问数据库的用户名、时间、地点、对数据库对象实施的操作等信息。

审计是一种后期查验技术,虽不能直接保护数据库,但可以对各种操作行为进行监控。利用数据审计可以在危险发生后对相关攻击者进行追踪处罚,并还原当时的攻击现场,促使管理员改变管理策略,从而增加数据库的安全性。

3 SQL Server安全防范策略

SQL Server安全防范策略如图3所示。

图3 SQL Server安全管理策略

3.1 基于安全验证的安全策略

安全验证是安全管理的第一步,用户拥有了登录SQL Server系统的权限,才能对SQL Server实施进一步的管理。SQL Server提供了两种安全验证方式,即Windows身份验证和混合验证[7]。

3.1.1 Windows身份验证模式

SQL Server数据库系统大多运行在Windows操作系统上,Windows操作系统自身提供账号管理和验证。Windows身份验证就是把登录验证的任务交给Windows操作系统,用户通过Windows的验证,就可以连接SQL Server服务器。SQL Server服务器默认的登录模式也是Windows身份验证模式,这种验证模式可提高工作效率,而且域用户无需独立的Windows账户和密码就可以访问数据库,但用户必须遵循Windows安全模式的规则。若远程采用Windows身份验证,需要将登录的Windows管理员用户加入服务器端的信任列表,并赋予本地计算机的admin权限。

3.1.2 混合验证模式

使用混合模式时,可以同时使用Windows身份验证和SQL Server身份验证模式。用户如果使用命名管道的通信方式,则使用Windows身份验证模式;如果使用TCP/IP Sockets的通信方式,则使用SQL Server身份验证模式。

3.2 基于安全对象的安全策略

3.2.1 基于视图的安全策略

在数据库管理中,最常用的是基于视图的安全策略,主要原因是视图不存储数据,只是由查询语句定义的一张虚表,视图是表的选择性出口,用户能修改视图所能看见的数据,视图外的所有数据用户既不可见,又无法访问。通过视图的安全对象权限设置,用户仅具有相应的访问这一视图的权限,但不具备访问视图引用的基本表的相应权限。故对各用户分配不同视图权限的功能,可以限制用户访问的结果,提高行级别、列级别的数据安全性。

3.2.2 基于存储过程的安全策略

用户在不具有访问视图和基本表权限的情况下,可通过存储过程访问相应数据,只需要被授权EXEC存储过程的权限即可。使用存储过程的优点在于不必对视图和基本表的访问权限进行分配。

4 结束语

数据库安全的口令认证向动态化方向发展,非固定口令的认证方式更能防止其他人窃取,而且作为数字证书载体的USB KEY也逐渐应用于数据库安全[8]。数据库的加密技术向复杂化方向发展,逐渐引入了非对称密码体制,加密和解密使用不同的密钥,加密密钥公开,解密密钥只有解密人拥有,克服了对称密钥的缺点。加密技术研究的重点在设计和分析两个方面。

尽管从机制上计算机系统和数据库本身有很多可以防止数据泄密的方法,但仍需要管理制度和法律等的配合,特别是DBA,要对数据库安全足够重视,并提高防范意识。技术、管理到位,法律护航,数据库的安全才更有保障。

[1] 杨磊.数据库安全审计检测系统的设计与实现[D].北京:北京交通大学,2014:1-3.

[2] 劳翠金.SQL Server 2005数据库的安全管理[J].中国信息界,2012(4):50-51.

[3] 马鲜艳.数据库安全技术探析[J].西安邮电学院学报,2008(5):99-102.

[4] 张春海,马水平,李华.引入角色机制的数据库强制存取控制模型的研究[C]//彭丹.第二十一届中国数据库学术会议论文集(技术报告篇).重庆:《计算机科学》杂志社,2004:103-106.

[5] 红黑联盟.常见数据库加密技术:对比[EB/OL].(2015-07-24)[2016-12-23].http://sec.chinabyte.com/449/13479949.shtml.

[6] 王端理.浅谈数据库的四大安全控制[J].山东工业技术,2016(7):130.

[7] 贺蕴彬.基于SQL Server数据库安全机制问题的研究与分析[J].信息安全与技术,2014(1):48-50.

[8] 张荣华.数据库安全常用技术及发展趋势[J].内江科技,2009(3):115.

〔责任编辑: 卢 蕊〕

Research on database security of strategy based on SQL Server

LEI Yanrui,CHEN Guanxing

(Network Engineering Department, Hainan College of Software Technology, Qionghai 571400, China)

With the development of information technology, data has become an indispensable part of all industries’ daily operation. As an important container of data storage, database security is increasingly attached attention to. From the significance in database security protection, the paper introduced defense strategies of database security technology.

SQL Server; batabase; security strategy

2016-12-23

海南省高等学校教育教学改革研究项目(Hnjg2015-88);海南软件职业技术学院教育教学改革研究项目(Hr201508)

雷燕瑞(1981—),女,陕西澄城人,副教授,硕士,主要从事数据库应用、程序开发、职业教育研究;陈冠星(1984—),男,广东揭阳人,讲师,硕士,主要从事数据库应用、网络技术应用、物联网应用、职业教育研究。

TP311.138

C

1008-8148(2017)02-0079-04

猜你喜欢

数据库安全身份验证视图
管理信息系统中数据库安全实现方法
声纹识别认证云落户贵州
视图
浅谈高速公路数据库安全审计
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
人脸识别身份验证系统在养老保险生存核查中的应用
高职院校计算机网络安全研究与分析
Django 框架中通用类视图的用法
高职院校计算机网络安全研究与分析