网络数据库与数据安全培训课件

  • 格式:pptx
  • 大小:326.39 KB
  • 文档页数:90

下载文档原格式

  / 90
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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