Sql Server 2008数据库安全策略浅谈
2015-10-22李迎斌郭明明
李迎斌 郭明明
【摘 要】数据库的安全性是信息技术发展的前提,Sql Server 2008在安全性方面日臻完善,越来越多的用户选择使用作为服务器,文中简要介绍了Sql Server 2008数据库的安全策略。
【关键词】Sql Server 2008;数据库;安全性;验证模式
数据安全对于各种数据库的重要性居于首位,历来都是其着重考量的指标。SQL Server 2008中,服务器安全性的高效管理大部分通过依赖强壮的安全机制、有效的账户管理及对服务器角色的制约,使得服务器的应用更加安全便捷。
1 SQL Server 2008的安全机制
1.1 客户机和服务器方面
用户需为合法账号和密码,客户机、服务端依据验证方式判断其是否正确,才可以使用SQL Server的应用系统或其管理工具来访问服务端的数据库。针对Windows OS用户而言,大部分与Windows账户的安全问题相关。
1.2 网络传输方面
通常情况下,对安全性要求较高的网络采用数据的加解密技术,虽然这种做法会降低网络传输速度。
1.3 数据库方面
在SQL Server中,存在“数据库用户”的概念,任意一个可以登录数据库服务端的账号和密码均映射一个工作数据库,并对数据库级的权限进行管理。
1.4 数据库方面
经过上述过程过滤,用户才可以进入数据库,访问数据对象时能够做哪些操作称为访问权限,常用的权限如下:插入、删除、更新和检索。
2 配置访问权限
身份验证和访问许可是SQL Server实现其安全性的基础,认证用以判断连接账户的正确与否,并决定连接SQL Server的权限。允许登录数据库服务器的合法身份包括Windows用户与SQL Server用户。
2.1 SQL Server的验证模式[1]
(1)Windows身份验证
此种验证在域环境下较适用,将Windows账号与SQL Server的账户进行映射,不需要额外账户就能够连接SQL Server数据库。用户不用考虑服务器,仅需经过Windows验证就可以。
Windows身份验证的优势:连接更加便捷,免去了账号和密码的填写过程;Windows负责管理账户,安全性与SQL Server验证模式相比更高效;功能丰富,包括:密码的期限、复杂度和长度限定、账号锁等。
Windows账户的管理工作由操作系统完成,其强大的管理工具能够有效设置密码有效期、锁定等,SQL Server不需扩展这些功能,数据库管理员释放更多负担,专注于数据库其他工作上面。
(2)SQL Server和Windows混合身份验证
此种情况下,可根据实际情况选择Windows或是SQL Server账号登录SQL Server服务器,实际应用时,SQL Server先确定是否采用了有效的SQL Server账户,都由SQL Server创建并存放,而并不基于Windows账户。当且仅当用户使用合法的账户才被授权连接,否则会被拒绝。当无效的登录发生时,SQL Server 2008才检查Windows账户的信息。此时,SQL Serve将确定登录账户的连接权限,如果账户有权限,连接就能够被接受。
2.2 服务器角色
服务器角色的作用同“Windows操作系统中的组”相似,是执行服务器级操作的权限的集合。固有的服务器角色包括:Sysadmin,Dbcreator,Serveradmin,Securityadmin,Processadmin,Setupadmin,Diskadmin,Bulkadmin。在具体应用当中,应该根据不同要求选定角色、分配权限。配置过程为:选定当前数据库下的“安全性”-“登录名”,用户右击“属性”-“服务器角色”,为用户配置角色及权限。
3 数据库访问审核
有效的审核仅过滤重要的事务,禁止未经授权的行为,对整个系统的安全特别有益,全部的平台都或多或少提供审查功能。
SQL Server 2008的设置步骤如为:
通过数据库的“属性”-“安全性”-“登录审核”项,可以审核“登录失败”、“登录成功”或“登录失败和成功”等结果状态。设置完毕,用户在Windows OS的“事件查看器”中看到已审核过的项目,随即可测试审核是否启用。
4 SQL Server 2008在加密方面的创新
4.1 SQL Server的密钥是存放在外部的硬件安全模块中,并加密存放其中的数据,而采用的加密算法对与数据库相连的程序是透明的,此种方式增加了数据库管理员编写代码的便利性,不需额外修改。
第一个创新之处就是增加了EKM(可扩展密钥管理)功能,并可使用存放于硬件安全模块(HSM)的加密密钥,其在Enterprise、Developer和Evaluation三个版本中均有体现。
第二个办法称之为透明数据加密[2],不需修改程序就可以对数据库文件、数据和日志等执行实时I/O加解密,此过程使用的密钥(DEK)是设置于服务器数据库中的证书来有效保障的,并保存在数据库引导记录中,便于解密时使用。
4.2 以往的身份验证都采用Windows协议,SQL Server 2008较之避免黑客入侵与遭受病毒的攻击能力更强,并联合Windows的自定制的验证系统的支持,以完善验证功能,提高了安全性能。
4.3 另一个延伸的全新功能是安全审核功能,包括记载数据库运行的相关审核信息,操作所需数据的存储、开启、使用。
4.4 策略的管理与安全审核是SQL Server 2008在安全性方面的创新基础,包含了高效适应和强制性等特点[3],其强大的执行策略对一个数据库、工作平台及整个系统来说都完全得到最大程度的满足,并强制不符合规则、安全隐患较大的数据库服务器进行整修。
5 SQL Server常见漏洞解析
5.1 更改SA密码
由于SA为各版本SQL Server的默认超级管理员账户,其密码直接关系到数据库的安全,应该将密码设置的复杂度高些,甚至更改SA的名称。
5.2 删除闲置用户名
数据库内自动建立了一些用户名(例如默认的管理员组),常常因其公知性成为不合法用户攻击的目标,较稳妥的办法可以将其删除并重新建立。
5.3 删除不必要的存储过程
因某些存储过程易被利用以提高不必要的权限或执行破坏操作,包含下述功能的存储过程最好删除:执行操作系统命令,操纵OLE自动化对象,注册表访问,进程管理类,文件操作类,任务管理类。
5.4 禁止非必须的网络连接
SQL Server包含外围应用配置器,用以降低外部应用、暂停或禁止非必要的服务,有效减少遭受攻击的途径,增强安全性。“外围应用配置器”工具能够启用、禁用或暂停SQL Server安装时某些服务功能与远程连接。
5.5 协同防火墙筛查特定端口
端口不做另行更改时,SQL Server一般监听TCP 1433,并将1433 UDP用于用户机同服务端之间的协议。故此,易被不法入侵者利用,需与防火墙协同以限定对特定端口的使用。SQL Server提供的配置工具能够修改默认端口、命名实例以侦听同一个端口,隐藏端口也是可行的。
5.6 其他漏洞
禁用非必须的协议,加密数据(用户自行编写代码),及时给SQL Server下载补丁。
6 备份机制
在数据的保存与管理过程中,SQL Server 2008给用户以完善的数据库备份功能,尤其是和维护计划协同作用能够给用户解决更加灵活、便捷的备份方案。SQL Server 2008包括四种备份方式[4]:差异备份、完整备份、事务日志备份、文件和文件组备份。数据库备份是长周期的工作,其对于保证系统的可靠性具有至关重要的作用,能够高效、安全地把数据库文件和其中的数据,通过一些手段及不同方式存储至其他位置的媒介内。在数据库或数据遭受损坏后,管理员能够将备份过的数据文件通过还原的方式以降低损失甚至避免损失。
【参考文献】
[1]朱文彬.地方电视台SQL Server 2008数据库的安全性简析[J].电子技术与软件工程,2014,02:210-211.
[2]雷治安,陈腾楠.基于SQL Server 2008中的加密和密钥管理探析[J].电子世界,2012,13:10-11.
[3]陈霓.SQL Server 2008数据库的安全性分析[J].电脑开发与应用,2012,01:64-66.
[4]曹起武.浅谈SQL Server 2008中备份计划的实施[J].中小企业管理与科技(下旬刊),2012,03:287-288.
[责任编辑:杨玉洁]