软件学院自评报告软件学院自评报告 回顾回顾 P4P4u数据库系统阶段管理数据具有如下特点:数据库系统阶段管理数据具有如下特点: ((1 1)共享性高、冗余度小;)共享性高、冗余度小;((3 3)数据独立性高;)数据独立性高;((2 2)数据的结构化;)数据的结构化;((4 4)具有完整的数据管理和控制功能)具有完整的数据管理和控制功能数据的完整性数据的完整性数据的安全性数据的安全性并发控制并发控制数据恢复数据恢复1软件学院自评报告软件学院自评报告第九章第九章 数据库安全性数据库安全性 2软件学院自评报告软件学院自评报告 9.1 安全性概述 9.2 数据库安全控制 9.3 DB2 数据库的安全性措施 第九章第九章 数据库安全性数据库安全性3软件学院自评报告软件学院自评报告 9.1 9.1 安全性概述安全性概述 数据库的安全性是数据库的安全性是 指保护数据库以防止不合法的使用所造成的数据泄露、指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
更改或破坏从广义上讲,数据库系统的安全框架可以划分为三个层次:从广义上讲,数据库系统的安全框架可以划分为三个层次: ⑴ ⑴ 网络系统层次;网络系统层次; ⑵ ⑵ 宿主操作系统层次;宿主操作系统层次; ⑶ ⑶ 数据库管理系统层次数据库管理系统层次4软件学院自评报告软件学院自评报告 9.1 9.1 安全性概述安全性概述 ⑴ ⑴ 网络系统层次;网络系统层次; ⑵ ⑵ 宿主操作系统层次;宿主操作系统层次; ⑶ ⑶ 数据库管理系统层次数据库管理系统层次服务请求服务请求结果结果服务器(服务器(ServerServer))数据库数据库DBMS客户端(客户端(ClientClient))应用程序应用程序5软件学院自评报告软件学院自评报告面临的威胁:面临的威胁: a) a)欺骗(欺骗(MasqueradeMasquerade);); b) b)重发重发(Replay)(Replay);; c) c)报文修改报文修改(Modification of message)(Modification of message);; d) d)拒绝服务拒绝服务(Deny of service)(Deny of service);; e) e)陷阱门陷阱门(Trapdoor)(Trapdoor);; f) f)特洛伊木马特洛伊木马(Trojan horse)(Trojan horse);; g) g)攻击:如透纳攻击(攻击:如透纳攻击(Tunneling Tunneling Attack Attack)、)、 应用软件攻击等。
应用软件攻击等相关安全防范技术相关安全防范技术 防火墙防火墙 入侵检测入侵检测 协作式入侵检测协作式入侵检测 9.1.1 9.1.1 网络系统层次的安全技术网络系统层次的安全技术6软件学院自评报告软件学院自评报告9.1.2 9.1.2 宿主操作系统层次的安全技术宿主操作系统层次的安全技术主主 要要 安安 全全 技技 术术 操作系统安全策略操作系统安全策略安全管理策略安全管理策略数据安全数据安全 密码策略密码策略账户锁定策略账户锁定策略审核策略审核策略IPIP安全策略安全策略用户权利指派用户权利指派加密数据的恢复代理加密数据的恢复代理其它安全选项其它安全选项 其核心是保证服务器的安全和分配好各类用户的权限其核心是保证服务器的安全和分配好各类用户的权限数据加密技术数据加密技术数据备份数据备份数据存储的安全性数据存储的安全性数据传输的安全性等数据传输的安全性等 7软件学院自评报告软件学院自评报告 数据库系统的安全性很大程度上数据库系统的安全性很大程度上依赖于数据库管依赖于数据库管理系统理系统如果数据库管理系统安全机制非常强大,则。
如果数据库管理系统安全机制非常强大,则数据库系统的安全性能就较好数据库系统的安全性能就较好9.1.2 9.1.2 数据库管理系统层次的安全技术数据库管理系统层次的安全技术u数据库管理系统在操作系统下都是以数据库管理系统在操作系统下都是以文件形式文件形式进行管理的进行管理的8软件学院自评报告软件学院自评报告9.2.1 9.2.1 计算机系统的安全模型计算机系统的安全模型9.2.2 9.2.2 安全性控制的一般性方法安全性控制的一般性方法9.2 9.2 数据库安全控制数据库安全控制9软件学院自评报告软件学院自评报告在计算机系统中安全措施是一级一级层层设置的:在计算机系统中安全措施是一级一级层层设置的: 9.2.1 9.2.1 计算机系统的安全模型计算机系统的安全模型用户用户用户标识用户标识和鉴别和鉴别DBMSDBMS存取控制存取控制OSOSDBDB操作系统操作系统安全保护安全保护数据密码数据密码存储存储10软件学院自评报告软件学院自评报告9.2.1 9.2.1 安全性控制的一般方法安全性控制的一般方法1. 1. 用户标识与鉴别用户标识与鉴别 用户标识和鉴别是系统提供的最外层安全保护措施;用户标识和鉴别是系统提供的最外层安全保护措施;2. 2. 存取控制存取控制 定义获得上机权的用户可在哪些数据对象上进行哪些定义获得上机权的用户可在哪些数据对象上进行哪些类型的操作;类型的操作;11软件学院自评报告软件学院自评报告9.2.1 9.2.1 安全性控制的一般方法安全性控制的一般方法数据对象数据对象操作类型操作类型模模式式模式、外模式、内模式模式、外模式、内模式建立、修改、检索建立、修改、检索数数据据表、属性列表、属性列查找、插入、修改、删除查找、插入、修改、删除授权编译程序授权编译程序和和合法权限检查机制合法权限检查机制一起组成了安全子系统。
一起组成了安全子系统 衡量授权机制是否灵活的一个重要指标是衡量授权机制是否灵活的一个重要指标是授权粒度授权粒度,即可以定,即可以定义的数据对象的范围义的数据对象的范围 授权定义中数据对象的粒度越细,即可以定义的数据对象的授权定义中数据对象的粒度越细,即可以定义的数据对象的范围越小,授权子系统就越灵活范围越小,授权子系统就越灵活12软件学院自评报告软件学院自评报告9.2.1 9.2.1 安全性控制的一般方法安全性控制的一般方法3. 3. 视图机制视图机制 n 通过视图机制把要保密的数据对无权存取的用户隐藏通过视图机制把要保密的数据对无权存取的用户隐藏 起来,从而自动地对数据提供一定程度的安全保护起来,从而自动地对数据提供一定程度的安全保护n通常是视图机制与授权机制配合使用通常是视图机制与授权机制配合使用例如,用户例如,用户WangPingWangPing只能检索计算机系学生的信息我们可以先建立计只能检索计算机系学生的信息我们可以先建立计 算机系学生的视图算机系学生的视图CSStudentCSStudent,然后在视图上再定义授予王平的,然后在视图上再定义授予王平的 SELECT SELECT权限。
权限CREATE VIEW CREATE VIEW CSStudentCSStudent AS AS SELECT * FROM Student SELECT * FROM Student WHERE WHERE SdeptSdept=’CS’;=’CS’;GRANT select ON GRANT select ON CSStudentCSStudent TO TO WangPingWangPing;; 13软件学院自评报告软件学院自评报告9.2.1 9.2.1 安全性控制的一般方法安全性控制的一般方法4. 4. 审计追踪审计追踪 把用户对数据库的所有操作自动记录下来放入审计日志把用户对数据库的所有操作自动记录下来放入审计日志((Audit LogAudit Log)中DBADBA可以利用审计跟踪的信息,重现导致数据库可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等现有状况的一系列事件,找出非法存取数据的人、时间和内容等5. 5. 数据加密数据加密 根据一定的算法将原始数据变换为不可直接识别的格式,根据一定的算法将原始数据变换为不可直接识别的格式,从而使得不知道解密算法的人无法获知数据内容。
从而使得不知道解密算法的人无法获知数据内容14软件学院自评报告软件学院自评报告u DB2 DB2安全性简介安全性简介u DB2 DB2中的身份验证中的身份验证u DB2 DB2中的权限与特权中的权限与特权u DB2 DB2审计审计9.3 DB29.3 DB2数据库的安全性措施数据库的安全性措施15软件学院自评报告软件学院自评报告可从三个级别来对可从三个级别来对DB2DB2系统的安全性进行控制:系统的安全性进行控制:9.3.1 9.3.1 安全性简介安全性简介u 第二个级别是控制对数据库的存取;第二个级别是控制对数据库的存取;u 第一个级别是控制对实例的存取第一个级别是控制对实例的存取所有对实例的存取都由所有对实例的存取都由DB2DB2之外的安全设施来管理;之外的安全设施来管理;u 第三个级别是控制对数据库内数据和相关对象的存取第三个级别是控制对数据库内数据和相关对象的存取16软件学院自评报告软件学院自评报告安全性管理的第一步就是核实用户身份,该过程称为安全性管理的第一步就是核实用户身份,该过程称为验证验证9.3.2 DB29.3.2 DB2中的身份验证中的身份验证n如果连接时没有提供用户名和口令,如果连接时没有提供用户名和口令,DB2DB2会使用用户在客户会使用用户在客户端操作系统登录时使用的用户名和口令进行验证;端操作系统登录时使用的用户名和口令进行验证;uDB2DB2提供了提供了ATTACHATTACH和和CONNECTCONNECT两条命令来实现对实例两条命令来实现对实例和数据库的连接:和数据库的连接:n如果使用如果使用CONNECT CONNECT 或者或者ATTACHATTACH命令时提供了用户名和口令,命令时提供了用户名和口令,DB2DB2会使用提供的用户名和口令进行验证;会使用提供的用户名和口令进行验证;n用户还可以通过提供用户名、现有口令、新口令和确认口令(为用户还可以通过提供用户名、现有口令、新口令和确认口令(为保证新口令输入的正确性,通常需要重新输入一次口令进行比较)保证新口令输入的正确性,通常需要重新输入一次口令进行比较)来请求更改现有口令。
来请求更改现有口令1.1.身份验证身份验证17软件学院自评报告软件学院自评报告9.3.2 DB29.3.2 DB2中的身份验证中的身份验证2.2.身份验证的位置身份验证的位置u验证位置的确定验证位置的确定 验证类型定义了如何进行验证,以及在哪里进行验证验证类型定义了如何进行验证,以及在哪里进行验证18软件学院自评报告软件学院自评报告9.3.2 DB29.3.2 DB2中的身份验证中的身份验证3.DB23.DB2中的权限与特权(中的权限与特权(1 of 21 of 2)) 权限权限是一组高层次的用户权力,通常授予那些需要对是一组高层次的用户权力,通常授予那些需要对数据库和实例进行管理和维护的用户数据库和实例进行管理和维护的用户uDB2DB2有五种权限:有五种权限:P200P200n SYSADMSYSADM – –系统管理权限系统管理权限DB2DB2系统最高级别的权限系统最高级别的权限 nSYSCTRL –SYSCTRL –系统控制权限系统控制权限nSYSMAINT –SYSMAINT –系统维护权限系统维护权限n LOAD – LOAD –对表进行对表进行LOADLOAD操作的权限操作的权限n DBADMDBADM – –数据库管理权限数据库管理权限在数据库级别,最高权限是在数据库级别,最高权限是DBADMDBADM权限。
权限 19软件学院自评报告软件学院自评报告9.3.2 DB29.3.2 DB2中的身份验证中的身份验证3.DB23.DB2中的权限与特权(中的权限与特权(2 of 22 of 2)) 特权特权是针对某个数据库对象(如表、视图等)的用户是针对某个数据库对象(如表、视图等)的用户权力,通常授予那些只需要对数据库对象进行存取的用户权力,通常授予那些只需要对数据库对象进行存取的用户n拥有者特权拥有者特权 对于大多数数据库对象,创建对象的用户通常对于该对象具对于大多数数据库对象,创建对象的用户通常对于该对象具有全面的控制;有全面的控制;n个体特权个体特权 个体特权允许用户对数据库对象执行特定操作,有时针对个体特权允许用户对数据库对象执行特定操作,有时针对特定对象;特定对象;n隐式特权隐式特权 隐式特权是当用户被显式赋予某些高层次特权时,自动赋隐式特权是当用户被显式赋予某些高层次特权时,自动赋予用户的特权予用户的特权20软件学院自评报告软件学院自评报告9.3.2 DB29.3.2 DB2中的身份验证中的身份验证4.DB24.DB2审计审计在在DB2DB2中,审计设施与特定实例有关。
中,审计设施与特定实例有关只有具有只有具有SYSADMSYSADM权限的用户可以使用审计设施权限的用户可以使用审计设施使用审计设施,对使用审计设施,对DB2DB2系统上执行的每一个操作,比如系统上执行的每一个操作,比如都会有一个或多个审计记录生成审计记录可以分成都会有一个或多个审计记录生成审计记录可以分成以下几类:以下几类:nAUDITAUDIT ■■CHECKING CHECKING nOBJMAINTOBJMAINT ■■SECMAINTSECMAINTnSYSADMINSYSADMIN ■■VALIDATEVALIDATEnCONTEXTCONTEXT21。