Oracle记事本-04_数据库安全性概述

什么是数据库的安全性

  • 数据库安全性是指保护数据库以防止不合法的使用所造成的数 据泄漏、更改或破坏
  • 数据库安全性控制的常用方法

用户身份鉴别
存取控制
视图
审计
数据加密

  • 用户身份鉴别

    • 静态口令鉴别
    • 动态口令鉴别
    • 生物特征鉴别
    • 智能卡鉴别
  • 存取控制

    用户权限定义和合法权检查机制一起组成了数据库管理 系统的存取控制子系统

    • 自主存取控制
      • 授予权限
1. 把查询Student表权限授给用户U1
  GRANT SELECT ON TABLE Student TO U1; 
  
2. 把对Student表和Course表的全部权限授予用户U2和U3
 GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3; 
 
3. 把对表SC的查询权限授予所有用户
 GRANT SELECT ON TABLE SC TO PUBLIC; 

4. 把查询Student表和修改学生学号的权限授给用户U4
5.  GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4; 
对属性列的授权时必须明确指出相应属性列名
  • 传播权限
    WITH GRANT OPTION 接收权限的用户 可以把获得的权 限再授予其他人
1, 把对表SC的INSERT权限授予用户U5,并允许他再将此 权限授予其他用户
 GRANT INSERT  ON TABLE SC TO U5 WITH GRANT OPTION;
 
2, U5把对表SC的INSERT权限授予U6 
GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION;

 2, U6还可以将此权限授予U7 
 GRANT INSERT ON TABLE SC TO U7;

  • 回收权限
    授予用户的权限可以由DBA或其他授权者用REVOKE 语句收回
1. 把用户U4修改学生学号的权限收回
 REVOKE UPDATE(Sno) ON TABLE Student FROM U4; 
 Oracle使用REVOKE UPDATE(Sno) ON Student FROM U4;(后同) 
 
 2. 收回所有用户对表SC的查询权限 
 REVOKE SELECT ON TABLE SC FROM PUBLIC;
 
 3. 把用户U5对SC表的INSERT权限收回
   REVOKE INSERT ON TABLE SC FROM U5 CASCADE ; 
   
 将用户U5的INSERT权限收回的时候必须级联(CASCADE)收回 系统收回直接或间接从U5处获得的权限

创建数据库模式的权限

创建数据库模式一类的数据库对象的权限由数据库管理 员在创建用户时实现,CREATE USER语句一般格式为

CREATE USER [WITH][DBA|RESOURCE|CONNECT];

1. 只有系统的超级用户才有权创建一个新的数据库用户

 2. 新用户有三种权限:CONNECT、RESOURCE和DBA,如没 有指定新用户的权限,默认该用户拥有CONNECT权限。拥有 CONNECT权限的用户只能登录数据库 
 
 3. 拥有RESOURCE权限的用户能创建基本表和视图,成为所创 建对象的属主。但不能创建模式,不能创建新用户
 
 4. 拥有DBA权限的用户是数据库管理员,可以创建新用户、创 建模式、创建基本表和视图等;DBA拥有对所有数据库对象 的存取权限,还可以把这些权限授予一般用户 

数据库角色

  • 数据库角色是被命名的一组与数据库操作相关的权限 , 角色是权限的集合,可以为一组具有相同权限的用户创建一个 角色,使用角色来管理数据库权限可以简化授权的过程

自主存取控制

*  创建角色的SQL语句格式 CREATE  ROLE  <角色名>
   *  CREATE  ROLE  R1;

* 给角色授权
   * GRANT SELECT,UPDATE,INSERT ON TABLE Student TO R1;
   * GRANT DELETE ON TABLE Student TO R1;

*  将一个角色授予其他的角色或用户 ,GRANT  <角色1>[,<角色2>]… TO  <角色3>[,<用户1>]… [WITH ADMIN OPTION] ---可以把这种权限授予其他角色
   *  GRANT  R1 TO 王平,张明,赵玲
* 角色权限的收回 
   * REVOKE  R1 FROM 王平;
   

强制存取控制
数据库管理系统所管理的全部实体 被分为主体和客体两大类

  • 主体是系统中的活动实体 : DBMS所管理的实际用户 , 代表用户的各进程
  • 客体是系统中的被动实体,受主体操纵 :文件 基表 索引 视图
  • 敏感度标记(Label)

    • 绝密(Top Secret,TS)
    • 机密(Secret,S)
    • 可信(Confidential,C)
    • 公开(Public,P)
    • 密级的顺序:TS>=S>=C>=P
  • 主体的敏感度标记称为许可证级别(Clearance Level)

  • 客体的敏感度标记称为密级(Classification Level)

  • 仅当主体的许可证级别大于或等于客体的密级时,该主 体才能读取相应的客体

  • 仅当主体的许可证级别小于或等于客体的密级时,该主 体才能写相应的客体

实例

    1. 传播副本 假设有用户A、B,他们的许可证均为secret,用户A把他的表T (内部数据的密级为secret)的读取权限授予用户B,用户B将数据 备份,并在不征得用户A的同意传播副本给用户C(假设C的许可 证级别为public),用户C仍然无法读取数据
    1. 特洛伊木马模式攻击 假设有攻击者A和合法用户B,A比B的许可证级别低。攻击者A想 获取用户B的TB表的敏感数据,攻击者A的方法是: ① 首先A创建一个表TA,把TA表的插入权限授予用户B; ② 修改用户B使用的应用程序,读取TB表的数据插入到表TA; ③ 等待用户B使用应用程序,把数据插入到用户A的TA表

视图机制

视图可以把要保密的数据对无权存取这些数据的用户隐 藏起来,对数据提供一定程度的安全保护,间接实现支 持存取谓词的用户权限定义

CREATE VIEW CS_StudentAS SELECT * FROM Student WHERE Sdept = 'CS';
GRANT SELECT ON CS_Student TO 王平 ;
GRANT ALL PRIVILIGES ON CS_Student TO  张明;

审计

审计功能把用户对数据库的所有操作自动记录下来放入审计日 志。审计员可以利用审计日志监控数据库中的各种行为,重现 导致数据库现有现状的一系列事件,找出非法存取数据的人、 时间和内容。还可以通过对审计日志分析,对潜在的威胁提前 采取措施加以防范

  • 审计功能

  • 基本功能,提供多种审计查阅方式

  • 提供多套审计规则,审计规则一般在数据库初始化时设 定,以方便审计员管理 ○ 提供审计分析和报表功能

  • 审计日志管理功能 :防止审计员误删审计记录

    • 审计日志必须先转储后删除
    • 对转储的审计记录文件提供完整性和保密性保护
    • 只允许审计员查阅和转储审计记录,不允许任何用户新增和修 改审计记录
  • 系统提供查询审计设置及审计记录信息的专门视图

  • AUDIT语句用于设置审计功能

    • AUDIT ALTER,UPDATE ON SC
  • NOAUDIT语句用于取消审计功能

    • NOAUDIT ALTER,UPDATE ON SC;

审计类别

  • 用户级审计
    • 任何用户可设置的审计
    • 主要是用户针对自己创建的数据库表和视图进行审计,记录所 有用户对这些表或视图的一切成功和不成功的访问要求以及各 种类型的SQL操作
  • 系统级审计
    • 监测成功或失败的登录要求、监测GRANT和REVOKE操作以及 其他数据库级权限下的操作

数据加密

  • 防止数据库中数据在存储和传输中失密的有效手段
  • 加密的基本思想是根据一定的算法将原始数据—明文(Plain text)变换为不可直接识别的格式—密文(Cipher text),从而 使得不知道解密算法的人无法获知数据的内容
  • 数据加密主要包括 ○ 存储加密 ○ 传输加密

存储加密

  • 透明存储加密 : 内核级加密保护方式,对用户完全透明 ○ 将数据在写到磁盘时对数据进行加密,授权用户读取数据时再 对其进行解密 ○ 数据库的应用程序不需要做任何修改,只需在创建表语句中说 明需加密的字段即可 ○ 内核级加密方法: 性能较好,安全完备性较高
  • 非透明存储加密 : 通过多个加密函数实现*

传输加密

  • 链路加密
    • 在链路层进行加密
    • 传输信息由报头和报文两部分组成
    • 报文和报头均加密
  • 端到端加密
    • 在发送端加密,接收端解密
    • 只加密报文不加密报头
    • 所需密码设备数量相对较少,容易被非法监听者发现并从中获 取敏感信息

其他安全性保护

推理控制

  • 推理控制处理的是强制存取控制未解决的问题,避免用 户利用能够访问的数据推知更高密级的数据

隐蔽信道

  • 隐蔽信道处理的问题也是强制存取控制未解决的问题

数据隐私保护

  • 所谓数据隐私是控制不愿被他人知道或他人不便知道的 个人数据的能力
  • 数据隐私范围很广,涉及数据管理中的数据收集、数据 存储、数据处理和数据发布等各个阶段
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值