《网络数据库与数据安全培训ppt课件.ppt》由会员分享,可在线阅读,更多相关《网络数据库与数据安全培训ppt课件.ppt(90页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第四章 网络数据库与数据安全本章要点l网络数据库系统特性及安全l网络数据库的安全特性l网络数据库的安全保护l网络数据备份和恢复第一节 网络数据库安全概念(一)数据库安全的概念1、数据库安全(1)第一层含义是数据库系统的安全性。n 硬件运行安全n 物理控制安全n 操作系统安全n 用户有可连接数据库的授权n 灾害、故障恢复(2)第二层含义是数据库数据的安全性。n有效的用户名/口令鉴别n用户访问权限控制n数据存取权限、方式控制n审计跟踪n数据加密n防止电磁信息泄漏2 数据库安全管理原则(1)管理细分和委派原则(2)最小权限原则(3)账号安全原则(4)有效审计原则(二)数据库管理系统及特性1、数据库
2、管理系统简介2、数据库管理系统的安全功能 数据库管理系统(DBMS):专门负责数据库管理和维护的计算机软件系统。它是数据库系统的核心,不仅负责数据库的维护工作,还能保证数据库的安全性和完整性。(1)数据安全性 保证数据库数据安全,通常采取以下措施:n将数据库中需要保护和不需要保护的数据分开;n采取ID号、口令和权限等访问控制;n数据加密后存于数据库。(2)数据的共享性 n不同的应用程序可以使用同一个数据库。n不同的应用程序可以在同一时刻去存取同一个数据。n数据库中的数据不但可供现有的应用程序共享,还可为新开发的应用程序使用。n应用程序可用不同的程序设计语言编写,它们可以访问同一个数据库。(3)
3、数据的结构化 基于文件的数据的主要优势就在于它利用了数据结构。数据库中的文件相互联系,并在整体上服从一定的结构形式。数据库具有复杂的结构,不仅是因为它拥有大量的数据,同时也因为在数据之间和文件之间存在着种种联系。(4)数据的独立性 数据的独立性是数据与应用程序之间不存在相互依赖关系,数据的逻辑结构、存储结构和存储方法不因应用程序修改而修改。物理独立性逻辑独立性DBMS还具有以下特性:n 保证数据的安全性和完整性,抵御一定程度的物理破坏,能维护和提交数据库内容;n 能识别用户,分配授权和进行访问控制,包括身份证识别和验证。n 多用户:网络系统的数据库是为多个用户提供访问服务的;n 高可靠性:多用
4、户所使用的数据库要求一定有高可靠性;n 数据频繁更新:多用户访问数据库的频率高,对数据的操作频繁;3、数据库事务n“事务”是数据库中的一个重要概念,是一系列操作过程的集合,也是数据库数据操作的并发控制单位。n DBMS在数据库操作时进行“事务”定义,要么一个“事务”应用的全部操作结果都反映在数据库中(全部完成),要么就一点都没有反映在数据库中(全部撤除),数据库回到该次事务操作的初始状态。这就是说,一个数据库“事务”序列中的所有操作只有两种结果之一,即全部执行或全部撤除。(三)数据库系统的缺陷和威胁1、数据库系统缺陷 常见的数据库的安全漏洞和缺陷有:n 数据库应用程序通常都同操作系统的最高管理
5、员密切相关;n 人们对数据库安全的忽视;n 部分数据库机制威胁网络低层安全;n安全特性缺陷;n数据库账号密码容易泄漏;n操作系统后门;n木马的威胁。2、数据库系统的威胁形式n 篡改:篡改是指对数据库中的数据未经授权地进行修改,使其失去原来的真实性。篡改是一种人为的主动攻击。进行这种人为攻击的原因可能是个人利益驱动、隐藏证据、恶作剧或无知。n 损坏:损坏的表现为数据库中表和整个数据库部分或全部被删除、移走或破坏。产生损坏的原因主要有破坏、恶作剧和病毒。n 窃取:窃取一般是对敏感数据进行的。窃取的手法可能是将数据复制到可移动的介质上带走或把数据打印后取走。一般,被窃取的数据可能具有很高的价值。窃取
6、数据的对象一般是内部员工和军事及工商业间谍等。3.数据库系统威胁的来源数据库安全的威胁主要来自物理和环境的因素;事务内部故障;系统故障;人为破坏;介质故障;并发事件;病毒与黑客。第二节 网络数据库的安全特性 数据保护也称为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。(一)数据库的安全性 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。1、数据库的存取控制(1)数据库的安全机制多用户数据库系统(如Oracle)提供的安全机制可做到:u防止非授权的数据库存取;u防止非授权的对模式对象的存取;u控制磁盘使用;u控制系统资源使用;u审计用户动作。(2)模式和用
7、户机制n 模式机制 u schema:A schema is a collection of database objects(used by a user.).Schema objects are the logical structures that directly refer to the databases data.模式:模式为模式对象的集合,模式对象如表、视图、过程和包等n 用户机制。A user is a name defined in the database that can connect to and access objects.l用户是用连接数据库和访问数据库对象的
8、。l每一个Oracle数据库有一组合法的用户,可运行一个数据库应用和使用该用户连接到定义该用户的数据库。当建立一个数据库用户时,对该用户建立一个相应的模式,模式名与用户名相同。l用户是用来连接数据库对象。而模式是用来创建管理对象的。模式跟用户在oracle 是一对一的关系。2 特权和角色(1)特权 特权是执行一种特殊类型的SQL语句或存取另一用户的对象的权力。有系统特权和对象特权两类特权。l 系统特权n 系统特权是执行一种特殊动作或者在对象类型上执行一种特殊动作的权力。n 系统特权可授权给用户或角色。系统可将授予用户的系统特权授给其他用户或角色,同样,系统也可从那些被授权的用户或角色处收回系统
9、特权。n ORACLE有60多种不同系统特权,每一种系统特权允许用户执行一种特殊的数据库操作或一类数据库操作。l 对象特权n对象特权是指在表、视图、序列、过程、函数或包上执行特殊动作的权利。对于不同类型的对象,有不同类型的对象特权。n对于有些模式对象,如聚集、索引、触发器、数据库链没有相关的对象特权,它们由系统特权控制。(2)角色l角色是相关特权的命名组。数据库系统利用角色可更容易地进行特权管理。角色管理的优点l减少特权管理。l动态特权管理。l特权的选择可用性。l应用可知性。l专门的应用安全性。l 一般,建立角色有两个目的,一是为数据库应用管理特权,二是为用户组管理特权,相应的角色分别称为应用
10、角色和用户角色。l 应用角色是系统授予的运行一组数据库应用所需的全部特权。一个应用角色可授给其它角色或指定用户。一个应用可有几种不同角色,具有不同特权组的每一个角色在使用应用时可进行不同的数据存取。l 用户角色是为具有公开特权需求的一组数据库用户而建立的。l系统中可以有许多用户,各种用户有各种不同的角色,拥有不同的权力。特权1特权2特权3特权4特权5角色a角色b角色c特权n用户甲用户乙用户丙 数据库角色的功能l 一个角色可被授予系统特权或对象特权。l 一个角色可授权给其它角色,但不能循环授权。l 任何角色可授权给任何数据库用户。l 授权给一个用户的每一角色可以是可用的,也可是不可用的。l 一个
11、间接授权角色(授权给另一角色的角色)对一个用户可明确其可用或不可用。l 在一个数据库中,每一个角色名是唯一的。3 审计 审计是对选定的用户动作的监控和记录,通常用于审查可疑的活动,监视和收集关于指定数据库活动的数据。(1)Oracle 支持的三种审计类型l 语句审计。语句审计是指对某种类型的SQL语句进行的审计,不涉及具体的对象。这种审计既可对系统的所有用户进行,也可对部分用户进行。l 特权审计。特权审计是指对执行相应动作的系统特权进行的审计,不涉及具体对象。这种审计也是既可对系统的所有用户进行,也可对部分用户进行。l 对象审计。对象审计是指对特殊模式对象的访问情况的审计,不涉及具体用户,是监
12、控有对象特权的SQL语句。(2)Oracle 允许的审计选择范围l审计语句的成功执行、不成功执行,或其两者都包括。l 对每一用户会话审计语句的执行审计一次或对语句的每次执行审计一次。l对全部用户或指定用户的活动的审计。2 数据库的完整性l 数据库的完整性是指保护数据库数据的正确性和一致性。l 它反映了现实中实体的本来面貌。数据库系统要提供保护数据完整性的功能。系统用一定的机制检查数据库中的数据是否满足完整性约束条件。Oracle应用于关系型数据库的表的数据完整性有下列类型:空与非空规则:在插入或修改表的行时允许或不允许包含有空值的列;唯一列值规则:允许插入或修改表的行在该列上的值唯一;引用完整
13、性规则;用户自定义的规则。1 完整性约束(1)完整性约束条件 完整性约束条件是作为模式的一部分,对表的列定义的一些规则的说明性方法。具有定义数据完整性约束条件功能和检查数据完整性约束条件方法的数据库系统可实现对数据完整性的约束。约束分类:l在稳定状态下必须满足的条件,叫静态约束。l数据库中的数据从一种状态变为另一种状态时需要满足的约束条件叫动态约束。(2)完整性约束的优点l 定义或更改表时,不需要程序设计便可很容易地编写程序并可消除程序性错误,其功能是由数据库控制。l 对表所定义的完整性约束被存储在数据字典中,所以由任何应用进入的数据都必须遵守与表相关联的完整性约束。l 具有最大的开发能力。当
14、由完整性约束所实施的事务规则改变时,管理员只需改变完整性约束的定义,所有应用自动地遵守所修改的约束。l 完整性约束存储在数据字典中,数据库应用可利用这些信息,在SQL语句执行之前或Oracle检查之前,就可立即反馈信息。l 完整性约束说明的语义被清楚地定义,对于每一指定说明规则可实现性能优化。l 完整性约束可临时地使其不可用,使之在装入大量数据时避免约束检索的开销。l触发器(trigger)可以理解为一个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。l触发器经常用于加强数据的完整性
15、约束和业务规则等。(2)触发器的组成 一个触发器由三部分组成:触发事件或语句、触发限制和触发器动作。触发事件或语句是指引起激发触发器的SQL语句,可为对一个指定表的Insert、Update或Delete语句。触发限制是指定一个布尔表达式,当触发器激发时该布尔表达式必须为真。触发器作为过程,是PL/SQL块,当触发语句发出、触发限制计算为真时该过程被执行。(3)触发器的功能一般触发器用于:自动地生成导出列值。实施复杂的安全审核。在分布式数据库中实施跨节点的完整性引用。实施复杂的事务规则。提供透明的事件记录。提供高级的审计。收集表存取的统计信息。ORACLE产生数据库触发器的语法为:create
16、 or replace trigger 触发器名 触发时间 触发事件 on 表名 for each row pl/sql 语句其中:触发器名:触发器对象的名称。由于触发器是数据库自动执行 的,因此该名称只是一个名称,没有实质的用途。触发时间:指明触发器何时执行,该值可取:before-表示在数据库动作之前触发器执行;after-表示在数据库动作之后出发器执行。触发事件:指明哪些数据库动作会触发此触发器:insert:数据库插入会触发此触发器;update:数据库修改会触发此触发器;delete:数据库删除会触发此触发器。表 名:数据库触发器所在的表。for each row:对表的每一行触发器
17、执行一次。如果没有这一选项,则只对整个表执行一次。3 数据库的并发控制(1)一致性和实时性 一致性的数据库就是指并发数据处理响应过程已完成的数据库。例如:一个会计数据库,当它的记入借方与相应的贷方记录相匹配的情况下,它就是数据一致的。实时性的数据库就是指所有的事务都执行完成后才响应。(2)数据的不一致现象 事务并发控制不当,可能产生丢失修改、读无效数据、不可重复读等数据不一致现象。(3)并发控制的实现l利用DBMS自身的并发控制能力;l借助开发工具的支持;l调整数据库应用程序;l避开并发操作。4 数据库的恢复(1)操作系统备份l不管为Oracle数据库设计成什么样的恢复模式,数据库数据文件、日
18、志文件和控制文件的操作系统备份都是绝对需要的,它是保护介质故障的策略。操作系统备份有完全备份和部分备份。(2)介质故障的恢复l介质故障是当一个文件、文件的一部分或一块磁盘不能读或不能写时出现的故障。介质故障的恢复有以下两种形式,决定于数据库运行的归档方式。A 完全介质恢复n 完全介质恢复可恢复全部丢失的修改。仅当所有必要的日志可用时才可能这样做。可使用不同类型的完全介质恢复,这要取决于损坏的文件和数据库的可用性。B 不完全介质恢复l 不完全介质恢复是在完全介质恢复不可能或不要求时进行的介质恢复。可使用不同类型的不完全介质恢复,重构受损的数据库,使其恢复到介质故障前或用户出错前事务的一致性状态。
19、根据具体受损数据的不同,可采用不同的不完全介质恢复。4.3 网络数据库的安全保护1.数据库的安全保护层次 数据库系统的安全框架可以划分为三个层次:网络系统层次;操作系统层次;数据库管理系统层次。(1)网络系统层次安全 网络系统是数据库应用的外部环境和基础,数据库系统要发挥其强大的作用离不开网络系统的支持,数据库系统的异地和分布式用户也要通过网络才能访问数据库的数据。网络系统的安全是数据库安全的第一道屏障,外部入侵首先就是从入侵网络系统开始的。(2)操作系统层次安全 操作系统是大型数据库系统的运行平台,为数据库系统提供了一定程度的安全保护。(3)数据库管理系统层次安全 数据库系统的安全性很大程度
20、上依赖于数据库管理系统。如果数据库管理系统的安全性机制非常强大,则数据库系统的安全性能就好。2.数据库的审计 对于数据库系统,数据的使用、记录和审计是同时进行的。审计的主要任务是对应用程序或用户使用数据库资源的情况进行记录和审查,一旦出现问题,审计人员对审计事件记录进行分析,查出原因。l 数据库审计有用户审计和系统审计两种方式:n 用户审计。进行用户审计时,DBMS的审计系统记录下所有对表和视图的访问及每次操作的用户名、时间、操作代码等信息。这些信息一般都被记录在数据字典中,利用这些信息可以进行审计分析。n 系统审计。系统审计由系统管理员进行,其审计内容主要是系统一级命令及数据库客体的使用情况
21、。l数据库系统的审计工作主要包括设备安全审计、操作审计、应用审计和攻击审计等方面。l要综合考虑数据库审计与系统性能之间的关系。3 数据库的加密保护 大型DBMS的运行平台一般都具有用户注册、用户识别、任意存取控制、审计等安全功能,但是不足以保护数据安全。l对数据库中存储的数据实现加密是一种保护数据库数据安全的有效方法。数据库的数据加密一般是在通用的数据库管理系统之上,增加一些加密/解密控件,来完成对数据本身的控制。数据加密的优点:l各用户(或用户组)的数据由用户使用自己的密钥加密,数据库管理员对获得的信息无法随意进行解密,从而保证了用户信息的安全;l通过加密,数据库的备份内容成为密文,从而能减
22、少因备份介质失窃或丢失而造成的损失。(1)数据库加密的要求 一个良好的数据库加密系统应该满足以下基本要求:n字段加密n密钥动态管理n合理处理数据n不影响合法用户的操作(2)不同层次的数据库加密 可以考虑在操作系统层、DBMS 内核层和DBMS 外层三个不同层次实现对数据库数据的加密。DBMS 外层l将数据库加密系统做成DBMS的一个外层工具。采用这种加密方式时,加/解密运算可以放在客户端进行,其优点是不会加重数据库服务器的负载并可实现网上传输加密,缺点是加密功能会受到一些限制,与数据库管理系统之间的耦合性稍差。定义加密要求工具DBMS加密器(软件或硬件)数据库应用系统DBMS 内核层加密关系加
23、密定义工具加密器(软件或硬件)DBMS数据库应用系统DBMS 外层加密关系(3)数据库加密系统结构加密字典管理程序加密系统应用程序数据库加/解密引擎数据库服务器加密字典用户数据 数据库加密系统体系结构 4.4 数据备份与恢复 数据库的故障严重时会导致数据库系统瘫痪,从而导致计算机系统不能正常工作。因此,既要提高数据库系统的可靠性,又要采取措施在数据库出现故障时尽快恢复到数据库的原始状态。这就要采用数据库备份与恢复技术。4.4.1 数据备份1 数据备份的概念 数据备份就是指为防止系统出现操作失误或系统故障导致数据丢失,而将全系统或部分数据集合从应用主机的硬盘或阵列中复制到其它存储介质上的过程。l
24、 数据备份的目的 为了系统数据崩溃时能够快速的恢复数据,使系统迅速恢复运行。2 数据备份的类型常用的数据库备份方法有:l 冷备份l 热备份l 逻辑备份3.数据备份策略 备份周期的确定:月/周/日/时 备份类型的确定:冷备份/热备份 备份方式的确定:增量备份/全部备份 备份介质的选择:光盘/磁盘/磁带 备份方法的确定:手工备份/自动备份 备份介质的安全存放(1)完全备份(Full Backup)l 所谓完全备份,就是按备份周期(如一天)对整个系统所有的文件(数据)进行备份。(2)增量备份(Incremental Backup)l 所谓增量备份,就是指每次备份的数据只是相当于上一次备份后增加的和修
25、改过的内容,即备份的都是已更新过的数据。(3)差别备份(Differential Backup)l 差别备份也是在完全备份后将新增加或修改过的数据进行备份,但它与增量备份的区别是每次备份都把上次完全备份后更新过的数据进行备份。(4)按需备份l 除以上备份方式外,还可采用对随时所需数据进行备份的方式进行数据备份。所谓按需备份,就是指除正常备份外,额外进行的备份操作。l不同的备份方式分别在不同的情况下使用,或是综合使用。4.4.2 数据恢复 数据恢复是指将备份到存储介质上的数据再恢复到计算机系统中,它与数据备份是一个相反的过程。(一)恢复数据时的注意事项l 由于恢复数据是覆盖性的,不正确的恢复可能
26、破坏硬盘中的最新数据,因此在进行数据恢复时,应先将硬盘数据备份。l 进行恢复操作时,用户应指明恢复何年何月的数据。当开始恢复数据时,系统首先识别备份介质上标识的备份日期是否与用户选择的日期相同,如果不同将提醒用户更换备份介质。l 由于数据恢复工作比较重要,容易错把系统上的最新数据变成备份盘上的旧数据,因此应指定少数人进行此项操作。l 不要在恢复过程中关机、关电源或重新启动机器。l 不要在恢复过程中打开驱动器开关或抽出软盘、光盘(除非系统提示换盘)。(二)数据恢复的类型1.全盘恢复全盘恢复就是将备份到介质上的指定系统信息全部转储到它们原来的地方。2.个别文件恢复 个别文件恢复就是将个别已备份的最
27、新版文件恢复到原来的地方。3.重定向恢复 重定向恢复是将备份的文件(数据)恢复到另一个不同的位置或系统上去,而不是做备份操作时它们所在的位置。4.4.3 数据容灾1 容灾系统和容灾备份 容灾就是指计算机网络系统在遇到灾难时仍能保证系统数据的完整、可用和系统正常运行。2 数据容灾与数据备份的关系l数据容灾与数据备份的关系主要体现在:数据备份是数据容灾的基础 容灾不是简单备份 容灾不仅仅是技术 3 容灾系统 l容灾系统包括数据容灾和应用容灾两部分。l容灾系统主要有本地容灾和异地容灾两种形式。(1)本地容灾 本地容灾的主要手段是容错。(2)异地容灾l异地容灾是指在相隔较远的异地,建立两套或多套功能相同的系统。4 数据容灾技术l容灾系统的核心技术是数据复制,目前主要有同步数据复制和异步数据复制两种。