摘要:信息的安全越来越受到人们的关注,对于管理着信息的数据库而言,数据库的安全性至关重要。本文从管理者角度,探讨SQLServer数据安全性以及SQLServer的应用研究。本文对数据库安全的内涵和要求及数据库管理系统SQLSerer的安全防护机制,如身份认证、访问控制、完整性保障、存储过程等进行了详细分析和研究。
关键词:SQLserer数据库安全机制、应用与研究
一.数据库安全的内涵
1.数据库安全是指保护数据库以防止非法用户的越权使用、窃取、更改或破坏数据。与其它计算机系统(如操作系统)的安全要求类似,数据库系统的安全要求可以归纳为完整性、保密性和可用性三个方面。
1.1完整性
数据库的完整性主要包括物理完整性和逻辑完整性。
1.2保密性
保密性指保护数据库中的数据不被泄露和未授权的获取,
1.3可用性
数据库的可用性是指数据库不应拒绝授权用户对数据的正常操作,同时保证系统的运行效率并提供用户良好的人机交互。
2.SQLServer的数据库安全机制
2.1身份验证
对用户的身份认证是数据库管理系统提供的最外层安全保护措施,其方法是用户进入系统时通过输入ID和密码,向系统出示自己的身份证明,系统通过严格的认证机制对用户身份进行审查核实,经过确认后才提供与之相对应的系统服务。
2.2访问控制
为了保证用户只能存取有权存取的数据,数据库系统要求对每个用户定义存取权限。在SQLServer中,用户是属于特定的数据库的,数据库用户与登录标识相关联。为了达到管理的便利和灵活,SQLSerer引入了角色的概念,可以支持基于角色的访问控制策略。对于具有相同权限的用户,可以创建一个角色并对其赋予权限,然后将这些用户添加到该角色中使它们成为这个角色的成员。若要改变这些用户的权限,只需对角色的权限进行设置,不必对每一个用户进行权限设置。
2.3审计功能
数据库审计是监视和记录用户对数据库所施加的各种操作的机制。对于MicrosoftSQLServer,它能提供较为完善的审计功能,用来监视各用户对数据库施加的动作。SOLServer审计方式具体分用户审计和系统审计2种,审计工作一般通过SQL事件探查器完成。启用用户审计功能时,审计系统可记下所有对该数据库表或视图进行访问的企图(包括成功的和不成功的)及每次操作的用户名、时间、操作代码等信息。
2.4数据库加密
数据库加密通过将数据用密文形式存储或传输的手段保证高敏感数据的安全,这样可以防止那些企图通过不正常途径存取数据的行为。SQLserer也提供了加密的功能,以强化对分布式数据库的安全管理。
2.5视图和存储过程机制
存储过程是SQL语句的集合,并被存储在数据库服务器上。存储过程通常执行服务器上的一些与数据库有关的任务,并有时返回数据记录集。
2.6备份、恢复和并发控制机制
为防止系统发生故障导致重要数据的丢失或损坏,保证数据库系统在最短时间内恢复运行,数据库管理系统应具备备份和恢复机制。
二.如何提高SQLServer的安全性
提高SQLServer的安全性可以用来使SQLServer数据库对篡改数据和黑客攻击更有抵抗力。其中一些是好的服务器管理中的简单的部分,例如使SQLServer保持最新的补丁,而另一些则涉及了一些用户在使用中的监控。下面的这五个步骤将带你开始这项工作。
1.用户标识与验证
用户标示和验证是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标示自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。
2.SQLServer身份验证方式
用户必须使用一个登录账号,才能连接到SQLServer中。SQLServer可以识别两类的身份验证方式,即:SQLServer身份验证(SQLServerAuthentication)方式和Windows身份验证(WindowsAuthentication)方式。这两种方式都有自己的登录账号类型。
3.身份验证模式
当SQLServe在WindowsNT/2000上运行时,系统管理员必须指定系统的身份验证模式类型。SQLServer的身份验证模式有两种:Windows身份验证(WindowsAuthentication)模式和混合模式(MixedMode)。身份验证模式和身份验证方式的关系是:
Windows身份验证模式(Windows身份验证方式)
混合模式(Windows身份验证方式和SQLServer身份验证方式)
4.Windows身份验证模式
Windows身份验证模式最适用于只在部门访问数据库的情况。与SQLServer身份验证方式相比,Windows身份验证方式具有下列优点:提供了更多的功能,例如安全确认和口令加密、审核、口令失效、最小口令长度和账号锁定;通过增加单个登录账号,允许在SQLServer系统中增加用户组;允许用户迅速访问SQLServer系统,而不必使用另一个登录账号和口令。
SQLServer系统按照下列步骤处理Windows身份验证方式中的登录账号:
1)当用户连接到WindowsNT/2000系统上时,客户机打开一个到SQLServer系统的委托连接。该委托连接将WindowsNT/2000的组和用户账号传送到SQLServer系统中。因为客户机打开了一个委托连接,所以SQLServer系统知道WindowsNT/2000已经确认该用户有效。
2)如果SQLServer系统在系统表syslogins的SQLServer用户清单中找到该用户的WindowsNT/2000用户账号或者组账号,就接受这次身份验证连接。这时,SQLServer系统不需要重新验证口令是否有效,因为WindowsNT/2000已经验证用户的口令是有效的。
3)在这种情况下,该用户的SQLServer系统登录账号即可以是WindowsNT/2000的用户账号,也可以是WindowsNT/2000组账号。当然,这些用户账号或者组账号都已定义为SQLServer系统登录账号。
4)如果多个SQLServer机器在一个域或者在一组信任域中,那么登录到单个网络域上,就可以访问全部的SQLServer机器。
5.混合模式
混合模式最适合用于外界用户访问数据库或不能登录到Windows域时。