Sql_Server安全性及安全管理_第1页
Sql_Server安全性及安全管理_第2页
Sql_Server安全性及安全管理_第3页
Sql_Server安全性及安全管理_第4页
Sql_Server安全性及安全管理_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQLServer安全性及安全管理 Contents 数据库安全性控制的一般方法 SQLServer安全体系结构 数据库死锁解决方法 数据库安全性控制的一般方法 数据库的安全性是指保护数据库 以防止不合法的使用造成的数据泄密 更改或破坏 数据库管理系统安全性保护 就是通过种种防范措施以防止用户越权使用数据库 安全保护措施是否有效是衡量数据库系统的主要性能指标之一 数据库安全性控制的一般方法 安全性级别数据库的完整性尽可能的避免对数据库的无意滥用 数据库的安全性尽可能避免对数据库的恶意滥用 为了防止数据库的恶意滥用 可以在下述不同的安全级别上设置各种安全措施 1 环境级 对计算机系统的机房和设备加以保护 防止物理破坏 2 职员级 对数据库系统工作人员 加强劳动纪律和职业道德教育 并正确的授予其访问数据库的权限 3 操作系统级 防止未经授权用户从操作系统层着手访问数据库 4 网络级 由于数据库系统允许用户通过网络访问 因此 网络软件内部的安全性对数据库的安全是很重要的 5 数据库系统级 检验用户的身份是否合法 检验用户数据库操作权限是否正确 数据库安全性控制的一般方法 数据库安全控制的一般方法数据库系统中一般采用用户标识和鉴别 存取控制 视图以及密码存储等技术进行安全控制 标识与鉴别用户标识和鉴别是DBMS提供的最外层保护措施 用户每次登录数据库时都要输入用户标识 DBMS进行核对后 对于合法的用户获得进入系统最外层的权限 用户标识和鉴别的方法很多 常用的方法有 身份 Identification 认证用户的身份 是系统管理员为用户定义的用户名 也称为用户标识 用户账号 用户ID 并记录在计算机系统或DBMS中 身份认证 是指系统对输入的用户名与合法用户名对照 鉴别此用户是否为合法用户 若是 则可以进入下一步的核实 否则 不能使用系统 数据库安全性控制的一般方法 口令 Password 认证用户的口令 是合法用户自己定义的密码 为保密起见 口令由合法用户自己定义并可以随时变更 口令认证是为了进一步对用户核实 通常系统要求用户输入口令 只有口令正确才能进入系统 随机数运算认证随机数认证实际上是非固定口令的认证 即用户的口令每次都是不同的 鉴别时系统提供一个随机数 用户根据预先约定的计算过程或计算函数进行计算 并将计算结果输送到计算机 系统根据用户计算结果判定用户是否合法 例如算法为 口令 随机数平方的后三位 出现的随机数是36 则口令是296 数据库安全性控制的一般方法 存取控制 授权机制 DBMS的存取控制机制是数据库安全的一个重要保证 它确保具有数据库使用权限的用户访问数据库并进行权限范围内的操作 同时令未被授权的用户无法接近数据 存取机制的构成存取控制机制主要包括两部分 定义用户权限用户权限是指用户对于数据对象能够进行的操作种类 要进行用户权限定义 DBMS必须提供有关定义用户权限的语言 该语言称为数据控制语言DCL 进行权限检查每当用户发出存取数据库的操作请求后 DBMS首先查找数据字典 进行合法权限检查 如果用户的操作请求没有超出其数据操作权限 则准予执行其数据操作 否则 DBMS将拒绝执行此操作 数据库安全性控制的一般方法 存取机制的类别在自主存取控制方法中 用户对于不同的数据对象可以有不同的存取权限 不同的用户对同一数据对象的存取权限也可以各不相同 用户还可以将自己拥有的存取权限转授给其他用户 在强制存取控制方法中 每一个数据对象被标以一定的密级 每一个用户也被授予某一个级别的许可证 对于任意一个对象 只有具有合法许可证的用户才可以存取 显然 自主存取控制比较灵活 强制存取控制比较严格 数据库安全性控制的一般方法 视图机制进行存取权限的控制 不仅可以通过授权来实现 而且还可以通过定义用户的外模式来提供一定的安全保护功能 在关系数据库中 可以为不同的用户定义不同的视图 通过视图机制把要保密的数据对无权操作的用户隐藏起来 从而自动地对数据提供一定程度的安全保护 对视图也可以进行授权 视图机制使系统具有数据安全性 数据逻辑独立性和操作简便等优点 数据库安全性控制的一般方法 审计方法审计功能就是把用户对数据库的所有操作自动记录下来放入审计日志 AuditLog 中 一旦发生数据被非法存取 DBA可以利用审计跟踪的信息 重现导致数据库现有状况的一系列事件 找出非法存取数据的人 时间和内容等 由于任何系统的安全保护措施都不可能无懈可击 蓄意盗窃 破坏数据的人总是想方设法打破控制 因此审计功能在维护数据安全 打击犯罪方面是非常有效的 由于审计通常是很费时间和空间的 因此DBA要根据应用对安全性的要求 灵活打开或关闭审计功能 数据库安全性控制的一般方法 数据加密对高度敏感数据 例如财务 军事 国家机密等数据 除了以上安全性措施外 还应该采用数据加密技术 数据加密是防止数据在存储和传输中失密的有效手段 加密的基本思想是根据一定的算法将原始数据 称为明文 变换为不可直接识别的格式 称为密文 从而使得不知道解密算法的人无法获得数据的内容 加密方法主要有两种 替换方法使用密钥将明文中的每一个字符转换为密文中的字符 置换方法将明文的字符按不同的顺序重新排列 单独使用这两种方法的任意一种都是不够安全的 但是将这两种方法结合起来就能达到相当高的安全程度 SQL标准对自主存取控制提供了支持 其DCL主要是GRANT 授权 语句和REVOKE 收权 语句 关系中的用户权限用户权限主要包括数据对象和操作类型两个要素 定义用户的存取权限称为授权 表9 1不同类型数据对象的操作权限 数据库安全性控制的一般方法 SQLServer安全体系结构 SQLServer2000的安全体系结构SQLServer2000提供以下4层安全防线 操作系统的安全防线Windows WindiwsNT或Windows2000Server等 网络管理员负责建立用户组 设置账号并注册 同时决定不同用户对不同系统资源的访问级别 SQLServer的运行安全防线SQLServer通过登录账号设置来创建附加安全层 用户只有登录成功 才能与SQLServer建立一次连接 SQLServer数据库的安全防线SQLServer的特定数据库都有自己的用户和角色 该数据库只能由它的用户或角色访问 其他用户无权访问其数据 SQLServer数据库对象的安全防线SQLServer可以对权限进行管理 保证合法用户即使进入了数据库也不能有超越权限的数据存取操作 即合法用户必须在自己的权限范围内进行数据操作 SQLServer安全体系结构 SQLServer2000的安全认证模式SQLServer2000的安全认证模式安全认证是指数据库系统对用户访问数据库系统时所输入的账号和口令进行确认的过程 安全性认证模式是指系统确认用户身份的方式 SQLServer2000有两种安全认证模式 即Windows安全认证模式和SQLServer安全认证模式 Windows安全认证模式Windows安全认证模式是指SQLServer服务器通过使用Windows网络用户的安全性来控制用户对SQLServer服务器的登录访问 SQLServer的安全认证模式SQLServer安全认证模式要求用户必须输入有效的SQLServer登录账号及口令 这个登录账号是独立于操作系统的登录账号的 从而可以在一定程度上避免操作系统层上对数据库的非法访问 SQLServer安全体系结构 设置SQLServer2000的安全认证模式使用SQLServer2000企业管理器功能选择需要的安全认证模式 其步骤如下 1 在企业管理器中扩展开SQL服务器组 右击需要设置的SQL服务器 在弹出的菜单中选择 编辑SQLServer注册属性 命令 2 在弹出的 已注册的SQLServer属性 对话框 见图9 1 的 连接 区域有身份验证的两个单选框 单击 使用Windows身份验证 W 为选择集成安全认证模式 单击 使用SQLServer身份验证 Q 则为选择SQLServer2000安全认证模式 SQLServer安全体系结构 编辑已注册的SQLServer属性对话框 SQLServer安全体系结构 SQLServer的安全性管理包括以下几个方面 数据库系统登录管理 数据库用户管理 数据库系统角色管理以及数据库访问权限的管理 数据库系统登录管理登录账号登录账号也称为登录用户或登录名 是服务器级用户访问数据库系统的标识 为了访问SQLServer系统 用户必须提供正确的登录账号 这些登录账号既可以是Windows登录账号 也可以是SQLServer登录账号 SQLServer安全体系结构 查看登录账号使用企业管理器可以创建 查看和管理登录账号 登录账号 存放在SQL服务器的安全性文件夹中 当进入企业管理器 打开指定的SQL服务器组和SQL服务器 并选择 安全性 文件夹的系列操作后 就会出现如图9 2所示的屏幕窗口 通过该窗口可以看出安全性文件夹包括4个文件夹 登录 服务器角色 连接服务器和远程服务器 单击 登录 可以看到当前数据库服务器的合法登录用户的一些信息 编辑或删除登录账号单击 登录 文件夹 在出现的显示登录账号的窗口中 用鼠标右击需要操作的登录号 选择 属性 便可对该用户已设定内容进行重新编辑 选择 删除 便可删除该登录用户 进行上述操作需要对当前服务器拥有管理登录 SecurityAdministrators 及其以上的权限 SQLServer安全体系结构 安全性文件夹的屏幕界面 日常故障处理和维护 新建登录对话框 SQLServer安全体系结构 数据库用户管理用户账号用户账号是某个数据库的访问标识 在SQLServer的数据库中 对象的全部权限均由用户账号控制 用户账号可以与登录账号相同也可以不想同 数据库用户必须是登录用户 登录用户只有成为数据库用户 或数据库角色 后才能访问数据库 用户账号与具体的数据库有关 在该表中每一行数据表示一个SQLServer用户或SQLServer角色信息 创建数据库的用户称为数据库所有者 dbo 他具有这个数据库的所有权限 创建数据库对象的用户称为数据库对象的所有者 dbo 他具有该对象的所有权限 系统管理员sa是他所管理系统的任何数据库的dbo用户 SQLServer安全体系结构 查看用户账号使用企业管理器可以创建 查看和管理数据库用户 每个数据库中都有 用户 文件夹 当进入企业管理器 打开指定的SQL服务器组和SQL服务器 并打开 数据库 文件夹 选定并打开要操作的数据库后 单击 用户 文件夹就会出现如图所示的用户信息窗口 通过该窗口可以看到当前数据库合法用户的一些信息 查看用户信息窗口 SQLServer安全体系结构 创建新的数据库用户创建新的数据库用户有两种方法 在创建登录用户时 指定他作为数据库用户的身份例如 在图9 3新建登录对话框中 输入登录名称 如user1 单击 数据库访问 选项卡 在 指定此登录可以访问的数据库 S 区域的 许可 栏目下指定访问数据库 如MyDb 如图9 5所示 登录用户user1同时也成为数据库MyDb的用户 单独创建数据库用户这种方法适于在创建登录账号时没有创建数据库用户的情况 操作步骤如下 右击 用户 文件夹 在弹出的菜单中选择 新建数据库用户 命令后 会出现图9 6所示新建用户对话框界面 在 登录名 下拉框中选择预创建用户对应的登录名 然后在 用户名 的文本框中键入用户名即可 如图9 6所示 通过此界面也可以设定该数据库用户的权限和角色的成员 SQLServer安全体系结构 创建登录时指定登录用户同时作为数据库用户界面 SQLServer安全体系结构 单独创建数据库用户对话框 SQLServer安全体系结构 编辑或删除数据库用户账号单击 用户 文件夹 在出现的显示用户账号的窗口中 右击需要操作的用户账号 选择 属性 命令 出现该用户的角色和权限窗口 可对该用户已设定内容进行重新编辑 选择 删除 便可删除该数据库用户 进行上述操作需要对当前数据库拥有用户管理及其以上的权限 SQLServer安全体系结构 数据库系统角色管理在SQLServer2000中可以把某些用户设置成某一角色 这些用户称为该角色的成员 当对该角色进行权限设置时 其成员自动继承该角色的权限 SQLServer中有两种角色 即服务器角色和数据库角色 服务器角色一台计算机可以承担多个SQLServer服务器的管理任务 固定服务器角色是对服务器级用户即登录账号而言的 它是指在登录时授予该登录账号对当前服务器范围内的权限 这类角色可以在服务器上进行相应的管理操作 完全独立于某个具体的数据库 固定服务器角色的信息存储在master数据库的sysxlogins系统表中 SQLServer2000提供了8种固定服务器角色 如图所示 SQLServer安全体系结构 固定服务器角色 数据库死锁解决方法 1 死锁是如何产生的呢 如果事务T1封锁了数据R1 T2封锁了数据R2 然后T1又请求封锁R2 因为T2已经封锁了R2 于是T1只能等待T2释放R2上的锁 接着T2又请求封锁R1 因T1已经封锁了R1 T2也只能等待T1释放R2上的锁 这样就出现了T1在等待T2 而T2又在等待T1的局面 T1和T2两个事务永远不能结束 形成死锁 日常故障处理和维护 1 死锁是如何产生的呢 如果事务T1封锁了数据R1 T2封锁了数据R2 然后T1又请求封锁R2 因为T2已经封锁了R2 于是T1只能等待T2释放R2上的锁 接着T2又请求封锁R1 因T1已经封锁了R1 T2也只能等待T1释放R2上的锁 这样就出现了T1在等待T2 而T2又在等待T1的局面 T1和T2两个事务永远不能结束 形成死锁 数据库死锁解决方法 2 如何预防和处理死锁 目前在数据库中解决死锁问题主要有两类方法 一类是采取一定的措施来预防死锁 另一类是允许发生死锁

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论