分布式数据库系统的防范策略Word格式文档下载.docx
- 文档编号:16500151
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:25
- 大小:104.49KB
分布式数据库系统的防范策略Word格式文档下载.docx
《分布式数据库系统的防范策略Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《分布式数据库系统的防范策略Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
4.4.2加密的关键影响因素分析(6)
4.4.3常用的加/解密算法:
(7)
4.4.4加密方式(14)
5.基于Oracle的分布式数据库系统安全策略:
(14)
5.1用户账号管理(15)
5.2用户认证(15)
5.3访问控制(15)
5.4安全通信(16)
5.5安全检测和反映(16)
5.6用户安全域设置(16)
5.7用户资源限制(16)
5.8权限分配(16)
5.9角色管理(16)
5.10口令管理策略(17)
5.11审计策略(17)
5.12标签安全(17)
5.13系统安全恢复(17)
6结论(18)
参考文献(19)
致谢(20)
分布式数据库系统防范策略
摘要
分布式数据库存在于开放的网络环境,是数据库系统与计算机网络的有机结合,是目前互联网环境下信息资源共享的核心,其安全问题举足轻重,给数据的安全带来了一定的隐患。
分布式数据库系统是在集中式数据库系统的基础上发展起来的,是数据库技术和网络技术结合的产物。
分布式数据库系统是由若干个站点集合而成。
每个站点都是一个独立的数据库系统,它们拥有各自的数据库、中央处理机、客户端以及各自的局部数据库管理系统:
这些站点依靠通讯网络联接存一起,它们在物理结构上是分布式的,但在逻辑上属于同一系统。
分布式数据库系统具有透明访问、通信代价低、分布式计算、均衡网络负载、可靠性高、自治和集中相结合的控制策略、高数据独立性、一致性和可恢复性控制措施等特性。
本文将由分布式数据库系统的特性、安全需求入手,分析系统的体系结构和各种不安全因素,结合安全措施各层次的特点,对安全策略和安全机制中身份验证,访问控制,数据库加密等策略进行综合分析,并比较各种方法的优劣,最后以oracle的安全防范策略加以具体说明。
【关键词】分布式数据库数据库的安全性身份验证访问控制数据库数据库加密
PreventionStrategyofDistributedDatabaseSystem
Abstract
Asthecombinationofcomputernetworkanddatabasesystem,DistributedDatabaseisbecomingthesharecentreofinformationresourceintheInternetsituationanditssecurityisbecomingmoreandmoreimportant.
Distributeddatabasesystemisdevelopedonthebasisofcentralizeddatabasesystem,itistheproductofthecombinationofdatabasetechnologyandnetworktechnology.Distributeddatabasesystemisconsistedofacollectionofsites.Eachsiteisaseparatedatabasesystem,theyhavetheirowndatabases,thecentralprocessors,theclientsandtheirrespectivelocaldatabasemanagementsystems:
Thesesitesconnectedbythecommunicationnetwork,theyaredistributedonthephysicalstructure,butlogicallybelongtothesamesystem.distributeddatabasesystemhasmanycharacteristics,suchasTransparentaccess,lowcommunicationcost,distributedcomputing,networkloadbalancing,highreliability,autonomyandcentralizedcontrolstrategy,highdataindependence,consistencyandrecoverabilityofcontrolmeasures.
AimingatthesecurerequestsofDistributedDatabaseSystem,onthebaseofanalyzingsystemframeandpossibleattacking.Itdiscussuserauthentication,secretcommunication,accesscontrol,contentcipher-text,cryptosystem,keyanddistributedaffairmanagement,audittrack,faultrepairinthesecuritypoliceandsecuritymechanism.finallywewilltakethestrategiestakenbyoracletoaddressthisissueindetails.
【Keywords】distributeddatabasesecurityofdatabaseuserauthentication
accesscontroldatabasedataencryption
绪论
Internet的高速发展推动着分布式数据库的发展,另一方面它也增加了分布式数据库安全问题的复杂性。
如何保证开放网络环境中分布式数据库系统的安全是一个复杂的问题,需要进行认真分析研究。
分布式数据库面临着两大类安全问题:
一类安全问题研究抗击单站点故障,网络故障等自然因素故障,即研究在发生了故障时如何使系统仍能可靠运行或从故障中恢复。
另一类安全问题研究抗击来自于本机或网络上的人为攻击,即研究在有黑客攻击时如何保证库存数据和报文的保密性和可靠性。
数据库最突出的特点之一是数据共享,数据共享给数据库应用带来了众多好处,但给数据库特别是网络化的开放环境与基于网络的分布式数据库系统的安全带来了严重的问题,如何保证分布式数据库的安全问题已经成为数据库领域的重要课题之一。
1分布式数据库系统概念
分布式数据库系统一般具有下列特性:
(1)透明访问[1]
分布式数据库在逻辑上属于同一系统,使得应用不必关心远程数据库的物理位置、数据结构,甚至不必知道远程数据库管理系统的类型就可以像访问本地数据一样访问远程数据。
(2)通信代价低
分布式数据库的冗余数据可以让用户可以选择离自己近的数据整副本进行操作,减少通信代价,从而改善整个系统的性能。
(3)分布式计算
当应用涉及远程数据时,远程站点通过本地站点将处理结果返回本地应用。
多个站点相互协作共同处理应用提交的作业,充分利用了多台主机的处理能力。
(4)均衡网络负载
在分布式数据库环境中,本地数据库能够保留远程数据的本地拷贝,从而使得应用仅仅访问本地拷贝,而不需实时连接到远程数据库。
因而减少了到远程数据库的网络流量,均衡了网络负载。
(5)可靠性高
分布式数据库通过增加冗余数据来提高系统的可靠性,因此如果一个数据备份受到损坏,并不影响整个数据库系统。
(6)自治集中相结合的控制
在集中式数据库中,为了提供资源共享,保证数据的安全性和完整性,对数据资源进行集中控制,由数据管理员(DBA)监督和维护系统的正常运行,这是采用数据库管理技术的作用之一。
在分布式数据库中,一般具有分层控制的结构。
其数据共享有二个层次:
局部共享和全局共享。
局部共享是指在局部数据库中存储局部场地上的那些用户的共享数据;
全局共享是指分布式数据库的各个结点上还存储可供网络上其他结点上的用户共享数据,以支持系统中的全局应用。
这样,相应的控制也具有两个层次:
集中控制和结点自治。
各个结点的局部的数据库管理系统DBMS可以独立地管理局部数据库,具有结点自治性。
同时系统又具有集中控制的机制,协调各个局部DBMS的工作,执行全局应用。
分布式数据库系统采用的就是这种集中和自治相结合的控制结构。
(7)全局的一致性、可恢复性和并发控制
分布式数据库中的各个局部数据库应满足集中式数据库的一致性,可恢复性和具有并发控制。
同时还要保证整个分布式数据库的全局一致性、全局的可恢复性与并发控制。
因此在分布式数据库中这方面的控制内容更多,实现起来也更复杂。
一致性、可恢复性和并发控制虽不相同。
但解决的方法都涉及到事务的管理。
分布式数据库中全局应用要涉及到两个或两个以上结点的数据。
这时一个事务往往由不同结点上的不同操作组成,是一种全局的事务。
事务是一个不可分割的执行单位,要么完整地执行,要么撤消,完全不执行。
在执行分布式数据库系统里的全局事务时,如果其中一个结点上的那部分操作己完成,而另一个结点出现故障,操作失败,那么应该撤消前一结点已执行的操作,不再执行该事务的其他操作,让全局事务回到初始状态,以保证数据的一致性。
分布式数据库系统的以上这些特性使得分布式数据库系统结构更加复杂,控制难度更大。
也导致了其自身难以克服的很多缺陷:
分布式数据库系统开销相对较大;
具有复杂的存取结构,原来在集中式系统中有效的存取数据的技术,在分布式系统中不再适用;
最主要的缺陷还是分布式数据库的数据安全性和保密性较难处理。
因此在分布式数据库中常需要采用加密手段来保证数据安全,这无疑又增加了系统开销和系统复杂度。
2.分布式数据库的安全需求分析
2.1分布式数据库的体系结构
分布式数据库系统通过计算机网络,将地理位置分散而管理又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)联接起来,共同组成一个统一的数据库系统,由统一的分布式数据库管理系统管理,因此分布式数据库系统可以看成是计算机网络与数据库系统的有机结合[2]。
DDBS的体系结构分为四级:
全局外模式、全局概念模式、分片模式和分配模式。
(1)全局外模式:
它们是全局应用的用户视图,是全局概念模式的子集。
(2)全局概念模式:
全局概念模式定义了分布式数据库中所有数据的逻辑结构。
(3)分片模式:
分片模式定义片段以及定义全局关系与片段之间的映象。
这种映象是一对多的,即每个片段来自一个全局关系,而一个全局关系可分成多个片段。
(4)分配模式:
片段是全局关系的逻辑部分,一个片段在物理上可以分配到网络的不同场地上。
分配模式根据数据分配策略的选择定义片段的存放场地。
2.2分布式数据库的不安全因素
数据库安全性包括两方面的内容:
数据库数据的保密性和安全性。
数据的保密性是由个人或组织控制属于自己的数据,包括数据的收集、存储、处理、传输、和使用的法律和道德的权利。
这里主要讨论数据的安全性。
数据的安全性是指对数据库中数据的有意或者无意的泄露、更改和丢失的保护能力,以及防止对数据库数据的不合法使用的能力[3]。
由分布式数据库的体系结构可见,存在的不安全因素可以概括为三个方面:
数据存储在各个站点上存在的不安全因素;
访问各个站点上数据存在的不安全因素;
数据在各个站点之间传输时存在的不安全因素。
综合实际情况分析,不安全因素具体包括:
(1)黑客的攻击
黑客攻击的手段多种多样,到目前为止,攻击手段主要有:
猎取用户口令,进行身份攻击;
黑客假冒合法用户身份猎取敏感信息;
黑客利用隐秘通道获取秘密信息;
利用木马病毒隐藏于系统之中,对系统进行攻击;
攻击电子邮件,通过垃圾邮件等进行攻击;
窃听,黑客在网络信道上监听客户——数据库服务器或服务器——服务器之间的报文来窃取数据;
重发攻击,黑客把窃听到的报文又重发给客户或服务器,重发的报文或保持原样或做了修改,以扰乱系统正常运行甚至修改数据库中数据。
重发攻击可以是针对站点间的数据通信过程,也可以是针对站点间的身份验证过程;
假冒攻击,黑客可以发送报文使客户或服务器通讯端口堵塞,然后再假冒该客户或服务器扰乱分布式数据库系统内其它站点的正常运行甚至非法访问数据;
越权攻击,黑客本身是分布式数据库系统的合法用户,但他利用访问控制方面的安全漏洞越权访问非授权数据;
迂回攻击,黑客利用网络协议、操作系统的安全漏洞绕过分布式数据库系统直接访问数据库文件。
在上述各种过程中,为了实施更有效的攻击.黑客往往还借助于破译工具,采用密码分析方法对得到的密文进行解密或纂攻[4]。
(2)计算机病毒攻击
计算机病毒种类迅速增加、病毒的机制越来越复杂化、破坏性和攻击性越来越强加上互联网为病毒的国际流行提供的方便环境,这使得病毒对数据库的安全构成了严重的威胁。
(3)操作系统安全的脆弱性
这是由操作系统的结构体制所造成的,即操作系统的程序是可以动态连接,可以创建进程,提供远程调用(RPC)等。
一个可以打补丁和可渗透的操作系统是难以从根本上解决安全问题的,但是,操作系统支持程序的连接和数据动态交换是现代系统集成和系统扩展的需要,显然这与安全性是相矛盾的。
(4)网络协议的脆弱性
网络协议安全保障处于较低的水平,例如:
TCP/IP协议在设计之初并没有把安全因素考虑进去。
TCP/IP服务的内在问题,主机配置的复杂性,软件开发过程中引入的脆弱性等都会使相关的站点无法抵御“闯入者“。
(5)数据共享引起的安全问题
分布式数据库系统具有局部应用和全局应用,采用集中和自治相结合的控制方式,提供了系统数据共享机制,数据共享是分布式数据库最突出的特点之一,它为分布式应用带来众多好处,同时也对系统安全提出了新的挑战同集中式数据库系统相比.分布式数据库系统存在的安全问题主要有[5]:
(1)一个分布式数据库系统常常具有多个用户和用户组,而这些用户和用户组又通常分布于系统的各个站点,因此,确认系统中用户的合法身份显然较集中式数据库系统的方法更为复杂。
(2)分布式数据库系统内的用户通常需要共享系统内的数据,而这些数据可能由不同的用户存储,并可能分布在多个站点上,同一数据对不同用户可能具有不同的安全要求。
自主访问控制的授权机制可以使得具有某种访问权限的主体自行决定将其访问权直接或间接地转授给其他无权访问的用户,因此可能造成信息流动的不安全。
(3)单纯地只根据用户安全级别进行的访问控制可能造成未授权信息的泄露。
例如,一个企业内部办公网中,人事主管与财务主管的安全级别应该是相同的,但是人事主管显然不能随意获得财务主管的消息,反之亦然。
3安全措施的层次分析
在网络环境下,分布式数据库系统包括客户机、固定主机、位置服务器、支持基站,固定网络等。
因此对分布式数据库系统进行安全维护时,应该将各个组成部分考虑进去[6]。
(1)物理层
物理层指的是位于整个系统中的各个站点,各个站点必须物理上受到保护,以防止入侵者强行闯入或暗中潜入。
(2)用户层
为不同需求的合法用户授予不同的权限,并且对用户的授权必须格外谨慎。
(3)网络层
分布式数据库系统的网络层包含两个方面,第一方面是回写网络,第二方面是移动网络。
这两方面的安全对整个系统举足轻重。
由于移动系统通过网络进行远程数据访问和数据传输,网络层安全性与物理层安全一样重要,必须有相应的网络安全措施。
(4)操作系统层
操作系统安全性方面的弱点,可能成为对数据库进行未授权访问的一种手段。
所以不管数据库管理系统有多安全,必须关注操作系统的安全性。
(5)数据库系统层
数据库系统层的安全机制的主要责任是保证为不同需求的合法用户授予不同的权限,并保证这样的授权限制不被违反。
4安全防护策略
4.1全面防护
4.1.1物理安全性
与其说物理安全性是特定的恶意软件问题,不如说它是一般的安全问题,但是如果没有用于组织基础结构中所有客户端,服务器和网络设备的有效物理防护计划,则无法避免恶意软件的攻击。
在有效的物理防护计划中有许多关键因素,其中包括:
建立安全性、人员安全性、网络接入点、服务器计算机、工作站计算机、移动计算机和设。
在组织的安全风险评估中,应该评估其中的每个元素。
如果攻击者损害其中的任一元素,则风险级别增加,恶意软件可以绕过外部和内部防护边界感染网络上的主机。
4.1.2客户端防护
当恶意软件到达主机时,防护系统必须集中于保护主机系统及其数据,并停止感染的传播。
这些防护与环境中的物理防护和网络防护一样重要。
(1)减小攻击面应用程序层上的第一道防护是减小计算机的攻击面。
应在计算机上删除或禁用所有不需要的应用程序或服务,以最大限度地减少攻击者可以利用系统的方法数。
(2)启用基于主机的防火墙基于主机的防火墙或个人防火墙代表应该启用的重要客户端防护层,尤其是在用户可能带到组织通常的物理和网络防护之外的便携式计算机上。
这些防火墙会筛选试图进入或离开特定主机的所有数据[7]。
(3)测试漏洞扫描程序。
(4)限制未授权的应用程序。
4.1.3服务器防护
服务器防护比起客户端防护在可靠性和性能方面的预期级别通常高多。
此外,许多服务器在组织基础结构中起到的专门作用通常需要制定专门的防护解决方案。
(1)减小攻击面。
从服务器中删除不需要的服务和应用程序,将其攻击面减到最小。
(2)应用安全更新。
如有可能,请确保所有服务器计算机运行的都是最新的安全更新。
根据需要执行其他测试,以确保新的更新不会对关键任务服务器产生负面影响。
(3)启用基于主机的防火墙。
(4)使用漏洞扫描程序进行测试。
4.1.4网络防护层
在历史上出现过的恶意软件事件中,通过网络发动的攻击是最多的。
通常,发动恶意软件攻击是为了利用网络外围防护中的漏洞允许恶意软件访问组织IT基础结构中的主机设备。
这些设备可以是客户端、服务器、路由器,或者甚至是防火墙。
在此层上进行病毒防护所面临的最困难问题之一是,平衡IT系统用户的功能要求与创建有效防护所需的限制。
例如,与许多攻击类似,MYDOOM蠕虫使用电子邮件附件复制自己。
从IT基础结构角度来看,阻止所有传人附件是最简单、最安全的选项。
但是,组织中电子邮件用户的需求可能不允许这样做。
必须进行折衷,在组织的需求和它可以接受的风险级别之间达到平衡才是明智的做法。
4.2身份验证
识别系统授权的合法用户,防止非法用户访问数据库系统,可采用双向身份验证技术,包括用户身份认证与站点间身份验证。
(1)用户身份认证
在分布式数据库系统中,为了防止各种假冒攻击,在执行各种数据库操作之前,需要在客户端和数据库服务器之间进行双向身份验证。
用户进入分布式数据库系统之前,需要进行身份验证,并且确定该用户的访问权限。
通常采用系统给每个合法用户分配一个唯一的用户标识和口令。
高级系统要使用智能卡技术、物理特征(指纹,声纹,手图,视网膜等)认证技术、数字签名等方法。
(2)站点间身份验证
Kerberos基于对称密码体制的双向身份验证协议,各站点从密钥管理中心获得与目标站点通信用的秘密密钥。
基于公钥密码体制的双向身份验证协议,每个站点都生成一个非对称密码算法(RSA)的公钥对,其中私钥由站点自己保存,并通过可信渠道把自己的公钥分发到分布式系统的其他站点,然后任意两个站点可以利用所获得的公钥信息相互验证份。
4.3访问控制
所谓访问控制,一般是指系统内部的访问控制,或者说,是系统内部主体对客体访问所受到的控制。
实施访问控制,是维护系统安全、保护系统资源的重要技术手段,也是计算机系统中数据库系统安全机制的核心。
访问控制的主要任务是对存取访问权限的确定、授予和实施,其目的就是在保证系统安全的前提下,最大限度地给予资源共享。
访问控制的基础,是主体和客体的安全属性。
实施访问控制,侧重保护的是客体。
每个需要加以保护的客体,都得按安全要求,预先标识一组相应的安全属性,并以此鉴别、确定对客体访问的允许与否。
这个标识安全属性称为访问控制表,同样,每个主体也应当设有相应的访问控制表,用以标明它访问客体的能力。
此处标识的作用就是“授权”,用以标明哪些主体有权访问。
所确定的访问权限实际是允许的访问方式,即读、写、查询、增加、删除、修改等操作的组合,还有安全的访问过程等[8]。
4.4数据库加密
在分布式数据库中,数据加密是指将需要保护的数据(明码文)在秘密信息(密钥)的作用下按照一定的规则(加密算法)变换成他人无法识别的形式(密码文)。
4.4.1加密层次
可以考虑在三个不同层次实现对数据库数据的加密,这三个层次分别是OS层、DBMS内核层和DBMS外层。
(1)在OS层加密
由于在OS层无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,对密钥合理的管理和使用也很难。
因此,对分布式数据库来说,在OS层对数据库文件进行加密很难实现。
(2)在DBMS内核层实现加密
这种加密是指数据在物理存取之前完成加/解密工作。
这种加密方式的优点是加密功能强,并且加密功能几乎不会影响DBMS的功能,可以实现加密功能与数据库管理系统之间的无缝耦合。
其缺点是加密运算在服务器端进行,加重了服务器的负载,而且DBMS和加密器之间的接口需要DBMS开发商的支持。
(3)在DBMS外层实现加密
是将数据库加密系统做成DBMS的一个外层工具,根据加密要求自动完成对数据库数据的加/脱密处理。
采用这种加密方式进行加密,加/脱密运算可在客户端进行,它的优点是不会加重数据库服务器的负载并且可以实现网上传输的加密,缺点是加密功能会受到一些限制,与数据库管理系统之间的耦合性稍差。
在DBMS外层实现加密功能的原理如下。
数据库加密系统分成两个功能独立的主要部件:
一个是加密字典管理程序,另一个是数据库加/解密引擎[9]。
数据库加密系统将用户对数据库信息具体的加密要求以及基础信息保存在加密字典中,通过调用数据加/脱密引擎实现对数据库表的加密、脱密及数据转换等功能。
数据库信息的an/脱密处理是在后台完成的,对数据库服务器是透明的。
4.4.2加密的关键影响因素分析
(1)加密粒度
数据库加密系统的加密粒度有多种选择,按由大至小的次序排列,包括以表为单位、以记录为单位和以数据项为单位等实现加/解密操作。
总体来说,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 数据库 系统 防范 策略