数据库原理及应用-第11章数据库的安全性管理.ppt

上传人:za****8 文档编号:20380100 上传时间:2021-03-14 格式:PPT 页数:63 大小:981.50KB
返回 下载 相关 举报
数据库原理及应用-第11章数据库的安全性管理.ppt_第1页
第1页 / 共63页
数据库原理及应用-第11章数据库的安全性管理.ppt_第2页
第2页 / 共63页
数据库原理及应用-第11章数据库的安全性管理.ppt_第3页
第3页 / 共63页
点击查看更多>>
资源描述
数据库原理及应用 数据库原理及应用 An Introduction to Database System 数据库原理及应用 数据库系统概论 An Introduction to Database System 第 11章 数据库的安全性管理 数据库原理及应用 第 11章 数据库的安全性管理 11.1数据库安全性控制的一般方法 11.2 SQL Server 的安全性机制 11.3登录和用户 11.4权限管理 11.5角色管理 11.6 其它安全设置 数据库原理及应用 教学目标 掌握 SQL Sever 的 安全 机制,了解登录和用户的 概念。 掌握权限管理和掌握角色管理。 要求读者深入理解 SQL Server 的安全机制,以及 掌握常用的管理操作,培养良好的数据库安全意 识以及制定合理的数据库安全策略。 建立网络数据库概念,锻炼实际数据库管理能力, 为今后从事数据库管理员( DBA)的工作奠定基 础。 数据库原理及应用 11.1数据库安全性控制的一般方法 1.1.1安全性级别 1.1.2 数据库安全控制的一般方法 1.1.3关系数据库标准语言 SQL的 自主存取控制方法 数据库原理及应用 引子 2009年 8月,美国 1.3亿张信用卡账户信息 的遭泄漏 2009年 9月,荷银客户巨额存款被盗 2010年 1月海南视窗“嗨!海南”整个程序 和数据被盗窃 2010年 1月,武汉大学教务系统数据被入侵, 黑客入侵,重庆某大学校园网 学生考试信 息全部丢失 数据库原理及应用 11.1数据库安全性控制的一般方法 对数据库不合法的使用称为数据库的滥用。 数据库的滥用可分为无意滥用和恶意滥用。 无意滥用主要是指经过授权的用户操作不 当引起的系统故障、数据库异常等现象。 恶意滥用主要是指未经授权的读取数据 (即偷窃信息)和未经授权的修改数据 (即破坏数据)。 数据库原理及应用 11.1数据库安全性控制的一般方法 数据库的安全性是指保护数据库,以防止 不合法的使用造成的数据泄密、更改或破 坏。数据库管理系统安全性保护,就是通 过种种防范措施以防止用户越权使用数据 库。安全保护措施是否有效是衡量数据库 系统的主要性能指标之一。 数据库原理及应用 11.1.1安全性级别 为了防止数据库的恶意滥用,可以在下述 不同的安全级别上设置各种安全措施。 环境级 职员级 操作系统级 网络级 数据库系统级 数据库原理及应用 11.1.2 数据库安全控制的一般方法 数据库系统中一般采用用户标识和鉴别、 存取控制、视图以及密码存储等技术进行 安全控制。 数据库原理及应用 11.1.2 数据库安全控制的一般方法 用户标识和鉴别是 DBMS提供的最外层保护 措施。用户每次登录数据库时都要输入用 户标识, DBMS进行核对后,对于合法的用 户获得 进入系统 最外层的权限。常用的方 法有: 身份 (Identification)认证 口令 (Password)认证 随机数运算认证 数据库原理及应用 11.1.2 数据库安全控制的一般方法 存取控制 (授权机制 ) :进一步对用户进行 识别和鉴定,以拒绝没有数据库使用权的 用户 (非法用户 )对数据库进行存取操作。它 确保具有数据库使用权限的用户访问数据 库并进行权限范围内的操作,同时令未被 授权的用户无法接近数据。 数据库原理及应用 11.1.2 数据库安全控制的一般方法 存取控制 (授权机制 ) 构成 定义用户权限 ( 操作种类 +DCL) 进行权限检查 数据库原理及应用 11.1.2 数据库安全控制的一般方法 存取控制 (授权机制 ) 分类 自主存取控制方法(灵活):用户对于不同的数 据对象可以有不同的存取权限,不同的用户对同 一数据对象的存取权限也可以各不相同,用户还 可以将自己拥有的存取权限转授给其他用户。 强制存取控制方法(严格):每一个数据对象被 标以一定的密级;每一个用户也被授予某一个级 别的许可证。对于任意一个对象,只有具有合法 许可证的用户才可以存取。 数据库原理及应用 11.1.2 数据库安全控制的一般方法 视图机制: 通过定义用户的外模式来提供 一定的安全保护功能。在关系数据库中, 可以为不同的用户定义不同的视图,通过 视图机制把要保密的数据对无权操作的用 户隐藏起来,从而自动地对数据提供一定 程度的安全保护。 数据库原理及应用 11.1.2 数据库安全控制的一般方法 审计方法 :把用户对数据库的所有操作自 动记录下来放入审计日志 (Audit Log)中,一 旦发生数据被非法存取, DBA可以利用审 计跟踪的信息,重现导致数据库现有状况 的一系列事件,找出非法存取数据的人、 时间和内容等。 实现太难 数据库原理及应用 11.1.2 数据库安全控制的一般方法 数据加密 :加密的基本思想是根据一定的 算法将原始数据 (称为明文 )变换为不可直接 识别的格式 (称为密文 ),从而使得不知道解 密算法的人无法获得数据的内容。 A # A 数据库原理及应用 11.1.3关系数据库标准语言 SQL 自主存取控制方法 SQL标准对自主存取控制提供了支持,其 DCL主要是 GRANT(授权 )语句和 REVOKE(收权 )语句。 数据库原理及应用 1. 关系中的用户权限 定义权限 规定对象操作 11.1.3关系数据库标准语言 SQL 自主存取控制方法 数据库原理及应用 11.1.3关系数据库标准语言 SQL 自主存取控制方法 数据对象 操作权限 表、视图、列 (TABLE) SELECT, INSERT, UPDATE, DELETE, ALL PRIVILEGE 基本表 ( TABLE) ALTER, INDEX 数据库( DATABASE) CREATETAB 表空间 ( TABLESPACE) USE 系统 CREATEDBC 数据库原理及应用 11.1.3关系数据库标准语言 SQL的自 主存取控制方法 2. SQL的存取控制功能 -授权和收权语句 格式 :GRANT 权限 1,权限 2,ON 对象类型 对象 名称 TO 用户 1,用户 2, WITH GRANT OPTION 功能 :将指定数据对象的指定权限授予指定的用户。 数据库原理及应用 11.1.3关系数据库标准语言 SQL的自 主存取控制方法 例 1 把对读者信息表 (readers)中的列“姓名”修改、查询表 的权限授予用户 user1的语句可以写为: GRANT UPDATE(姓名 ), SELECT ON TABLE readers TO user1; 例 2把对表 readers,books, borrowinf的查询、修改、插入和 删除等全部权限授予用户 user1和用户 user2的语句可以写 为: GRANT ALL PRIVILIGES ON TABLE readers,books, borrowinf TO userl, user2; 数据库原理及应用 11.1.3关系数据库标准语言 SQL的自 主存取控制方法 例 3 把对表 books的查询权限授予所有用户。 GRANT SELECT ON TABLE books TO PUBLIC; 例 4 把在数据库 MyDB中建立表的权限授予用户 user2。 GRANT CREATETAB ON DATABASE MyDB TO user2; 数据库原理及应用 11.1.3关系数据库标准语言 SQL的自 主存取控制方法 例 5 把对表 readers的查询权限授予用户 user3,并给用户 user3有再授予的权限。 GRANT SELECT ON TABLE readers TO user3 WITH GRANT OPTION; 例 6 用户 user3把查询 readers表的权限授予用户 user4。 GRANT SELECT ON TABLE readers TO user4; 数据库原理及应用 11.1.3关系数据库标准语言 SQL的自 主存取控制方法 注意 :在 SQL server2005中 ,使用 GRANT语句还可 以完成表 1-2中所列举的各种对象权限的控制,课 程中只介绍了 GRANT 数据库权限的使用方法 数据库原理及应用 11.1.3关系数据库标准语言 SQL的自 主存取控制方法 格式: REVOKE权限 1,权限 2 ON 对象类型 对象名 FROM用户 1,用户 2 ; 功能:把已经授予指定用户的指定权限收回。 数据库原理及应用 11.1.3关系数据库标准语言 SQL的自 主存取控制方法 例 7把用户 user1修改读者姓名的权限收回。 REVOKE UPDATE(姓名 )ON TABLE readers FROM userl; 例 8 把用户 user3查询 readers表的权限收回。 REVOKE SELECT ON TABLE readers FROM user3; 数据库原理及应用 11.1.3关系数据库标准语言 SQL的自 主存取控制方法 例 7把用户 user1修改读者姓名的权限收回。 REVOKE UPDATE(姓名 )ON TABLE readers FROM userl; 例 8 把用户 user3查询 readers表的权限收回。 REVOKE SELECT ON TABLE readers FROM user3; 数据库原理及应用 11.2 SQL Server 的安全性机制 SQL Server 是如何保证数据库安全性的 ? 数据库原理及应用 11.2 权限层次机制 操作系统级的安全性 在用户使用客户计算机通过网络实现 SQL Server 服务器的访问时,用户首先要获得 计算机操作系统的使用权。 数据库原理及应用 11.2 权限层次机制 SQL Server 级的安全性 SQL Server 的服务器级安全性建立在控制服务器 登录帐号和口令的基础上 。 SQL Server 采用了标 准 SQL Server 登录和集成 Windows NT登录两种 方式 。 数据库原理及应用 11.2 权限层次机制 数据库级的安全性 在用户通过 SQL Server服务器的安全性检验以后, 将直接面对不同的数据库入口这是用户将接受的 第三次安全性检验。 在建立用户的登录帐号信息时, SQL Server会提 示用户选择默认的数据库。 在默认的情况下只有数据库的拥有者才可以访问 该数据库的对象 数据库原理及应用 11.3登录和用户 1.3.1登录身份验证模式及其设置 1.3.2创建登录 1.3.3创建用户 数据库原理及应用 11.3.1登录身份验证模式及其设置 用户的概念: 数据库用户从概念上与操作 系统用户是完全无关的 ,是为特定数据库 定义的 登录的概念:用户连接到 SQL Server 账户 都称 SQL Server 的登录 数据库原理及应用 11.3.1登录身份验证模式及其设置 对于访问 SQL Server的登录,有两种验证模式: Windows 身份验证中, SQL Server依赖于 Windows操作系统提供登录安全性, SQL Server 检验登录是否被 Windows验证身份,并根据这一 验证来允许访问 混合模式身份验证, SQL Server 将验证登录的身 份,即通过用户提供的登录名和与预先存储在数 据库中的登录名和密码进行比较来完成身份验证。 数据库原理及应用 11.3.1登录身份验证模式及其设置 演示在 SSMS中设置身份验证模式 数据库原理及应用 11.3.2创建登录 登录属于服务器级的安全策略,要连接到 数据库,首先要存在一个合法的登录 演示创建登录 数据库原理及应用 11.3.3创建用户 用户是数据库级的安全策略,在为数据库 创建新的用户前,必须存在创建用户的一 个登录或者使用已经存在的登录创建用户。 演示创建用户 数据库原理及应用 11.4权限管理 11.4.1服务器权限 11.4.2数据库对象权限 11.4.3数据库权限 数据库原理及应用 11.4权限管理 权限用于控制对数据库对象的访问 , 以及 指定用户对数据库可以执行的操作 , 用户 可以设置服务器和数据库的权限。 数据库原理及应用 11.4.1服务器权限 服务器权限允许数据库管理员执行任务。 这些权限定义在固定服务器角色( Fixed Server Roles)中。 这些固定服务器角色可以分配给登录用户, 但这些角色是不能修改的。 一般只把服务器权限授给 DBA(数据库管理 员 ),他不需要修改或者授权给别的用户登 录。 数据库原理及应用 11.4.2数据库对象权限 数据库对象权限是授予用户以允许他们访 问数据库中对象的一类权限,对象权限对 于使用 SQL语句访问表或者视图是必须的。 演示添加数据库对象权限 数据库原理及应用 11.4.3数据库权限 SQL Server 2005对数据库权限进行了扩充, 增加了许多新的权限,这些数据库权限除 了授权用户可以创建数据库对象和进行数 据库备份外,还增加了一些更改数据库对 象的权限。 演示给用户添加数据库权限 数据库原理及应用 11.5角色管理 11.5.1固定服务器角色 11.5.2数据库角色 数据库原理及应用 11.5角色管理 在一个大的系统中,数据库管理员往往不 只由一人承担,而是将管理任务进行功能 划分,每人提当不同的责任。系统预定义 角色就是为适应这种要求而设计的。 数据库原理及应用 11.5角色管理 角色用来简化将很多权限分配给用户这一复杂任 务的管理。 角色允许用户分组接受同样的数据库权限,而不 用单独给每一个用户分配这些权限。 用户可以使用系统自带的角色,也可以创建一个 代表一组用户使用的权限角色,然后把这个角色 分配给这个工作组的用户。 一般而言,角色是为特定的工作组或者任务分类 而设置的,用户可以根据自己所执行的任务成为 一个或多个角色的成员。 数据库原理及应用 11.5.1固定服务器角色 在 SQL Server安装时就创建了在服务器级 别上应用的大量预定义的角色,每个角色 对应着相应的管理权限 所有的服务器角色都是“固定的”角色 数据库原理及应用 11.5.1固定服务器角色 角 色 特 性 sysadmin 该角色能够执行 SQL Server上的任何操作。 serveradmin 该角色能设置服务器范围的配置选项或关闭服务器。 setupadmin 该角色仅限于管理链接服务器和启动过程 securityadmin 对于专门创建出来用于管理登录名、读取错误日志 和创建数据库许可权限的登录名来说,该角色非 常便利。 数据库原理及应用 11.5.1固定服务器角色 processadmin 能够管理 SQL Server中运行的进程 必要的话,该角 色能够终止长时间运行的进程 dbcreator 该角色仅限于创建和更改数据库 diskadmin 管理磁盘文件(指派给了什么文件组、附加和分离数据 库,等等) bulkadmin 该角色有些怪异。它被明确创建出来,用于执行 BULK INSERT语句的权限, 数据库原理及应用 11.5.1固定服务器角色 演示为用户分配固定服务器角色,从而使 该用户获取相应的权限。 数据库原理及应用 11.5.2数据库角色 在 SQL Server安装时,数据库级别上也有 一些预定义的角色,在创建每个数据库时 都会添加这些角色到新创建的数据库中, 每个角色对应着相应的权限。 数据库角色限制在单个数据库的范围之内 数据库角色分为两个子类:固定数据库角 色和用户定义数据库角色。 数据库原理及应用 11.5.2数据库角色 固定数据库角色 角 色 特 性 db_owner 该角色表现得就好像它是所有其他数据库角色中的成员 一样。 db_accessadmin 实现类似于 securityadmin服务器角色所实现功能的一部 分,只不过这一角色仅局限于指派它并创建用户的 单个数据库中(不是单个的权限)。它不能创建新 的 SQL Server登录账户,但是,该角色中的成员能够 把 Windows用户和组以及现有的 SQL Server登录账户 加入到数据库中 db_datareader 能够在数据库中所有的用户表上执行 SELECT语句 db_datawriter 能够在数据库中所有的用户表上执行 INSERT、 UPDATE和 DELETE语句 数据库原理及应用 11.5.2数据库角色 db_ddladmin 能够在数据库中添加、修改或删除对象 db_securityadmin securityadmin服务器角色的数据库级别的等价物。这一数据 库角色不能在数据库中创建新的用户,但是,能够管理角色 和数据库角色的成员,并能在数据库中管理语句和对象的许 可权限 db_backupoperator 备份数据库(打赌你不会想到那样一个角色!) db_denydatareader 提供一种等同于在数据库中所有表和视图上 DENY SELECT 的效果 db_denydatawriter 类似于 db_denydatareader,只不过这里影响的是 INSERT、 UPDATE和 DELETE语句 数据库原理及应用 11.5.2数据库角色 自定义数据库角色:可以为数据库添加角色,然 后把角色分配给用户,使用户拥有相应的权限, 在 SSMS中,给用户添加角色(或者叫做将角色 授权用户)的操作与将固定服务器角色授予用户 的方法类似。 步骤如下: a.创建新的数据库角色。 b.分配权限给创建的角色。 c.将这个角色授予某个用户。 数据库原理及应用 11.5.2数据库角色 演示创建新的数据库角色操作 数据库原理及应用 11.6 其它安全设置 11.6.1 SA账户安全 11.6.2 选择身份认证 11.6.3管理扩展存储过程 11.6.4 使用加密功能 11.6.5 修改 1433端口 11.6.6对远程网络连接进行 IP限制 11.6.7启用 C2审核跟踪 数据库原理及应用 11.6.1 SA账户安全 SA账户安全:正在安装完 SQL SERVER 2005之后 , 系统自带一个账户 SA, 为了防止黑客通过这个用 户攻击数据库 , 通常要修改默认密码 。 use master ALTER LOGIN sa WITH NAME=zxs /*修改 SA帐 号 */ sp_password 111111,123456,sa /*修改 SA密码 */ 数据库原理及应用 11.6.2 选择身份认证 选择身份认证 :可以使用 windows身份认证和混合 身份认证 1. 如果不希望系统管理员接触数据库的话 , 可以 在安全性 , 登录名把系统帐号 “ BUILTINAdministrators”删除 。 2. 当然 , 还有别的多余的帐号也可一同禁止 , 只 需要在帐号 、 属性 、 状态中把是否允许连接到 数据库引擎改为拒绝 , 还有登录改为禁用即可 , 不过这样的坏处就是当你忘了 SA的密码时 , 没 办法找回 。 数据库原理及应用 11.6.3管理扩展存储过程 删除不必要的存储过程 , 因为有些存储过 程能很容易地被人利用起来提升权限或进 行破坏 。 数据库原理及应用 11.6.4 使用加密功能 SQL Server 2005本身就具有加密功能 , 完全集 成了一个密钥管理架构 。 不过 , 最好远程网络连 接时使用 SSL来加密协议 , 这就需要一个证书来 支持 。 数据库原理及应用 11.6.5 修改 1433端口 使用 I P S e c 策略阻止所有地址访问本机的 TCP1433与 UDP1434端口 , 也可对 TCP1433端 口进行修改 , 但是在 SQL2005中 , 可以 使用 TCP 动态端口 。 数据库原理及应用 11.6.6对远程网络连接进行 IP限制 对远程网络连接进行 IP限制 :但是 Windows 2K以 上系统了提供了 IPSec策略 。 对远程网络连接的 IP 进行限制 , 只保证需要的 IP能够访问 , 拒绝其他 IP进行的端口连接 , 把安全威胁降到最低 数据库原理及应用 11.6.7启用 C2审核跟踪 启用 C2审核跟踪 :在服务器的属性安全中,启用 登录审核中的失败与成功登陆,启用 C2审核跟踪, C2是一个政府安全等级,它保证系统能够保护资 源并具有足够的审核能力。启用 C2审核的命令为 EXEC sys.sp_configure Nc2 audit mode, N1
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!