




已阅读5页,还剩67页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章 数据库安全性 数据库安全性概述数据库安全性控制Oracle数据库数据安全性控制介绍 对数据库安全的威胁 无意损坏 天窗 心存不满的专业人员 数据库 受保护数据 物理损坏 火灾 水灾等 非法访问 黑客 数据复制 工业间谍 蓄意破坏者 通信损坏 典型的数据访问方式 数据库安全概述 数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一数据库的安全性指保护数据库 防止因用户非法使用数据库所造成的数据泄漏 更改或破坏数据的保密指用户合法地访问到机密数据后能否对这些数据保密通过制订法律道德准则和政策法规来保证 非法使用数据库的情况 用户编写一段合法的程序绕过DBMS及其授权机制 通过操作系统直接存取 修改或备份数据库中的数据直接或编写应用程序执行非授权操作通过多次合法查询数据库从中推导出一些保密数据例如 某数据库应用系统禁止查询单个人的工资 但允许查任意一组人的平均工资 用户甲想了解张三的工资首先查询包括张三在内的一组人的平均工资然后查用自己替换张三后这组人的平均工资 推导出张三的工资破坏安全性的行为可能是无意的 故意的 恶意的 数据库系统的安全机制 计算机系统中的安全模型 方法 用户标识和鉴定 存取控制审计视图 操作系统安全保护 密码存储 数据库安全性控制的常用方法 用户标识和鉴定 Identification Authentication 系统提供的最外层安全保护措施存取控制访问权限通过视图调整授权定义可向用户授权数据库特定部分的用户视图审计追踪信息 重现导致数据库现有状况的一系列事件密码存储使用加密技术保护机密数据 用户标识与鉴定 基本方法系统提供一定的方式让用户标识自己的名字或身份 系统内部记录着所有合法用户的标识 每次用户要求进入系统时 由系统核对用户提供的身份标识 通过鉴定后才提供机器使用权 用户标识和鉴定可以重复多次 用户标识与鉴定 让用户标识自己的名字或身份的方法用户名 口令简单易行 容易被人窃取每个用户预先约定好一个计算过程或者函数系统提供一个随机数用户根据自己预先约定的计算过程或者函数进行计算系统根据用户计算结果是否正确鉴定用户身份 用户标识和鉴定 SQLServer提供两种不同的方法来验证用户进入服务器 用户可以根据自己的网络配置决定使用其中一种 Windows验证NT以上O S 允许SQLServer使用O S 的用户名和口令SQLServer验证用户传给服务器的登录信息与系统表syslogins中的信息进行比较 如果两个口令匹配 SQLServer允许用户访问服务器 如果不匹配 SQLServer不允许访问 并且用户会从服务器上收到一个出错信息 用户标识和鉴定 服务器登录标识管理sa和Administrator是系统在安装时创建的分别用于SQLServer混合验证模式和Windows验证模式的系统登录名 如果用户想创建新的登录名或删除已有的登录名 可使用下列两种方法使用SQLServer企业管理器管理登录名使用SQLServer系统存储过程管理登录名 用户标识和鉴定 数据库用户管理在SQLServer中 登录对象和用户对象是SQLServer进行权限管理的两种不同的对象 登录对象 服务器方的一个实体 使用一个登录名可以与服务器上的所有数据库进行交互 用户对象 一个或多个登录对象在数据库中的映射 可以对用户对象进行授权 以便为登录对象提供对数据库的访问权限 一个登录名可以被授权访问多个数据库 一个登录名在每个数据库中只能映射一次 用户标识和鉴定 数据库用户管理SQLServer可使用下列两种方法来管理数据库用户使用SQLServer企业管理器管理数据库用户 使用SQLServer系统存储过程sp grantdbaccess管理数据库用户在SQLServer中主要有两种类型的角色服务器角色数据库角色 存取控制 用户权限 用户对数据库中的不同数据对象允许执行的操作权限关系系统中的存取权限 不同的DBMS具体实现方法是存在一些差别的 数据本身 表 属性列外模式 模式 内模式 不同类型的数据对象有不同的操作权力 DBMS的存取控制 任意控制 DAC 强制控制 MAC 存取控制机制包括 定义用户权限 该定义被存放到数据字典中合法权限检查 根据数据字典检查用户权限 定义存储权限 检查存储权限 存取控制 授权 Authorization 谁定义 DBA是表的建立者 即表的属主 如何定义 SQL语句 GRANT 将对指定操作对象的指定操作权限授予指定的用户REVOKE 从指定用户那里收回对指定对象的指定权限 存取控制 授权 GRANT语句的一般格式 grant on to withgrantoption 例子 把查询Students表的权限授给用户wanggrantselectontableStudentstowang 例子 把对Students和SC表的所有访问权限授给全部用户grantallpriviligesontableStudents SCtopublic DBA把在数据库SC中建立表的权限授予用户zhaograntcreatetabondatabaseSCtozhao 存取控制 授权 withgrantoption子句例子 把对表SC的查询权限 修改成绩权限授给wang和zhang 并允许wang和zhang将该权限授予他人grantselect update Grade ontableSCtowang zhangwithgrantoption DBA 对象的建立者和经过withgrantoption授权的用户可以把他们对该对象具有的操作权限授予其它的合法用户 操作权限 用户权限 建表 CREATETAB 的权限 属于DBADBA授予 普通用户基本表或视图的属主拥有对该表或视图的一切操作权限接受权限的用户一个或多个具体用户PUBLIC 全体用户 存取控制 授权回收 授出的权限可以由DBA或其他的授权者收回revoke on from 例子 把用户wang和zhang修改成绩的权限收回revokeupdate Grade ontableSCfromwang zhang 例子 收回所有用户对SC表的查询授权revokeSELECTonTABLESCfromPUBLIC 授权回收操作是级联的 数据库角色 Role 如果要给成千上万个雇员分配许可 将面临很大的管理难题 每次有雇员到来或者离开时 就得有人分配或去除可能与数百张表或视图有关的权限 这项任务不但耗时 而且容易出错 一个相对简单有效的解决方案就是定义数据库角色 数据库角色是被命名的一组与数据库操作相关的权限 即一组相关权限的集合 可以为一组具有相同权限的用户创建一个角色 使用角色来管理数据库权限可以简化授权的过程 授权管理 DBA Role 用户 用户 用户 用户 授权 授权 属于任意控制 视图机制 视图机制把要保密的数据对无权存取这些数据的用户隐藏起来 从而自动地对数据提供一定程度的安全保护视图机制更主要的功能在于提供数据独立性 其安全保护功能太不精细 往往远不能达到应用系统的要求 视图机制 在实际应用中通常是视图机制与授权机制配合使用 首先用视图机制屏蔽掉一部分保密数据 然后在视图上面再进一步定义存取权限这时视图机制实际上间接实现了支持存取谓词的用户权限定义 视图机制 例如 USER1只能检索计算机系学生的信息 1 先建立计算机系学生的视图CS StudentCREATEVIEWCS StudentASSELECTFROMStudentWHERESdept CS 2 在视图上进一步定义存取权限GRANTSELECTONCS StudentTOUSER1 SQLServer的安全机制 SQLServer采用4个等级的安全验证 操作系统安全验证 SQLServer安全验证 SQLServer数据库安全验证 SQLServer数据库对象安全验证 SQLServer的安全机制 权限管理 在SQLServer中有三种类型的权限语句权限 可以委派给其它用户对象权限 可以委派给其它用户隐含权限 只允许属于特定角色的人使用在SQLServer中主要有两种类型的角色服务器角色与数据库角色 SQLServer的安全机制 语句权限是SQLServer中功能最强大的一些权限 这些权限只限分配在单个数据库 跨数据库的权限是不可能的通常只给那些需要在数据库中创建或修改对象 执行数据库或事务日志备份的用户当分配语句权限给用户时 就给了他们创建对象的能力 通常使用对应的SQLServer命令来引用 SQLServer的安全机制 语句权限CREATEDATABASE创建数据库CREATETABLE创建表CREATEVIEW创建视图CREATERULE创建规则CREATEDEFAULT创建缺省CREATEPROCEDURE创建存储过程BACKUPDATABASE备份数据库BACKUPLOG备份事务日志 SQLServer的安全机制 对象权限对象权限分配给数据库层次上的对象 并允许用户访问和操作数据库中已存在的对象没有这些权限 用户将不能访问数据库里的任何对象 这些权限实际上给了用户运行特定SQL语句的能力对象授权操作表 SELECT INSERT UPDATE DELETE REFERENCE视图 SELECT INSERT UPDATE DELETE存储过程 EXECUTE列 SELECT UPDATE Oracle数据库的安全性措施 ORACLE的安全措施 用户标识和鉴定授权和检查机制审计技术用户通过触发器灵活定义自己的安全性措施 ORACLE的用户标识和鉴定 ORACLE允许用户重复标识三次如果三次仍未通过 系统自动退出 ORACLE的授权与检查机制 ORACLE授权和检查机制的特色ORACLE的权限包括系统权限和数据库对象的权限采用非集中式的授权机制每个用户授予与回收自己创建的数据库对象的权限DBA负责授予与回收系统权限 也可以授予与回收所有数据库对象的权限允许重复授权 即可将某一权限多次授予同一用户 系统不会出错允许无效回收 即用户不具有某权限 但回收此权限的操作仍是成功的 ORACLE的授权与检查机制 ORACLE的权限系统权限 80多种 创建会话创建表创建视图创建用户 数据库对象的权限 Oracle系统权限 DBA在创建一个用户时需要将其中的一些权限授予该用户角色ORACLE支持角色的概念ORACLE允许DBA定义角色ORACLE提供的预定义角色CONNECTRESOURCEDBA Oracle系统权限 CONNECT角色允许用户登录数据库并执行数据查询和操纵ALTERTABLECREATEVIEW INDEXDROPTABLE VIEW INDEXGRANT REVOKEINSERT UPDATE DELETESELETEAUDIT NOAUDIT Oracle系统权限 RESOURCE角色允许用户建表 即执行CREATETABLE操作由于创建表的用户将拥有该表 因此他具有对该表的任何权限 Oracle系统权限 DBA角色允许用户执行授权命令 建表 对任何表的数据进行操纵 DBA角色涵盖了前两种角色 此外还可以执行一些管理操作 DBA角色拥有最高级别的权限 Oracle系统权限 例 DBA建立一用户U12后 欲将ALTERTABLE CREATEVIEW CREATEINDEX DROPTABLE DROPVIEW DROPINDEX GRANT REVOKE INSERT SELETE UPDATE DELETE AUDIT NOAUDIT等系统权限授予U12 则可以只简单地将CONNECT角色授予U12即可 GRANTCONNECTTOU12 这样就可以省略十几条GRANT语句 Oracle数据库对象的权限 ORACLE可以授权的数据库对象基本表视图序列利用它可生成唯一的整数 一般用于自动生成主码值 避免了在应用层实现序列而引起的性能瓶颈 同义词 一种映射关系createpublicsynonymtable nameforuser table name存储过程函数 Oracle数据库对象的权限 基本表的安全性级别表级行级列级 Oracle数据库对象的权限 表级安全性表的创建者或DBA可以把对表的权限授予其他用户表级权限ALTER 修改表定义DELETE 删除表记录INDEX 在表上建索引INSERT 向表中插入数据记录SELECT 查找表中记录UPDATE 修改表中的数据ALL 上述所有权限表级授权使用GRANT REVOKE语句例 GRANTSELECTONSCTOU12 Oracle数据库对象的权限 行级安全性ORACLE行级安全性由视图间接实现例 用户U1只允许用户U12查看自己创建的Student表中有关信息系学生的信息 则首先创建视图信息系学生视图S IS CREATEVIEWS ISASSELECTSno Sname Ssex Sage SdeptFROMStudentWHERESdept IS 然后将关于该视图的SELECT权限授予U12用户 GRANTSELECTONS ISTOU12 Oracle数据库对象的权限 列级安全性借助视图实现列级安全性CREATEVIEWS VASSELECTSno SnameFROMStudent GRANTSELECTONS VTOU12 直接在基本表上定义列级安全性例 GRANTUPDATE Sno Cno ONSCTOU12 Oracle数据库对象的权限 三级对象的层次结构表 行 列三级对象自上而下构成一个层次结构上一级对象的权限制约下一级对象的权限例 当一个用户拥有了对某个表的UPDATE权限 即相当于在表的所有列了都拥有了UPDATE权限 Oracle数据库对象的权限 ORACLE对数据库对象的权限采用分散控制方式允许具有WITHGRANTOPTION的用户把相应权限或其子集传递授予其他用户ORACLE不允许循环授权 即授权者不能把权限再授予其授权者或祖先U1 U2 U3 U4 ORACLE的授权与检查机制 ORACLE的权限检查机制ORACLE把所有权限信息记录在数据字典中当用户进行数据库操作时 ORACLE首先根据数据字典中的权限信息 检查操作的合法性在ORACLE中 安全性检查是任何数据库操作的第一步 以下内容供参考 强制控制审计数据库加密统计数据库的安全性 强制控制 任意访问控制是关系数据库的传统方法 可对数据库提供充分保护 但它不支持随数据库各部分的机密性而变化 技术高超的专业人员可能突破该保护机制获得未授权访问另外 由于用户对数据的存取权限是 自主 的 用户可以自由地决定将数据的存取权限授予何人 决定是否也将 授权 的权限授予别人 在这种授权机制下 仍可能存在数据的 无意泄露 强制控制 强制访问控制克服了任意访问控制的缺点 在强制访问控制方法中 不能由一个用户不加控制地将访问权限授予或传递给另一用户 强制访问控制方法是指系统为了保证更高程度的安全性 它不是用户能直接感知或进行控制的 强制访问控制主要适用于对数据有严格要求而固定密级分类的部门 如军事部门或政府部门 强制控制 强制访问控制模型基于与每个数据项和每个用户关联的安全性标识 SecurityLabel 安全性标识被分为若干级别绝密 TopSecret 机密 Secret 秘密 Confidential 一般 Public 数据的标识称为密级 SecurityClassification 用户的标识称为许可证级别 SecurityClearance 强制控制 当某一用户以某一密级进入系统时 在确定该用户能否访问系统上的数据时应遵守如下规则 1 当且仅当用户许可证级别大于等于数据的密级时 该用户才能对该数据进行读操作 2 当且仅当用户的许可证级别小于或等于数据的密级时 该用户才能对该数据进行写操作 审计 审计功能启用一个专用的审计日志 AuditLog 系统自动将用户对数据库的所有操作记录在上面DBA可以利用审计日志中的追踪信息 重现导致数据库现有状况的一系列事件 以找出非法存取数据的人C2以上安全级别的DBMS必须具有审计功能 审计 审计日志一般包括下列内容 1 操作类型 如修改 查询等 2 操作终端标识与操作人员标识 3 操作日期和时间 4 操作的数据对象 如表 视图 记录 属性等 5 数据修改前后的值 审计功能的可选性 审计很费时间和空间 所以DBMS往往都将其作为可选特征DBA可以根据应用对安全性的要求 灵活地打开或关闭审计功能审计技术是预防手段 监测可能的不合法行为当数据相当敏感 或者对数据的处理极为重要时 就必须使用审计技术 审计 审计一般可以分为用户级审计是任何用户可设置的审计 主要是针对自己创建的数据库或视图进行审计 记录所有用户对这些表或视图的一切成功和 或 不成功的访问要求以及各种类型的SQL操作系统级审计只能由DBA设置 用以监测成功或失败的登录要求 监测Grant和Revoke操作以及其他数据库级权限下的操作 数据库加密技术 防止数据库中数据在存储和传输中失密的有效手段针对的情况入侵者绕过系统访问数据库的信息内容入侵者通过物理移除磁盘或备份磁盘盗走数据库入侵者接入载有真实用户数据的通信链路聪明的入侵者通过运行程序突破操作系统防线来检索数据在这些情况下 数据库系统的各种授权规则或许不能提供充分的保护 标准安全技术无法防范绕过系统访问数据的侵扰 这就需要采取其他保护措施来加强安全系统 加密的基本思想 根据一定的算法将原始数据 术语为明文 Plaintext 变换为不可直接识别的格式 术语为密文 Ciphertext 不知道解密算法的人无法获知数据的内容 加密方法 替换方法使用密钥 EncryptionKey 将明文中的每一个字符转换为密文中的一个字符置换方法将明文的字符按不同的顺序重新排列这两种方法结合能提供相当高的安全程度例 美国1977年制定的官方加密标准 数据加密标准 DataEncryptionStandard 简称DES 数据库加密技术 基于文件的加密把数据库文件作为整体 用加密算法对整个数据库文件加密来保证信息的真实性和完整性 数据的共享是通过用户用解密密钥对整个数据库文件进行解密来实现的 实际应用受到多方面的限制数据修改的工作将变得十分困难 需要进行解密 修改 复制和加密四个操作 极大地增加了系统的时空开销即使用户只是需要查看某一条记录 也必须将整个数据库文件解密 这样无法实现对文件中不需要让用户知道的信息的控制 数据库加密技术 字段加密 字段是最小的加密单位 字段加密的原理将重要的字段内容进行加密 当使用查询语句获取结果集后 再将这些重要的字段内容进行解密 每个字段可以使用不同的密钥 也可以使用共同的密钥字段加密的特点较高的安全性影响数据库的访问速度 对一个记录进行存取时需要多次的加 解密处理对数据库管理系统 DBMS 的功能影响也很大 在实际应用中 一般不会对所有记录都进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农民职业培训与就业服务协议
- 二手车交易过户协议范本
- 产品联合研发制造协议书
- 2025年宿州市雪枫小学(磬云南路校区)教师招聘8人备考考试题库附答案解析
- 法律顾问合同谈判技巧分享
- 电子元器件采购合同范本与风险控制
- 医疗机构药品采购配送管理协议
- 广告制作与投放服务合同协议
- 战略性投资合作协议
- 员工劳动合同管理规范及违约处理流程
- 开学第一课课件高中政治统编版
- 2025儋州市兰洋镇社区工作者考试真题
- 2025-2030木薯市场发展现状调查及供需格局分析预测研究报告
- 2025-2030中国木胶行业市场发展趋势与前景展望战略研究报告
- 小儿推拿店员合同协议
- 医疗废物管理知识培训课件
- 家庭养老免责协议书范本
- 商业地产策划案例(购物中心)
- 银行押运人员管理制度
- 北师大版四年级数学下册第五单元 认识方程标准检测卷(含答案)
- 2025年中国三氯乙烯市场调查研究报告
评论
0/150
提交评论