您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 网络信息安全_第五次课
第四章网络数据库与数据安全本章要点网络数据库系统特性及安全网络数据库的安全特性网络数据库的安全保护网络数据备份和恢复第一节网络数据库安全概念(一)数据库安全的概念1、数据库安全(1)第一层含义是数据库系统的安全性。硬件运行安全物理控制安全操作系统安全用户有可连接数据库的授权灾害、故障恢复(2)第二层含义是数据库数据的安全性。有效的用户名/口令鉴别用户访问权限控制数据存取权限、方式控制审计跟踪数据加密防止电磁信息泄漏2.数据库安全管理原则(1)管理细分和委派原则(2)最小权限原则(3)账号安全原则(4)有效审计原则(二)数据库管理系统及特性1、数据库管理系统简介2、数据库管理系统的安全功能数据库管理系统(DBMS):专门负责数据库管理和维护的计算机软件系统。它是数据库系统的核心,不仅负责数据库的维护工作,还能保证数据库的安全性和完整性。(1)数据安全性保证数据库数据安全,通常采取以下措施:将数据库中需要保护和不需要保护的数据分开;采取ID号、口令和权限等访问控制;数据加密后存于数据库。(2)数据的共享性不同的应用程序可以使用同一个数据库。不同的应用程序可以在同一时刻去存取同一个数据。数据库中的数据不但可供现有的应用程序共享,还可为新开发的应用程序使用。应用程序可用不同的程序设计语言编写,它们可以访问同一个数据库。(3)数据的结构化基于文件的数据的主要优势就在于它利用了数据结构。数据库中的文件相互联系,并在整体上服从一定的结构形式。数据库具有复杂的结构,不仅是因为它拥有大量的数据,同时也因为在数据之间和文件之间存在着种种联系。(4)数据的独立性数据的独立性是数据与应用程序之间不存在相互依赖关系,数据的逻辑结构、存储结构和存储方法不因应用程序修改而修改。物理独立性逻辑独立性DBMS还具有以下特性:保证数据的安全性和完整性,抵御一定程度的物理破坏,能维护和提交数据库内容;能识别用户,分配授权和进行访问控制,包括身份证识别和验证。多用户:网络系统的数据库是为多个用户提供访问服务的;高可靠性:多用户所使用的数据库要求一定有高可靠性;数据频繁更新:多用户访问数据库的频率高,对数据的操作频繁;3、数据库事务“事务”是数据库中的一个重要概念,是一系列操作过程的集合,也是数据库数据操作的并发控制单位。DBMS在数据库操作时进行“事务”定义,要么一个“事务”应用的全部操作结果都反映在数据库中(全部完成),要么就一点都没有反映在数据库中(全部撤除),数据库回到该次事务操作的初始状态。这就是说,一个数据库“事务”序列中的所有操作只有两种结果之一,即全部执行或全部撤除。(三)数据库系统的缺陷和威胁1、数据库系统缺陷常见的数据库的安全漏洞和缺陷有:数据库应用程序通常都同操作系统的最高管理员密切相关;人们对数据库安全的忽视;部分数据库机制威胁网络低层安全;安全特性缺陷;数据库账号密码容易泄漏;操作系统后门;木马的威胁。2、数据库系统的威胁形式篡改:篡改是指对数据库中的数据未经授权地进行修改,使其失去原来的真实性。篡改是一种人为的主动攻击。进行这种人为攻击的原因可能是个人利益驱动、隐藏证据、恶作剧或无知。损坏:损坏的表现为数据库中表和整个数据库部分或全部被删除、移走或破坏。产生损坏的原因主要有破坏、恶作剧和病毒。窃取:窃取一般是对敏感数据进行的。窃取的手法可能是将数据复制到可移动的介质上带走或把数据打印后取走。一般,被窃取的数据可能具有很高的价值。窃取数据的对象一般是内部员工和军事及工商业间谍等。3.数据库系统威胁的来源数据库安全的威胁主要来自物理和环境的因素;事务内部故障;系统故障;人为破坏;介质故障;并发事件;病毒与黑客。第二节网络数据库的安全特性数据保护也称为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。(一)数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。1、数据库的存取控制(1)数据库的安全机制多用户数据库系统(如Oracle)提供的安全机制可做到:防止非授权的数据库存取;防止非授权的对模式对象的存取;控制磁盘使用;控制系统资源使用;审计用户动作。(2)模式和用户机制模式机制schema:Aschemaisacollectionofdatabaseobjects(usedbyauser.).Schemaobjectsarethelogicalstructuresthatdirectlyrefertothedatabase’sdata.模式:模式为模式对象的集合,模式对象如表、视图、过程和包等用户机制。Auserisanamedefinedinthedatabasethatcanconnecttoandaccessobjects.用户是用连接数据库和访问数据库对象的。每一个Oracle数据库有一组合法的用户,可运行一个数据库应用和使用该用户连接到定义该用户的数据库。当建立一个数据库用户时,对该用户建立一个相应的模式,模式名与用户名相同。用户是用来连接数据库对象。而模式是用来创建管理对象的。模式跟用户在oracle是一对一的关系。2.特权和角色(1)特权特权是执行一种特殊类型的SQL语句或存取另一用户的对象的权力。有系统特权和对象特权两类特权。系统特权系统特权是执行一种特殊动作或者在对象类型上执行一种特殊动作的权力。系统特权可授权给用户或角色。系统可将授予用户的系统特权授给其他用户或角色,同样,系统也可从那些被授权的用户或角色处收回系统特权。ORACLE有60多种不同系统特权,每一种系统特权允许用户执行一种特殊的数据库操作或一类数据库操作。对象特权对象特权是指在表、视图、序列、过程、函数或包上执行特殊动作的权利。对于不同类型的对象,有不同类型的对象特权。对于有些模式对象,如聚集、索引、触发器、数据库链没有相关的对象特权,它们由系统特权控制。(2)角色角色是相关特权的命名组。数据库系统利用角色可更容易地进行特权管理。①角色管理的优点减少特权管理。动态特权管理。特权的选择可用性。应用可知性。专门的应用安全性。一般,建立角色有两个目的,一是为数据库应用管理特权,二是为用户组管理特权,相应的角色分别称为应用角色和用户角色。应用角色是系统授予的运行一组数据库应用所需的全部特权。一个应用角色可授给其它角色或指定用户。一个应用可有几种不同角色,具有不同特权组的每一个角色在使用应用时可进行不同的数据存取。用户角色是为具有公开特权需求的一组数据库用户而建立的。系统中可以有许多用户,各种用户有各种不同的角色,拥有不同的权力。特权1特权2特权3特权4特权5角色a角色b角色c……特权n用户甲用户乙用户丙②数据库角色的功能一个角色可被授予系统特权或对象特权。一个角色可授权给其它角色,但不能循环授权。任何角色可授权给任何数据库用户。授权给一个用户的每一角色可以是可用的,也可是不可用的。一个间接授权角色(授权给另一角色的角色)对一个用户可明确其可用或不可用。在一个数据库中,每一个角色名是唯一的。3.审计审计是对选定的用户动作的监控和记录,通常用于审查可疑的活动,监视和收集关于指定数据库活动的数据。(1)Oracle支持的三种审计类型语句审计。语句审计是指对某种类型的SQL语句进行的审计,不涉及具体的对象。这种审计既可对系统的所有用户进行,也可对部分用户进行。特权审计。特权审计是指对执行相应动作的系统特权进行的审计,不涉及具体对象。这种审计也是既可对系统的所有用户进行,也可对部分用户进行。对象审计。对象审计是指对特殊模式对象的访问情况的审计,不涉及具体用户,是监控有对象特权的SQL语句。(2)Oracle允许的审计选择范围审计语句的成功执行、不成功执行,或其两者都包括。对每一用户会话审计语句的执行审计一次或对语句的每次执行审计一次。对全部用户或指定用户的活动的审计。2数据库的完整性数据库的完整性是指保护数据库数据的正确性和一致性。它反映了现实中实体的本来面貌。数据库系统要提供保护数据完整性的功能。系统用一定的机制检查数据库中的数据是否满足完整性约束条件。Oracle应用于关系型数据库的表的数据完整性有下列类型:空与非空规则:在插入或修改表的行时允许或不允许包含有空值的列;唯一列值规则:允许插入或修改表的行在该列上的值唯一;引用完整性规则;用户自定义的规则。1.完整性约束(1)完整性约束条件完整性约束条件是作为模式的一部分,对表的列定义的一些规则的说明性方法。具有定义数据完整性约束条件功能和检查数据完整性约束条件方法的数据库系统可实现对数据完整性的约束。约束分类:在稳定状态下必须满足的条件,叫静态约束。数据库中的数据从一种状态变为另一种状态时需要满足的约束条件叫动态约束。(2)完整性约束的优点定义或更改表时,不需要程序设计便可很容易地编写程序并可消除程序性错误,其功能是由数据库控制。对表所定义的完整性约束被存储在数据字典中,所以由任何应用进入的数据都必须遵守与表相关联的完整性约束。具有最大的开发能力。当由完整性约束所实施的事务规则改变时,管理员只需改变完整性约束的定义,所有应用自动地遵守所修改的约束。完整性约束存储在数据字典中,数据库应用可利用这些信息,在SQL语句执行之前或Oracle检查之前,就可立即反馈信息。完整性约束说明的语义被清楚地定义,对于每一指定说明规则可实现性能优化。完整性约束可临时地使其不可用,使之在装入大量数据时避免约束检索的开销。触发器(trigger)可以理解为一个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。(2)触发器的组成一个触发器由三部分组成:触发事件或语句、触发限制和触发器动作。触发事件或语句是指引起激发触发器的SQL语句,可为对一个指定表的Insert、Update或Delete语句。触发限制是指定一个布尔表达式,当触发器激发时该布尔表达式必须为真。触发器作为过程,是PL/SQL块,当触发语句发出、触发限制计算为真时该过程被执行。(3)触发器的功能一般触发器用于:自动地生成导出列值。实施复杂的安全审核。在分布式数据库中实施跨节点的完整性引用。实施复杂的事务规则。提供透明的事件记录。提供高级的审计。收集表存取的统计信息。ORACLE产生数据库触发器的语法为:create[orreplace]trigger触发器名触发时间触发事件on表名[foreachrow]pl/sql语句其中:触发器名:触发器对象的名称。由于触发器是数据库自动执行的,因此该名称只是一个名称,没有实质的用途。触发时间:指明触发器何时执行,该值可取:before---表示在数据库动作之前触发器执行;after---表示在数据库动作之后出发器执行。触发事件:指明哪些数据库动作会触发此触发器:insert:数据库插入会触发此触发器;update:数据库修改会触发此触发器;delete:数据库删除会触发此触发器。表名:数据库触发器所在的表。foreachrow:对表的每一行触发器执行一次。如果没有这一选项,则只对整个表执行一次。3数据库的并发控制(1)一致性和实时性一致性的数据库就是指并发数据处理响应过程已完成的数据库。例如:一个会计数据库,当它的记入借方与相应的贷方记录相匹配的情况下,它就是数据一致的。实时性的数据库就是指所有的事务都执行完成后才响应。(2)数据的不一致现象事务并发控制不当,可能产生丢失修改、读无效数据、不可重复读等数据不一致现象。(3)并发控制的实现利用DBMS自身的并发控制能力;借助开发工具的支持;调整数据库应用程序;避开并发操作。4数据库的恢复(1)操作系统备份不管为Oracle数据库设计成什么样的恢复模式,数据库数
本文标题:网络信息安全_第五次课
链接地址:https://www.777doc.com/doc-1268144 .html