浅析SQL SERVER数据库的安全管理探究
2015-03-19
0 引言
SQLServer是由美国 Microsoft公司推出的一个为分散式客户机/服务器操作所设计的关系型数据库管理系统,能和WindowsNT良好兼容,为管理企业相关日常事务性信息提供了很好的解决方案。因此,SQLServer数据库在各行各业中得到了广泛的应用。笔者以SQLserver数据库为对象,对数据库的实际操作中的安全因素进行探究,比如:搜索、数据库设密、查寻、信息分析、验证、报表、数据整合、备份、同步功能、审计功能、访问控制、存储原理、恢复和并发控制原理等,并提出一些行之有效的解决措施,以实现加强数据库的安全管理。
过去大多数人只关心计算机操作系统和互联网安全方面的因素,对数据库安全因素没有引起足够的重视。然而,数据库中往往存储了大量重要的、多样的企业以及政府等机构的信息,维系着电子商务活动、企业资源计划等商业系统的正常运行。虽然,在当前的计算机操作系统中采用了多种安全保障手段,但是数据的整体性与合理性仍存在着许多安全隐患,包括:密码攻略、系统漏洞、数据库安全操作、网络病毒以及自身的安全方案缺失。正因为对数据库的安全措施没有引起足够的重视,所以导致这些安全问题的发生。为此,我们就关于SQLserver数据库的安全防范措施进行探析。
1 数据库安全概述
(1)数据的完整性。一方面数据库完整性(Database Integrity)体现在数据库中数据的合理性和兼容性。而此时的数据库完整性存在一定的限制条件,其实也能把数据库完整性的设计理解成数据库完整性限制条件的设计。因此,可以避免合法用户操作数据库时往数据库中添加不合理的数据。另一方面数据库中的数据的完整性也体现在物理完整性和逻辑完整性两方面。物理完整性意思是能够使数据库中的数据免受一些不利的物理因素(如硬件出错、瞬间停电等)影响,甚至遇到的灾难性毁坏后还可以重建和修复数据库;逻辑完整性则负责保护数据库的逻辑结构,包含数据的句义完整性和使用完整性。数据的句义完整性是指在逻辑基础上限制数据的存取,数据的使用完整性则是指在确保并发事务中前后数据的准确性。
(2)数据的保密性。数据的保密性指数据库中的数据不会发生泄露以及被非法获取。一般采用授权访问,访问时相同数据时根据授权权限的不同来限制存取的权限,另外还要针对用户的访问操作行为进行记录和统计。
(3)数据的合理性。数据库的合理性是指数据库不应限制合法用户对数据的合理操作,并能实现人机互动功能以及保证高效的系统运行效率。
2 SQL Server数据库管理措施
(1)管理数据库用户。按登录方式来分类,SQL Server数据库有两种登录使用账户:一种是由SQL Server数据库负责管理其他登录时需确定身份的账户,即管理员账户;另一种是从互联网上登录到SQL Server的普通账户。部分普通登录账户会在初装SQL Server后自己生成,当然也可以按实际需要来建立普通登录账户。但这种登录账户只可以连接到相关服务器上,还不具备查询任何数据的能力。只有通过身证验证后,才可以登录数据库进行查询。从建立在服务器上的登录账户到成为数据库的用户,这种实现方式称之为“映射”。因此一个普通登录账户可以直接体现在数据库系统中和管理者账户所需的工作量,而数据库管理者账户就是一个拥有特殊权限的用户,或者具备此权限的一组账户。所以数据库管理者账户必须拥有非常高的信任度。
(2)普通用户的身份确定。数据库系统、计算机操作系统和网络在线服务都可以进行普通数据库账户身份识别,再由服务器操作系统进一步确认,双层验证可以保证用户的身份安全。
(3)操作系统管理权限。权限有三种类型:对象权限、语句权限、隐含权限。对象权限为用户操作数据库中文字、图片等信息的权限;语句权限为可否使用DDL语句的权限;隐含权限为所属角色和对象拥有者的权限。权限管理内容也有三种:授予权限、收回权限、拒绝权限,分别为允许、收回或拒绝某种操作权。负责数据库管理者一定要有相关重要文件的操作系统权限;普通数据库用户不能有此权限。系统管理员具备修改操作系统账户安全性区域的权限,才能为普通数据库用户分配角色。
(4)用户安全措施。为了保障数据库的安全性,必须要求登录用户采取一定的安全性措施,其中包括设置登录密码和相应大小的权限。比如:针对一个拥有众多登录用户的大型数据库,该数据库管理者应将用户组分门别类,方便对登录用户的权限进行管控。
(5)管理权限管控。数据库服务器与普通用户、管理账户与数据库的链接,都以角色为手段对管理者的权限进行管控。
(6)数据库程序设计员管理措施。原数据库程序设计员的权限与开发环境要确认,给予free和controlled等软件设计授权。
3 SQL SERVER的数据库具体操作原理
SQL SERVER的数据库安全性问题,有几个具体的操作过程或步骤,下面一一探究:
(1)身份识别。首先用户登录数据库时需要提供相应的ID和密码,在某些认证基础上数据库系统会对用户的身份进行严格的审核,在得到身份识别后才会获得相应的权限。windows NT身份识别和混合身份识别这两种身份识别方式都可用于 SQL SERVER的数据库。其中前者比后者更安全可靠,强调使用windows NT身份识别方式后登录SQL SERVER数据库系统,以减少来自因特网工具的入侵,更得利于计算机本身安全防御系统的帮助,并将登录密码放置于服务器端避免漏洞出现。
(2)访问限制。当某个SQL SERVER数据库用户经SQL Serer数据库认证后登录成功,能否完成某个操作指令,决定于其的使用权限范围。SQL serer数据库系统从用户的类别中,运用GRANT等相关语句来限制其权限,这很好地实现自主访问限制目标。根据权限大小来分类,SQL SERVER的用户可分为:数据库系统管理者用户、数据库拥有者用户、普通用户。如何实现SQL Serer高效管理目的,可充分利用角色的概念,只需为权限大小相同的用户创建一个角色并限定其相应的权限,再将这些用户变成该权限角色下的成员。如有需要,只需对角色的权限进行设置操作,就可以达到所属于该角色全部成员用户同时设置的目的,该措施可完美解决相应的管理难题,极大的方便了日常管理。
(3)触发报警。监测探头正常工作时会自动完成所在区域的监控,得到相关的操作信息,比如:登录用户名、当前系统用户、数据库系统名称、SQL语句、操作完成情况(成功或者失败)等信息,再将这些信息转格式后传送至分析机,分析系统按一定的准则,识别这些信息中对数据库安全可能产生不利影响的操作,同时控制台负责接收报警信息并触发报警,最后由管理员完成对危险源 IP地址的阻断。具体实施阻断任务的是探头,而管理员发出的阻断命令先由分析机送到探头并借助系统自身 API函数实施阻断。
(4)具体命令的传送。按一定规则格式化后的拥有固定格式的数据或命令,可以通过指定的端口,在探头、分析机、控制台之间进行传送。控制台可维护更新分析机和探头,并查询其运行状态。控制台负责发出指令,经分析机筛选后传达至响应模块执行命令。其中上达下传的命令都是由特定端口进行传递。
(5)定期备份。最有效的防范手段就是定期给数据库备份。具体操作可以用数据库服务器来完成。
4 结束语
SQL Serer在不断更新中将会面临更多的安全性问题,应积极重视其实际功能所需及特点,不断完善相应安全措施,才能有效提高数据库使用效率,保障其安全运行。