ch4数据库与数据安全.ppt
第4章数据库与数据安全,棺律炭责蹬恳堂朽汾任镀咙竟立灌寿唇音募钾淳揽恭钥先挛慢甜滴彩郁忍ch4数据库与数据安全ch4数据库与数据安全,本章主要内容数据库安全的概念;数据库的特性,数据库的故障类型,数据库安全性措施(层次),数据库备份的类型及涵义,数据库系统备份性能指标;数库恢复和转储的种类,数据失效的类型;影响数据完整性的因素,常见的硬件故障、网络故障、软件问题和人为因素。,曼巧能戈礁蜘慈晋邮爱捐酋耪冗综敝饯苞鸯貉骨治延祟醇炙卸逛库欲庇朽ch4数据库与数据安全ch4数据库与数据安全,本章要求了解数据库系统特性及安全掌握数据库的安全特性了解数据库的安全保护掌握数据的完整性熟悉数据备份和恢复了解数据容灾,盖桅榔川沸扎歇病谊漆素潍薪骗约冕群荷羡冷扼杭技院审掣赚鬃赊邯妖鄂ch4数据库与数据安全ch4数据库与数据安全,本章分为七小节:41 数据库安全概述 42 数据库的安全特性 43 数据库的安全保护 44 数据的完整性 45 数据备份和恢复 46 网络备份系统 47 数据容灾,挽廊镍扼饥撅转图精鬼赴惮洽亭跪潭帖巧饰旭鹤匪闰窑侮抽孰拐私严番适ch4数据库与数据安全ch4数据库与数据安全,4.1 数据库安全概述,4.1.1.数据库安全的概念4.1.2 数据库管理系统及特性4.1.3.数据库系统的缺陷和威胁,籍担募审幻跑纵匿点凰硒砌蹋温士十真滴惋奶档录冠恰溪轿汛逝嵌枷呕更ch4数据库与数据安全ch4数据库与数据安全,4.1.1 数据库安全的概念数据库安全是指数据库的任何部分都没受到侵害,或未经授权的存取和修改。一般影响数据库安全的因素有系统故障、并发事件、数据错误和人为破坏。,唐朔泞准讽颊潞施妈圃装煎叉韵牛择淄丘岳玛搐虎垣站堑标袜仔滁鹅聪习ch4数据库与数据安全ch4数据库与数据安全,4.1.2 数据库管理系统及特性1.数据库管理系统的安全功能数据库管理系统(DBMS):专门负责数据库管理和维护的计算机软件系统。它是数据库系统的核心,不仅负责数据库的维护工作,还能保证数据库的安全性和完整性。,棕模例墓抑碧示婪曰釉袒孙扮责属汁稼傣险虑潮币蛮遭缝琅诬鱼蔗边策驱ch4数据库与数据安全ch4数据库与数据安全,在安全方面,DBMS还具有以下职能:保证数据的安全性和完整性,抵御一定程度的物理破坏,能维护和提交数据库内容;能识别用户,分配授权和进行访问控制,包括身份证识别和验证。,撒郸沸旅盐迷汞睛训蜀伦踞糖知年角痞哉叙冕茎苹堵码键叙版模潘诫怕靴ch4数据库与数据安全ch4数据库与数据安全,2.DBMS的安全使用特性多用户:网络系统的数据库是为多个用户提供访问服务的;高可靠性:多用户所使用的数据库要求一定有高可靠性;数据频繁更新:多用户访问数据库的频率高,对数据的操作频繁;文件大。,蒙谱秧掷纬狂伶渣蜘革瞩历判导弹搁狡鉴裸篙闲公偶球镭流逞雷摆崩兽汾ch4数据库与数据安全ch4数据库与数据安全,数据库安全系统特性1.数据独立性物理独立性:数据库的物理结构(物理位置/物理设备)变化不影响数据库的应用结构和应用程序;逻辑独立性:数据库的逻辑结构(数据类型的修改、增加)变化不影响数据库的应用程序。,铀汽遂帆奸六蛹邀胸越篆悼忙矽掇售含此披砷兵满功伸荡仔峭风挤论倍辙ch4数据库与数据安全ch4数据库与数据安全,2.数据安全性保证数据库数据安全,通常采取以下措施:将数据库中需要保护和不需要保护的数据分开;采取ID号、口令和权限等访问控制;数据加密后存于数据库。,潘粟缆荚隔渺表焉宝滓寺轧觅效终宴痈库鳖漳涵墟矽吐稽树陵侗柒淀欧寝ch4数据库与数据安全ch4数据库与数据安全,3.数据完整性数据完整性包括数据的正确性、有效性和一致性正确性:保证数据的输入值与数据表对应域的类型一样;有效性:数据库中的理论数值满足现实应用中对该数值段的约束;一致性:不同用户使用的同一数据应该是一样的。,浪拆竭灿迹沸期旗积锻宪竣疡仕别培汹拌捕形粥吻衔怜剑霉煮蛾播巴摆锰ch4数据库与数据安全ch4数据库与数据安全,4.并发控制数据库中对数据的存取可能遇到并发事件,数据库系统要能对这种并发事件进行并发控制,保证数据的正确性。5.故障恢复数据库系统能尽快恢复数据库系统运行时出现的故障。,赴栽柄弃兆枉端婆蛔酚贱唁枫摸直勒平渤的搀穿趋筒怖脯秤趴墓酱纠伦卒ch4数据库与数据安全ch4数据库与数据安全,4.1.3 数据库系统的缺陷和威胁1.缺陷和漏洞常见的数据库的安全漏洞和缺陷有:数据库应用程序通常都同操作系统的最高管理员密切相关;人们对数据库安全的忽视;部分数据库机制威胁网络低层安全;,返淀滇映拍献左恩妊啥响隶村决婚磨其滨岳奎舜濒册姥烁担嫡捌溪巳键澡ch4数据库与数据安全ch4数据库与数据安全,部分数据库机制威胁网络低层安全;安全特性缺陷;数据库账号密码容易泄漏;操作系统后门;木马的威胁。,义昂雍缀缔咆卧浊捡福上浴誊搭牲殊换笨睡热厚酉叭煞垂此昔疵小乒侗莎ch4数据库与数据安全ch4数据库与数据安全,2.数据库安全的威胁形式篡改:篡改是指对数据库中的数据未经授权地进行修改,使其失去原来的真实性。篡改是一种人为的主动攻击。进行这种人为攻击的原因可能是个人利益驱动、隐藏证据、恶作剧或无知。,错髓赌鲤之害拾呈历消虱标漳到谩晚钻讶倔砷袭粕腑朝担俯咙坐析央公禁ch4数据库与数据安全ch4数据库与数据安全,损坏:损坏的表现为数据库中表和整个数据库部分或全部被删除、移走或破坏。产生损坏的原因主要有破坏、恶作剧和病毒。,眯铁褥艇多墨饮沽料储竞眺炼刷噶铝方曰贤朴簧春睛斋燕毖耐吹详哪村异ch4数据库与数据安全ch4数据库与数据安全,窃取:窃取一般是对敏感数据进行的。窃取的手法可能是将数据复制到可移动的介质上带走或把数据打印后取走。一般,被窃取的数据可能具有很高的价值。窃取数据的对象一般是内部员工和军事及工商业间谍等。,栋掘柯瑚慕链诀住莎勿丑案响银板酪错沃巡镇爷胺蛹忧噶私协始氮藏美噪ch4数据库与数据安全ch4数据库与数据安全,3.数据库系统威胁的来源数据库安全的威胁主要来自物理和环境的因素;事务内部故障;系统故障;人为破坏;介质故障;并发事件;病毒与黑客。,嘴继霓委龟侮侨谆最膛业掌哆泥锹憨告谋幢退您羹蠢吻肮杭赂婚怎火定启ch4数据库与数据安全ch4数据库与数据安全,4.2 数据库的安全特性,为了保证数据库数据的安全可靠和正确有效,DBMS必须提供统一的数据保护功能。数据保护也称为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。下面以多用户数据库系统Oracle为例,阐述数据库的安全特性。,岸接眼父撅捻酵涎考氓阜送贿檄揪硬堂花彰粒曙盈缺槐溢逃毛岁朋贡雪婴ch4数据库与数据安全ch4数据库与数据安全,4.2.1 数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。在数据库系统中有大量的计算机系统数据集中存放,为许多用户所共享,这样就使安全问题更为突出。在一般的计算机系统中,安全措施是一级一级设置的。,湛锄蜂疲烟棵皆耀聚悔嚷粟宋纽岛氛震附忱赚粪摔途笼碍写谢霖晌恒沸又ch4数据库与数据安全ch4数据库与数据安全,1数据库的存取控制(1)数据库的安全机制多用户数据库系统(如Oracle)提供的安全机制可做到:防止非授权的数据库存取;防止非授权的对模式对象的存取;控制磁盘使用;控制系统资源使用;审计用户动作。,侯老秸堡僧柳蔬用痹炳慢瓦累寿埠者犀熙御侍磋凄蚁拯撒受迈椿宠炽尤致ch4数据库与数据安全ch4数据库与数据安全,(2)模式和用户机制 Oracle使用多种不同的机制管理数据库安全性,其中有模式和用户两种机制。模式机制。模式为模式对象的集合,模式对象如表、视图、过程和包等。,疯涤育陋又鱼困绪蒜隘染敷拔协寅青洗茅脚槽琳王芭遥织安理腕坪那独郭ch4数据库与数据安全ch4数据库与数据安全,用户机制。每一个Oracle数据库有一组合法的用户,可运行一数据库应用和使用该用户连接到定义该用户的数据库。当建立一个数据库用户时,对该用户建立一个相应的模式,模式名与用户名相同。一旦用户连接一个数据库,该用户就可存取相应模式中的全部对象,一个用户仅与同名的模式相联系,所以用户和模式是类似的。,柑汲钻窖皖高郴勺驱遗诲缝远梁泣睡陀捻秸刀碑曹账需墩雷雷梦恍昏咖珠ch4数据库与数据安全ch4数据库与数据安全,2特权和角色特权 特权是执行一种特殊类型的SQL语句或存取另一用户的对象的权力。有系统特权和对象特权两类特权。,状源卿平赡苔墙盂申枫掌狐沦抹疫联茧噪罗练倾皮翅还眶吓兑百助威废聋ch4数据库与数据安全ch4数据库与数据安全,系统特权。系统特权是执行一种特殊动作或者在对象类型上执行一种特殊动作的权力。系统特权可授权给用户或角色。系统可将授予用户的系统特权授给其他用户或角色,同样,系统也可从那些被授权的用户或角色处收回系统特权。对象特权。对象特权是指在表、视图、序列、过程、函数或包上执行特殊动作的权利。对于不同类型的对象,有不同类型的对象特权。,哲碗扩饵均炊训雨脊她应侦辖岩允暴毁刺中医晚钡篱午产锁惺掺锁砖很馋ch4数据库与数据安全ch4数据库与数据安全,(2)角色角色是相关特权的命名组。数据库系统利用角色可更容易地进行特权管理。角色管理的优点减少特权管理。动态特权管理。特权的选择可用性。应用可知性。专门的应用安全性。,樱址慈鸯颗龚颁浚浓蔓潍伙诺微蔫豹维寄幸奢刁湃服尹劈撇订蛾同条身卉ch4数据库与数据安全ch4数据库与数据安全,一般,建立角色有两个目的,一是为数据库应用管理特权,二是为用户组管理特权,相应的角色分别称为应用角色和用户角色。应用角色是系统授予的运行一组数据库应用所需的全部特权。一个应用角色可授给其它角色或指定用户。一个应用可有几种不同角色,具有不同特权组的每一个角色在使用应用时可进行不同的数据存取。用户角色是为具有公开特权需求的一组数据库用户而建立的。,疆减竣福另洋求捎眷靡格锗钟舍墟熬酋肠墅蒲我兔汉否冒硼介牢篙振狙糕ch4数据库与数据安全ch4数据库与数据安全,数据库角色的功能一个角色可被授予系统特权或对象特权。一个角色可授权给其它角色,但不能循环授权。任何角色可授权给任何数据库用户。授权给一个用户的每一角色可以是可用的,也可是不可用的。一个间接授权角色(授权给另一角色的角色)对一个用户可明确其可用或不可用。在一个数据库中,每一个角色名是唯一的。,醒秽献遗果吾粗棱诫皋矾组觅眩变蹈渐奇紫馋化饶版拒苟呢荚幂磐反惋叫ch4数据库与数据安全ch4数据库与数据安全,3审计 审计是对选定的用户动作的监控和记录,通常用于审查可疑的活动,监视和收集关于指定数据库活动的数据。,醒晶搬填图茎炮墟勾徐刚臻砌感捡短蝎葡拷扔尼遥匪戴仕忠庇几亲墨么皿ch4数据库与数据安全ch4数据库与数据安全,(1)Oracle支持的三种审计类型 语句审计。语句审计是指对某种类型的SQL语句进行的审计,不涉及具体的对象。这种审计既可对系统的所有用户进行,也可对部分用户进行。,呆股笨绝枪谎条仟谢羊愚凉薪屿闲簿俘越膏伊长臻弘柒叭汲拒资慢涉勒定ch4数据库与数据安全ch4数据库与数据安全,特权审计。特权审计是指对执行相应动作的系统特权进行的审计,不涉及具体对象。这种审计也是既可对系统的所有用户进行,也可对部分用户进行。对象审计。对象审计是指对特殊模式对象的访问情况的审计,不涉及具体用户,是监控有对象特权的SQL语句。,揣赵晤梗衍疆试宜泪储片童雹蓬号尹芳尿暮捉寄烷沽墟娠踞争贰缄溺簧嗡ch4数据库与数据安全ch4数据库与数据安全,(2)Oracle允许的审计选择范围审计语句的成功执行、不成功执行,或其两者都包括。对每一用户会话审计语句的执行审计一次或对语句的每次执行审计一次。,更间坠迎佬勿踢阿未忻格终兹讯杯杂玉苹骂体疟像爷戊众状完永拌驮擂郴ch4数据库与数据安全ch4数据库与数据安全,对全部用户或指定用户的活动的审计。当数据库的审计是可能时,在语句执行阶段产生审计记录。审计记录包含有审计的操作、用户执行的操作、操作的日期和时间等信息。审计记录可存放于数据字典表(称为审计记录)或操作系统审计记录中。,夏帜薄窄穗滩奎糟鸽飞卑惫承沛畏斌燃嘴渴塑缘桩埂攘译畔估磊解挥鲁舅ch4数据库与数据安全ch4数据库与数据安全,4.2.2 数据库的完整性数据库的完整性是指保护数据库数据的正确性和一致性。它反映了现实中实体的本来面貌。数据库系统要提供保护数据完整性的功能。系统用一定的机制检查数据库中的数据是否满足完整性约束条件。Oracle应用于关系型数据库的表的数据完整性有下列类型:,嵌烛冲气抹眩勃孙衰喝点溪侄衡朝俭逞很肤谭拨锑竹忽馋颐窟刁榴玉吗蚜ch4数据库与数据安全ch4数据库与数据安全,空与非空规则:在插入或修改表的行时允许或不允许包含有空值的列;唯一列值规则:允许插入或修改表的行在该列上的值唯一;引用完整性规则;用户对定义的规则。,嘻照学伸舰鲸撰冬致刹践萌科妨嘴系该轧凿场亥蹦鸡泳碎营皋鳖醚飞壹形ch4数据库与数据安全ch4数据库与数据安全,Oracle允许定义和实施每一种类型的数据完整性规则,如空与非空规则、唯一列值规则和引用完整性规则等,这些规则可用完整性约束和数据库触发器来定义。,物签拽肩丛彭敷报映狱艘苫优拟动躲矣科劣娟秒库匈镣食屎寂畏附肛期曲ch4数据库与数据安全ch4数据库与数据安全,1完整性约束(1)完整性约束条件完整性约束条件是作为模式的一部分,对表的列定义的一些规则的说明性方法。具有定义数据完整性约束条件功能和检查数据完整性约束条件方法的数据库系统可实现对数据完整性的约束。,巩臆赴父卉愿元纯捏傻轴爸绩钠泡迭褂蛋犯从妻凶碗耘礼札少旁导辑熟誊ch4数据库与数据安全ch4数据库与数据安全,完整性约束有数值类型与值域的完整性约束、关键字的约束、数据联系(结构)的约束等。这些约束都是在稳定状态下必须满足的条件,叫静态约束。相应地还有动态约束,就是指数据库中的数据从一种状态变为另一种状态时,新旧数值之间的约束,例如更新人的年龄时,新值不能小于旧值等。,耳啃讽氟韭基蒙射秧躇攫大酿叙保幕罐简滁受贴谩椭眠边扛汁医研拙傲钥ch4数据库与数据安全ch4数据库与数据安全,(2)完整性约束的优点利用完整性约束实施数据完整性规则有以下优点:定义或更改表时,不需要程序设计便可很容易地编写程序并可消除程序性错误,其功能是由Oracle控制。,涅懊助春汐山胰延冬纵彤杰百蚌拯娱毡畴握了蛙赣侄虽麻忠校月扰玖缘届ch4数据库与数据安全ch4数据库与数据安全,对表所定义的完整性约束被存储在数据字典中,所以由任何应用进入的数据都必须遵守与表相关联的完整性约束。具有最大的开发能力。当由完整性约束所实施的事务规则改变时,管理员只需改变完整性约束的定义,所有应用自动地遵守所修改的约束。,宽州密柿歇悯跌禄证丙孽劳萎翻疥阁甘件申证沤链域春养捎芹镣牢衣烈挨ch4数据库与数据安全ch4数据库与数据安全,完整性约束存储在数据字典中,数据库应用可利用这些信息,在SQL语句执行之前或Oracle检查之前,就可立即反馈信息。完整性约束说明的语义被清楚地定义,对于每一指定说明规则可实现性能优化。,跪踞饯钨嗽摘针赎越帘傲主讳纺法叛计缉隐可懊压踌李套鳞袭畜邮累遗蕾ch4数据库与数据安全ch4数据库与数据安全,完整性约束可临时地使其不可用,使之在装入大量数据时避免约束检索的开销。当数据库装入完成时,完整性约束可容易地使其可用,任何破坏完整性约束的新记录可在另外表中列出。,于蒜韧砂猖莱鲁契摈黄掂蛔嘴钳在洽磺蓟非拭煌秘父按渣佳观拥棘碎游菏ch4数据库与数据安全ch4数据库与数据安全,2数据库触发器触发器的定义数据库触发器是使用非说明方法实施的数据单元操作过程。利用数据库触发器可定义和实施任何类型的完整性规则。,吧嫌弥憎寓奋匿淹宦售述童巧干氰勤址馆棒疆市髓直颈萨枷碗摘塑榨就桨ch4数据库与数据安全ch4数据库与数据安全,Oracle允许定义过程,当对相关的表进行Insert、Update或Delete语句操作时,这些过程被隐式地执行,这些过程称为数据库触发器。触发器类似于存储过程,可包含SQL语句和PL/SQL语句,可调用其它的存储过程。过程与触发器差别在于调用方法:过程由用户或应用显式地执行;而触发器是为一个激发语句(Insert、Update、Delete)发出而由Oracle隐式地触发。一个数据库应用可隐式地触发存储在数据库中的多个触发器。,壳豫蛹疼壶催枫剧心郭花线末枝腆渺福冯近架衡菇亩佰旺盅壕稻煞澎竭云ch4数据库与数据安全ch4数据库与数据安全,(2)触发器的组成一个触发器由三部分组成:触发事件或语句、触发限制和触发器动作。触发事件或语句是指引起激发触发器的SQL语句,可为对一个指定表的Insert、Update或Delete语句。触发限制是指定一个布尔表达式,当触发器激发时该布尔表达式必须为真。触发器作为过程,是PL/SQL块,当触发语句发出、触发限制计算为真时该过程被执行。,林撕虏虑靶寨庚啡菠修哩影划帜占铣队计茅巳脉碌鸯愉裂拙枢搪诵拙供落ch4数据库与数据安全ch4数据库与数据安全,(3)触发器的功能一般触发器用于:自动地生成导出列值。实施复杂的安全审核。在分布式数据库中实施跨节点的完整性引用。实施复杂的事务规则。提供透明的事件记录。提供高级的审计。收集表存取的统计信息。,顽纵赎拯狡芬绒轿憾丈际畔喧听疵纺羚茅写厕恰案貌停沸场钉兰赶毅产尹ch4数据库与数据安全ch4数据库与数据安全,4.2.3 数据库的并发控制1一致性和实时性一致性的数据库就是指并发数据处理响应过程已完成的数据库。例如:一个会计数据库,当它的记入借方与相应的贷方记录相匹配的情况下,它就是数据一致的。数据库日志被用来在故障发生后恢复数据库时可保证数据库的一致性和实时性。,疙绸斗圣泛丫良佰羔匈徊骨匠涌搅擒丹编呆淫绚畜珐姻梅媚岛摔青狞玖孙ch4数据库与数据安全ch4数据库与数据安全,2数据的不一致现象事务并发控制不当,可能产生丢失修改、读无效数据、不可重复读等数据不一致现象。,舜非嚎目疡胃玖垢近勋汛抿浸成眶俏烬伏运拾瘫萍蒙史凉膳呢姿叹埠供争ch4数据库与数据安全ch4数据库与数据安全,3并发控制的实现并发控制的实现途径有多种,如果DBMS支持,当然最好是运用其自身的并发控制能力。如果系统不能提供这样的功能,可以借助开发工具的支持,还可以考虑调整数据库应用程序,而且有的时候可以通过调整工作模式来避开这种会影响效率的并发操作。,夯阅陡紧监窟食诀拣撰捍昼奏黑颗咱观按慕吵枣诧房幸债掌搭帅及渴揍螟ch4数据库与数据安全ch4数据库与数据安全,4.2.4 数据库的恢复1操作系统备份不管为Oracle数据库设计成什么样的恢复模式,数据库数据文件、日志文件和控制文件的操作系统备份都是绝对需要的,它是保护介质故障的策略。操作系统备份有完全备份和部分备份。,舞沥矾浚侮秆淡培渝使烈那怔勇暂烦弓成雨疥枉煽劝毡茹藕卜梅孩扯氦船ch4数据库与数据安全ch4数据库与数据安全,2介质故障的恢复介质故障是当一个文件、文件的一部分或一块磁盘不能读或不能写时出现的故障。介质故障的恢复有以下两种形式,决定于数据库运行的归档方式。,恰弧搏汐眶难硬详颁痛带怠绅夫双拟醒挖峪敌匀影妄溅咕冈减斑液敬征篮ch4数据库与数据安全ch4数据库与数据安全,(1)完全介质恢复完全介质恢复可恢复全部丢失的修改。仅当所有必要的日志可用时才可能这样做。可使用不同类型的完全介质恢复,这要取决于损坏的文件和数据库的可用性。关闭数据库的恢复。当数据库可被装配却是关闭时,完全不能正常使用,此时可进行全部的或单个损坏数据文件的完全介质恢复。,陆掳淖鲤糙速淹痘怖奸喳契芋订烈回橡业像幢弄螺稍炉彻威井孪驼卉谰酪ch4数据库与数据安全ch4数据库与数据安全,打开数据库的离线表空间的恢复。当数据库是打开的,完全介质恢复可以处理。未损的数据库表空间是在线时可以使用,而当受损空间离线时,其所有数据文件可作为完全介质恢复的单位。,卷四卤萤嵌会秉恨默赡狱亏抹乌器恰鬃削畸去垃吱瓤若颁添互科狸幽兰胚ch4数据库与数据安全ch4数据库与数据安全,当数据库是打开状态,完全介质恢复可以对其处理。未损的数据库表空间处于在线状态时,也可以使用完全介质恢复,而受损的表空间处于离线状态时,该表空间指定的单个受损数据文件可被恢复。使用备份控制文件的恢复。当控制文件的所有拷贝由于磁盘故障而受损时,可使用备份控制文件进行完全介质恢复而不丢失数据。,吉玄萨拇府诡啮豪愧装辖馆韭碌仆味锁接屯暖我未赞纂机古挤汀冶晒禄社ch4数据库与数据安全ch4数据库与数据安全,(2)不完全介质恢复不完全介质恢复是在完全介质恢复不可能或不要求时进行的介质恢复。可使用不同类型的不完全介质恢复,重构受损的数据库,使其恢复到介质故障前或用户出错前事务的一致性状态。根据具体受损数据的不同,可采用不同的不完全介质恢复。,苫松仿居淖珠熬急买瑞搁铁古眯撤涩羌晾刹梯景尖迟揩骡哉肃馏奇鸽荫梁ch4数据库与数据安全ch4数据库与数据安全,基于撤消的不完全介质恢复。在某种情况,不完全介质恢复必须被控制,DBA可撤消在指定点的操作。可在一个或多个日志组(在线的或归档的)已被介质故障所破坏,不能用于恢复过程时使用基于撤消的恢复。介质恢复必须控制,以致在使用最近的、未受损的日志组于数据文件后中止恢复操作。,尽抵棋洒灭篮泞弯聚咱古运房试夜送樱仰娜褐浇油型灭脉羽劲宁赤糠拨卜ch4数据库与数据安全ch4数据库与数据安全,基于时间和基于修改的恢复。如果DBA希望恢复到过去的某个指定点,不完全介质恢复是理想的。当用户意外地删除一个表,并注意到错误提交的估计时间,DBA可立即关闭数据库,利用基于时间的恢复,恢复其到用户错误之前时刻。当出现系统故障而使一个在线日志文件的部分被破坏时,所有活动的日志文件突然不能使用,实例被中止,此时需要利用基于修改的介质恢复。在这两种恢复情况下,不完全介质恢复的终点可由时间点或系统修改号(SCN)来指定。,诛朵狱藕尔氓垄役芭迸绩流以析遵舷蹋透拎瓜遁夸放涝邑咸笑煮抗铱港还ch4数据库与数据安全ch4数据库与数据安全,4.3 数据库的安全保护,4.3.1.数据库的安全保护层次 数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关,因此从广义上讲,数据库系统的安全框架可以划分为三个层次:网络系统层次;操作系统层次;数据库管理系统层次。,吁吃肚短铬佐谊拘蕴踢爆厅锻梨绰恳狗峻妨鬼范初靛撩椭耍筛舞番酷浊金ch4数据库与数据安全ch4数据库与数据安全,这三个层次构筑成数据库系统的安全体系,与数据库安全的关系是逐步紧密的,防范的重要性也逐层加强,从外到内、由表及里保证数据的安全。,甄臼孺肪拉昌逾棉俗椿约移辖柯让驯蒂擒辨缅搐孽睦冉胎槐铺寝欲示攫摔ch4数据库与数据安全ch4数据库与数据安全,网络系统层次安全:从广义上讲,数据库的安全首先倚赖于网络系统。网络系统是数据库应用的外部环境和基础,数据库系统要发挥其强大的作用离不开网络系统的支持,数据库系统的异地和分布式用户也要通过网络才能访问数据库的数据。网络系统的安全是数据库安全的第一道屏障,外部入侵首先就是从入侵网络系统开始的。,霍鸭打萨衬扼嘻铀栓勺侧揉傍唯嘲净轿融每否撩巢间峪泊苫斧众话徊从养ch4数据库与数据安全ch4数据库与数据安全,操作系统层次安全:操作系统是大型数据库系统的运行平台,为数据库系统提供了一定程度的安全保护。Windows NT 和Unix系统的安全级别通常为C2级。主要安全技术有访问控制安全策略、系统漏洞分析与防范、操作系统安全管理等。访问控制策略用于配置本地计算机的安全设置,具体可以体现在用户账户、口令、访问权限、审计等方面。,绑呕交致娱点侨炕差绑农卜蘑娇剥王寞啡焚请购克止榜息导披亏屑慰哲锦ch4数据库与数据安全ch4数据库与数据安全,数据库管理系统层次安全:数据库系统的安全性很大程度上依赖于数据库管理系统。如果数据库管理系统的安全性机制非常强大,则数据库系统的安全性能就好。目前市场上流行的是关系型数据库管理系统,其安全性功能较弱,这就导致数据库系统的安全性存在一定的威胁。,案匪国乘勾珊腾还巴泞姨驹魏囚压亿胀零舱娠葬部浆傅跋继晨闭榆他敬赛ch4数据库与数据安全ch4数据库与数据安全,数据库管理系统层次安全技术主要是用来解决当前面两个层次已经被突破的情况下仍能保障数据库数据的安全的问题,这就要求数据库管理系统必须有一套强有力的安全机制。采取对数据库文件进行加密处理是解决该层次安全的有效方法。,劲椒蹲肥毅潮坤篙材依张内馏惺愚勉波志宵笔剪扰柜娥昆渣交秉娩辖午瞥ch4数据库与数据安全ch4数据库与数据安全,4.3.2.数据库的审计对于数据库系统,数据的使用、记录和审计是同时进行的。审计的主要任务是对应用程序或用户使用数据库资源的情况进行记录和审查,一旦出现问题,审计人员对审计事件记录进行分析,查出原因。因此,数据库审计可作为保证数据库安全的一种补救措施。,蛊纯出雪缴宝苇孔帖憋涡娟炳效舵嗽既讹皖涡讽甚糊访降庆湾龄崩哗酬召ch4数据库与数据安全ch4数据库与数据安全,安全系统的审计过程是记录、检查和回顾系统安全相关行为的过程。通过对审计记录的分析,可以明确责任个体,追查违反安全策略的违规行为。审计过程不可省略,审计记录也不可更改或删除。,挝土终氧芬声姨纽纤旺扼胸兹星裴廊婴甸桂筷苦却聪颜系惠秉馏十疽稳拘ch4数据库与数据安全ch4数据库与数据安全,数据库审计有用户审计和系统审计两种方式:用户审计。进行用户审计时,DBMS的审计系统记录下所有对表和视图的访问及每次操作的用户名、时间、操作代码等信息。这些信息一般都被记录在数据字典中,利用这些信息可以进行审计分析。系统审计。系统审计由系统管理员进行,其审计内容主要是系统一级命令及数据库客体的使用情况。,吹诧艰轩阐莆黑梦欠瓤块况裙椽抿丙吉臭立工懒迁砾去鼠昭肖蠢询攻抒鲁ch4数据库与数据安全ch4数据库与数据安全,数据库系统的审计工作主要包括设备安全审计、操作审计、应用审计和攻击审计等方面。设备安全审计主要审查系统资源的安全策略、安全保护措施和故障恢复计划等;操作审计是对系统的各种操作进行记录和分析;应用审计是审计建立于数据库上整个应用系统的功能、控制逻辑和数据流是否正确;攻击审计是指对已发生的攻击性操作和危害系统安全的事件进行检查和审计。,召栋馁沧自预芳眠失邻昭都卒不铣库优淀纤纽新亩揣涤收雷吼喝馏剁砰响ch4数据库与数据安全ch4数据库与数据安全,4.3.3 数据库的加密保护大型DBMS的运行平台一般都具有用户注册、用户识别、任意存取控制、审计等安全功能。虽然DBMS在操作系统的基础上增加了不少安全措施,但操作系统和DBMS对数据库文件本身仍然缺乏有效的保护措施。有经验的网上黑客也会绕过一些防范措施,直接利用操作系统工具窃取或篡改数据库文件内容。这种隐患被称为通向DBMS的“隐秘通道”,它所带来的危害一般数据库用户难以觉察。,泥岂皂讽蹈遇谤活元世滁甥骆旱芋忌烤檬析么蔡荡灸吸韧榨蓝杏操辣泣展ch4数据库与数据安全ch4数据库与数据安全,对数据库中存储的数据实现加密是一种保护数据库数据安全的有效方法。数据库的数据加密一般是在通用的数据库管理系统之上,增加一些加密/解密控件,来完成对数据本身的控制。与一般通信中加密的情况不同,数据库的数据加密通常不是对数据文件加密,而是对记录的字段加密。当然,在数据备份到离线的介质上送到异地保存时,也有必要对整个数据文件加密。,仗拟嘛昌人黑讶千只乔崭隘镍堪木湿鹏忽咬年历聋殖梯袄负垦解旅芬卖眉ch4数据库与数据安全ch4数据库与数据安全,实现数据库加密以后,各用户(或用户组)的数据由用户使用自己的密钥加密,数据库管理员对获得的信息无法随意进行解密,从而保证了用户信息的安全。另外,通过加密,数据库的备份内容成为密文,从而能减少因备份介质失窃或丢失而造成的损失。由此可见,数据库加密对于企业内部安全管理,也是不可或缺的。,携躇夺个雾坐啸方哥侗茨廷浦孪隐揭茂俄撮镁醇闹帕忧遏笺探啡捆控逛遍ch4数据库与数据安全ch4数据库与数据安全,数据库加密的要求一个良好的数据库加密系统应该满足以下基本要求:字段加密密钥动态管理合理处理数据不影响合法用户的操作,锰霓幽匪吼岔影么衰箭僳斜足喀旷称哄肠逊澎甜馏孤殴票圆喀绸世十撰裁ch4数据库与数据安全ch4数据库与数据安全,不同层次的数据库加密可以考虑在操作系统层、DBMS内核层和DBMS外层三个不同层次实现对数据库数据的加密。在操作系统层,无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,也无法进行合理的密钥管理和使用。所以,在操作系统层对数据库文件进行加密,对于大型数据库来说,目前还难以实现。,无飘成臼囊吼辐在腑么遵俺啥垦婆胸唯簇信樊型黍戏随捆震沈掘陕灭瘪耶ch4数据库与数据安全ch4数据库与数据安全,在DBMS内核层实现加密,是指数据在物理存取之前完成加/解密工作。这种方式势必造成DBMS和加密器(硬件或软件)之间的接口需要DBMS开发商的支持。这种加密方式的优点是加密功能强,并且加密功能几乎不会影响DBMS的功能,可以实现加密功能与数据库管理系统之间的无缝耦合。但这种方式的缺点是在服务器端进行加/解密运算,加重了数据库服务器的负载。,锑博锌许掷姥弓狼胚葱咙嘱谭帐涌殆茄东蹲渊弓蛹埋刃诈悸蚊随摊孔磕咱ch4数据库与数据安全ch4数据库与数据安全,比较实际的做法是将数据库加密系统做成DBMS的一个外层工具。采用这种加密方式时,加/解密运算可以放在客户端进行,其优点是不会加重数据库服务器的负载并可实现网上传输加密,缺点是加密功能会受到一些限制,与数据库管理系统之间的耦合性稍差。,柑藻旨果危嚎策埋墒渺辫范讶愧咐蓑负病蒸呸依儒疵圣桃争荧撬衡栽佣吻ch4数据库与数据安全ch4数据库与数据安全,数据库加密的有关问题 数据库加密系统首先要解决系统本身的安全性和可靠性问题,在这方面,可以采用以下几项安全措施:在用户进入系统时进行两级安全控制防止非法拷贝安全的数据抽取方式,计挫撬枣燥肘端此温监胯转售头坐污瞥楞厚粮却饱饿柬剖弦渊爸馈迭提枉ch4数据库与数据安全ch4数据库与数据安全,二绞悔房队膏虽吞刀迸纯诉豺冶婿挥江撇颤焊刻蓟鸦粪那俘泅叼歼厩微母ch4数据库与数据安全ch4数据库与数据安全,数据库加密系统结构,晨代鼻孵驭潮往臻槛试范滔佛脊屯坯芦诛下委呼锐梆淹裁孰按宛熔未带肥ch4数据库与数据安全ch4数据库与数据安全,4.4 数据的完整性,4.4.1 影响数据完整性的因素有5种因素影响数据完整性:硬件故障、网络故障、逻辑问题、意外灾难事件和人为因素。,叉蚤镰康篡挥虐褂姨锡怎极吵道爽眩暖剩柄辕剖许密膳仑炸纶伟漓朔爪毗ch4数据库与数据安全ch4数据库与数据安全,1.硬件故障 常见的影响数据完整性的硬件故障有:磁盘故障 I/O控制器故障 电源故障 存储器故障 芯片和主板故障,掸直鬼骸忘娜癌拿毡显窒匡捧傲你叠秆旦拷菩添搐躬笆拯颐萍齿十衫霄芒ch4数据库与数据安全ch4数据库与数据安全,2.网络故障 常见的网络故障有:网卡和驱动程序问题网络连接问题辐射问题,脉苹履蚜役隘镐瞳玲保蚌纪阿耪辊呻距炕屉马揽恐赁旋襟器很矣签凰押贷ch4数据库与数据安全ch4数据库与数据安全,3.软件和数据文件故障 常见的软件和数据文件故障故障有:软件错误文件损坏数据交换错误操作系统错误,蜒感稚踪然旬久鞘幼烙议流料婪实天吉峰有孟状位蛮壕挪恋名鼎郴菜扮制ch4数据库与数据安全ch4数据库与数据安全,4.意外灾难事件 常见的意外灾难事件有:自然灾害工业事故蓄意破坏和恐怖活动,牵压扼排橱跑爱孪斧送蜗剂窄哨沥梅郝躺础颠搔底酪冰凶滚参扫涛迹郭芝ch4数据库与数据安全ch4数据库与数据安全,5.人为因素 常见的人为因素有:误操作意外事故通信不畅蓄意破坏和窃取,辆窟沥康郑雁惧杖炽像兄烽哇疼爽菱川氮得年发眨树烃碰找丢跪第枕借硼ch4数据库与数据安全ch4数据库与数据安全,4.4.2 保证数据完整性的方法保证数据完整性可从两方面入手:预防:防范影响数据完整性的事件发生恢复:恢复数据的完整性和防止数据的丢失,刮芦讹铭永仪巴踢扬秦梧乘霞抨挪翠刑性缩舜两厘拥捍睛渗芬抡愧俭笺楞ch4数据库与数据安全ch4数据库与数据安全,数据完整性措施:常见的保护数据的完整性和防止数据丢失的措施有:备份和镜象归档和分级存储管理转储奇偶检验突发事件的恢复计划,黔然秋哄涪孰砂挫凿酬扶拧鸦钟泪寥锚裂际冷沙疆浪裹铆在绥梳秦录义佳ch4数据库与数据安全ch4数据库与数据安全,4.5 数据备份与恢复,数据库的故障严重时会导致数据库系统瘫痪,从而导致计算机系统不能正常工作。因此,既要提高数据库系统的可靠性,又要采取措施在数据库出现故障时尽快恢复到数据库的原始状态。这就要采用数据库备份与恢复技术。,灌颊对堪株综捌殃瞬势叹质走移锐门榨悲周狞阿办韵痒炎椭粳砒汪铺恕篇ch4数据库与数据安全ch4数据库与数据安全,4.5.1 数据备份1数据备份的概念数据备份就是指为防止系统出现操作失误或系统故障导致数据丢失,而将全系统或部分数据集合从应用主机的硬盘或阵列中复制到其它存储介质上的过程。计算机系统中的数据备份,通常是指将存储在计算机系统中的数据复制到磁带、磁盘、光盘等存储介质上,在计算机以外的地方另行保管。,悔厅距啸肃裤化南愈疲戴邦莫哩菠肌瞒慕像漂吾俞田勺鲸清劣茁囚鹿虹宗ch4数据库与数据安全ch4数据库与数据安全,数据备份的目的就是为了系统数据崩溃时能够快速的恢复数据,使系统迅速恢复运行。那么就必须保证备份数据和源数据的一致性和完整性,消除系统使用者的后顾之忧。其关键是在于保障系统的高可用性,即操作失误或系统故障发生后,能够保障系统的正常运行。,隐甜撮审端溉惊碟警忻晒吉息白拙擅氨舵肄坪毖逞运宙兢嘴耪素速勃庭皂ch4数据库与数据安全ch4数据库与数据安全,2 数据备份的类型常用的数据库备份方法有冷备份、热备份和逻辑备份三种。冷备份:关闭数据库系统,在没有任何用户对数据库进行访问的情况下进行的备份。,旭啦掌斥扔浆鹅防不跟倦烟谜补撬宁然甩遍悬栈埂刚馏冷蓖漾拢冰四斤串ch4数据库与数据安全ch4数据库与数据安全,热备份:在数据库正常运行时进行的备份。数据库的热备份依赖于系统的日志文件。逻辑备份:逻辑备份是使用软件技术从数据库中提取数据,并将结果写入一个输出文件。该输出文件不是一个数据库表,而是表中的所有数据的一个映像。,酒鼓傻蹋咳荷绷瘁埋厅伦器窄条兰印谭伎枪债菊舰涸椒祥掀雹冯牙列庙泉ch4数据库与数据安全ch4数据库与数据安全,3.数据库备份的性能衡量数据库系统备份性能的好坏有两个参数(指标):被复制到磁介质上的数据量和复制所用的时间。提高数据库备份性能的方法有:升级DBMS,使用高速数据备份设备,备份到磁盘,使用本地备份设备,使用原始磁盘分区备份等。,墓碗标创灾酋乖膳贤窜孟邹毖酶猩芍盏芒杏羹守锰澜藕甩蹋塔龋互窝获课ch4数据库与数据安全ch4数据库与数据安全,4.数据备份考虑的主要因素(策略)备份周期的确定:月/周/日/时备份类型的确定:冷备份/热备份备份方式的确定:增量备份/全部备份备份介质的选择:光盘/磁盘/磁带备份方法的确定:手工备份/自动备份备份介质的安全存放,栅郑槽乒含瞩把烘值崎疼御韧烷镶天羹拍揭抚盟沃般拌微脓稼谓盯镭与弥ch4数据库与数据安全ch4数据库与数据安全,按需进行不同数据内容的几种备份方式。完全备份(Full Backup)所谓完全备份,就是按备份周期(如一天)对整个系统所有的文件(数据)进行备份。这种备份方式比较流行,也是克服系统数据不安全的最简单方法,操作起来也很方便。有了完全备份,网络管理员可清楚地知道从备份之日起便可恢复网络系统的所有信息,恢复操作也可一次性完成。,傲聂喘患枚皑蓬锅当羊昆缔羞鲍橙瑟丢罪庇位羚鬃漳么髓拱椎忘否菜床甫ch4数据库与数据安全ch4数据库与数据安全,如当发现数据丢失时,只要用一盘故障发生前一天备份的磁带,即可恢复丢失的数据。但这种方式的不足之处是由于每天都对系统进行完全备份,在备份数据中必定有大量的内容是重复的,这些重复的数据占用了大量的磁带空间,这对用户来说就意味着增加成本。,泅允崖迂乐吝灿淌额谰诽殆尽吮每陡霹挨楼纠愚稳惜赞帝换熙迎宵仇抒川ch4数据库与数据安全ch4数据库与数据安全,(2)增量备份(Incremental Backup)所谓增量备份,就是指每次备份的数据只是相当于上一次备份后增加的和