{安全生产管理}第6章数据库安全保护

上传人:冯** 文档编号:140609915 上传时间:2020-07-31 格式:PPTX 页数:69 大小:321.60KB
返回 下载 相关 举报
{安全生产管理}第6章数据库安全保护_第1页
第1页 / 共69页
{安全生产管理}第6章数据库安全保护_第2页
第2页 / 共69页
{安全生产管理}第6章数据库安全保护_第3页
第3页 / 共69页
{安全生产管理}第6章数据库安全保护_第4页
第4页 / 共69页
{安全生产管理}第6章数据库安全保护_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《{安全生产管理}第6章数据库安全保护》由会员分享,可在线阅读,更多相关《{安全生产管理}第6章数据库安全保护(69页珍藏版)》请在金锄头文库上搜索。

1、第6章 数据库安全保护,【本章重点】 理解数据库安全性控制含义,掌握数据库安全性控制方法; 理解数据库的完整性控制; 理解事务的概念,掌握数据库并发控制的方法; 掌握数据库备份及恢复的原理和技术。,3,6.1 数据库的安全性控制 6.2 数据库完整性控制 6.3 事务和并发控制 6.4 数据库恢复,4,6.1 数据库的安全性,数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一。一般来说,对数据库的破坏主要来自以下4个方面: (1)非法用户 (2)非法数据 (3)多用户的并发访问 (4)各种故障,针对以上四种对数据库破坏的可能情况,数据库管理系统(DBMS)已采取相应措施对数据库实施

2、保护,具体如下: (1)利用权限机制。 (2)利用完整性约束,防止非法数据进入数据库。 (3)提供并发控制(Concurrent Control)机制,控制多个用户对同一数据的并发操作,以保证多个用户并发访问的顺利进行。 (4)提供故障恢复(Recovery)能力,以保证各种故障发生后,能将数据库中的数据从错误状态恢复到一致状态,2、数据库的安全标准,目前国际上广泛采用的是美国标准TCSEC(TDI),在此标准中将数据库安全划分为4大类,由低到高依次为D、C、B、A。其中C级由低到高分为C1和C2,B级由低到高分为B1、B2和B3。 我国的国家标准的基本结构与TCSEC相似。我国标准分为5级,

3、从第1级到第5级依次与TCSEC标准的C级(C1、C2)及B级(B1、B2、B3)一致。,7,6.1.2 安全性控制的方法,数据库的安全性是指在信息系统的不同层次保护数据库,防止未授权的数据访问,避免数据的泄漏、不合法的修改或对数据的破坏。,图6-1 计算机系统的安全模型,8,安全性控制的一般方法 用户认证 存取权限控制 视图隔离 数据加密 审计跟踪,9,1、用户认证 用户标识与鉴别,即用户认证,是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份,每次用户要求进入系统时,由系统进行核对,通过鉴定正确后才提供机器使用权。 用户标识和鉴定的方法 常用的方法是通过

4、用户名和口令。系统内部会记录着所有合法用户的标识及口令,通过比对来核实是否为合法用户,用户口令的输入不显示在屏幕上。 通过用户名和口令来鉴定用户的方法简单易行,但其可靠程度差。近年来,一些更加有效的身份认证技术迅速发展起来。例如使用某种计算机过程和函数、智能卡技术,物理特征(指纹、声音、手图等)等具有高强度的认证技术。,10,2、存取权限控制 用户存取权限确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法查看或操作数据。 在存取控制技术中,DBMS所管理的全体实体分为主体和客体两类。 数据库存取控制机制包括两个部分: 1、定义用户权限,并将用户权限记录到数据字典中 2、合法

5、性权限检查 存取控制包括自主型存取控制(DAC)和强制型存取控制(MAC)两种类型。,3、视图隔离 视图是是从一个或几个基表(或视图)导出的表,与基表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。 在实际应用中,常将视图机制与存取控制机制结合起来使用,首先用视图机制屏蔽一部分保密数据,再在视图上进一步定义存取权限。通过定义不同的视图及有选择地授予视图上的权限,可以将用户、组或角色限制在不同的数据子集内。,12,4、数据加密 加密的基本思想是根据一定的算法将原始数据(术语为明文)变换为不可直接识别的格式(术语为密文),从而使得不知道解密算法的

6、人无法获知数据的内容。数据解密是加密的逆过程,即将密文数据转变成可见的明文数据。 一个密码系统包含明文集合、密文集合、密钥集合和算法,其中密钥和算法构成了密码系统的基本单元。算法是一些公式、法则或程序,它规定明文与密文之间的变换方法,密钥可以看作算法中的参数。 加密方法可分为对称加密与非对称加密两种。,13,5、审计跟踪 审计功能是一种监视措施,它跟踪记录有关数据的访问活动。 审计功能把用户对数据库的所有操作自动记录下来,存放在审计日志文件中。 常用两种审计方式包括用户审计和系统审计。,14,6.1.3 SQL Server2012的安全性策略,SQL Server 2012的安全模型分为三层

7、结构,分别为服务器安全管理、数据库安全管理和数据库对象的访问权限管理: 第一层安全性是SQL Server 服务器级别的安全性。建立在控制服务器登陆账号和密码的基础上。 第二层安全性是数据库级别的安全性。 即是否具有访问某个数据库的权利。 第二层安全性是数据库对象级别的安全性。,15,SQL Server2012的身份验证模式,Windows身份验证模式 Windows身份验证模式使用由Windows授权的用户,并允许通过身份验证的用户登陆SQL Server2012。用户登录到SQL Server2012时,只需选择Windows身份验证模式,无需再提供登录帐户和密码,系统会从用户登录到Wi

8、ndows时提供的用户名和密码中查找用户的登录信息,以判断其是否为SQL Server2012的合法用户。 该模式是SQL Server2012的默认登陆模式,支持Windows的密码策略和锁写策略。,16,TCP/IP Sockets,命名管道,SQL Server身份验证模式,Windows身份验证模式,混合验证模式 混合身份验证模式允许以SQL Server身份验证模式或者Windows身份验证模式来进行验证。 如果在混合模式下选择使用SQL Server授权用户登录SQL Server2012,则用户必须提供登录名和密码,SQL Server使用这两部分内容来验证用户,SQL Serv

9、er2012通过检查是否已设置SQL Server登录帐户,以及指定的密码是否与记录的密码匹配,进行身份验证。,17,SQL Server在安装时,会自动创建一个DB服务器的登录用户sa,即系统管理员,用以创建其他登录用户和授权。 SQL Server2012保障服务器作用域安全可以通过管理登陆名来实现。 创建服务器的登录账号 利用Enterprise Manage 利用存储过程 EXEC sp_addlogin 登录账号名称, 密码, 默认数据库名, 使用的语言 例 建立了一个名称为Jake的登录账号。 EXEC sp_addlogin Jake, p2015, Teach, NULL,18

10、,SQL Server的服务器角色 角色(Role)是对权限集中管理的一种机制,将不同的权限组合在一起就形成了一种角色。 服务器角色是执行服务器级管理操作的用户权限的集合。,19,2、SQL Server的数据库用户,数据库的用户账号 用户账号要在特定的数据库内创建,并关联一个登录账号(当一个数据库的用户创建时,必须关联一个登录账号)。 每个登录账号在一个数据库中只能有一个用户账号,但每个登录账号可以在不同的数据库中各有一个用户账号。 注意: 登录账号具有对某个数据库的访问权限,并不表示该登录账号对该数据库具有存取的权限。,20,查看数据库的用户账号 利用存储过程 EXEC sp_helpus

11、er 创建数据库的用户账号 使用存储过程 sp_adduser 登录账号, 用户账号, 所属的数据库角色 设置数据库用户账号的权限 对数据库对象的操作,具体含义如下 SELECT:对表或者视图进行查询。 INSERT:在表或者视图中插入记录。 UPDATE:对表或者视图中的数据进行修改。 DELETE:删除表或者视图中的数据。 EXEC:执行存储过程。 DRI:可对表的外键加以限制,以完成表的参照完整性。,3、存取控制 SQL Server对权限的管理包含如下三个内容: (1)授予权限:允许用户或角色具有某种操作权。 (2)收回权限:删除以前在当前数据库内的用户上授予或拒绝的权限。 (3)拒绝

12、权限:拒绝给当前数据库内的安全帐户授予权限并防止安全帐户通过其组或角 色成员继承权限。,在SQL Server2012中,权限分为对象权限、语句权限和隐含权限三种。 (1)对象权限 对象权限是指用户对数据库中的表、视图等对象的操作权,相当于数据操作语言的语句权限。表、视图的权限包括SELECT、INSERT、DELETE、UPDATE。列的权限包括SELECT和UPDATE。存储过程的权限包括EXECUTE。,授权语句: GRANT 对象权限名, ON 表名 | 视图名 | 存储过程名 TO 数据库用户名 | 用户角色名, WITH GRANT OPTION 例如 GRANT SELECT,I

13、NSERT ON Customer TO user1 WITH GRANT OPTION. 该语句把对Customer表的查询权和插入权授予给用户user1,user1同时获得将这些权限转授给别的用户的权限。,收回权限语句: REVOKE 对象权限名, ON 表名 | 视图名 | 存储过程名 FROM 数据库用户名|用户角色名, RESTRICT | CASCADE 例如 REVOKE INSERT ON Student FROM user1 CASCADE 该语句表示从用户user1处收回对Student表的插入权,若user1已把获得的对Student表的插入权转授给其他用户,则连锁收回。

14、,拒绝权限语句: DENY 对象权限名, ON 表名 | 视图名 | 存储过程名 TO 数据库用户名|用户角色名, 例如 DENY UPDATE ON CustomerTO user1 该语句表示拒绝用户user1对Customer表进行修改,(2)语句权限 语句权限是指创建数据库或数据库中的项目的权限,相当于数据定义语言的语句权限。 语句权限包括CREATE DATABASE、CREATE TABLE、CREATE VIEW、CREATE DEFAULT、CREATE RULE、CREATE FUNCTION、CREATE PROCEDURE、BACKUP DATABASE、BACKUP L

15、OG。 授予权限语句: GRANT 语句权限名, TO 数据库用户名|用户角色名, 【例 6-1】授予用户user1创建数据库表的权限 GRANT CREATE TABLE TO user1,收回权限语句: REVOKE 语句权限名, FROM 数据库用户名|用户角色名, 【例 6-2】收回用户user1创建数据库表的权限 REVOKE CREATE TABLE FROM user1 拒绝权限语句: DENY 语句权限名, TO 数据库用户名|用户角色名, 【例 6-3】拒绝用户user1创建视图的权限 DENY CREATE VIEW TO user1,(3)隐含权限 隐含权限是指由SQL

16、Server预定义的服务器角色、数据库角色、数据库拥有者和数据库对象拥有者所具有的权限。隐含权限是由系统预先定义好的,相当于内置权限,不需要再明确地授予这些权限。例如,数据库拥有者自动地拥有对数据库进行一切操作的权限。,4、视图 通过定义不同的视图及有选择地授予视图上的权限,可以将用户、组或角色限制在不同的数据子集内。 【例 6-4】用户user1只能检索Customer表中性别为女的客户信息,可以先建立视图CS_Customer,再给user1授予对CS_Customer的查询权。 CREATE VIEW CS_Customer AS SELECT * FROM Customer WHERE csex =女; GRANT SELECT ON CS_Customer TO user1;,5、数据加密 Microsoft SQL Server的加密机制可以对SQL Sercer中存储的登录和应用程序角色密码、作为网络数据包而在客户端和服务器端之间发送的数据、存储过程定义、函数定义、视图定义、触发器定义、默认值定义、规则定义等数据库对象进行加密。 6

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号