精选《网络安全技术》第六章数据库的安全备份和灾难恢复Word格式.docx

上传人:b****6 文档编号:21150849 上传时间:2023-01-28 格式:DOCX 页数:17 大小:38.37KB
下载 相关 举报
精选《网络安全技术》第六章数据库的安全备份和灾难恢复Word格式.docx_第1页
第1页 / 共17页
精选《网络安全技术》第六章数据库的安全备份和灾难恢复Word格式.docx_第2页
第2页 / 共17页
精选《网络安全技术》第六章数据库的安全备份和灾难恢复Word格式.docx_第3页
第3页 / 共17页
精选《网络安全技术》第六章数据库的安全备份和灾难恢复Word格式.docx_第4页
第4页 / 共17页
精选《网络安全技术》第六章数据库的安全备份和灾难恢复Word格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

精选《网络安全技术》第六章数据库的安全备份和灾难恢复Word格式.docx

《精选《网络安全技术》第六章数据库的安全备份和灾难恢复Word格式.docx》由会员分享,可在线阅读,更多相关《精选《网络安全技术》第六章数据库的安全备份和灾难恢复Word格式.docx(17页珍藏版)》请在冰豆网上搜索。

精选《网络安全技术》第六章数据库的安全备份和灾难恢复Word格式.docx

不过如果本书能够早几个月出版,阿里巴巴的弟兄们能够认真地读一读这一章,他们原本是可以避免这场灾祸的。

希望本书的读者能够汲取这个教训,能够在这一章里找到帮助你消灾免祸的金石良言。

6.1.2数据库安全的威胁来自何方?

数据库的安全的威胁主要来自以下几个方面:

①物理和环境的因素,如物理设备的损坏,包括硬盘划伤、设备的机械和电气故障、电源短路或过载或其他原因引起的火灾、暖气漏水房顶漏雨等引起的水患,以及盗窃和遗失磁盘磁带等。

②黑客攻击、病毒发作造成的数据秘密的泄露和数据完整性的破坏。

③社会关系因素,包括金钱美女、威逼胁迫、宗教民族、商业倾轧等造成内部人员的腐败和权力失控。

④网络以及数据库的安全级别不能满足应用的要求。

⑤网络和数据库的设置错误和管理混乱造成越权访问和越权使用数据。

数据库的安全是网络安全的核心。

有关物理和环境、网络平台漏洞、病毒黑客和防火墙,以及有关法律法规,本书都各自辟有专章讨论,故不多赘言。

本章将集中讨论数据库的安全性能和加密、数据库的备份和数据库的恢复等问题。

6.2数据库的介绍

6.2.1网络数据库的要求

网络环境对数据库提出了新的要求,主要有以下几个方面:

1.与服务器软件的集成

网络数据库通过各种服务器如WWW等为用户提供各种服务。

因此,数据库与服务器的良好的集成,将有利于应用软件的开发,提高应用软件的性能并减少可能出现的冲突和漏洞。

2.性能

在网络环境下,数据库的访问变得更加频繁,而且多媒体技术的广泛应用,也极大地增加了数据库的负担,因此,要求数据库具有良好的吞吐能力,能够更加便捷地提供服务。

3.安全性

因此,对于一定的应用来说,要求网络设计具有一定的安全等级,那么数据库也必须有相应的安全等级。

4.稳定性

数据库的运行必须平稳。

尤其对于网络中集中突发性的大访问量,不能出现死锁、崩溃等现象。

5.容错性

对于用户操作和应用程序所带来的种种意料不到的错误,数据库必具有容错的功能。

当出错时,能够给用户返回适当的说明信息,不能因此而死锁或崩溃。

6.扩展性

数据库应当具有良好的扩展性,以适应用户对数据库的容量的增长、功能的加强、数据的综合利用等方面的要求。

7.备份

数据库应当能够可靠地、方便地备份,以保证系统的连续可靠地运行。

而一旦出现灾难性的数据故障时,能够有希望从灾难中恢复。

6.2.2网络数据库的主要产品

1.MSSQLServer

MSSQLServer是微软公司的数据库产品,属于中型数据库。

由于MSSQLServer工作在WindowsNT平台,易学易用,而性能又接近于UNIX平台的产品,因此深受中小型企业的欢迎,逐渐占领了中小型企业数据库的较大的市场分额。

MSSQLServer具有以下优点:

①价格低廉;

②数据处理速度快,性能已有很大改善;

③集成好,能与Web服务器、与微软Intranet套装软件BackOffice以及其他数据库如IBMDB2,Oracle等配合工作;

④具有良好的安全性能(C2级);

⑤扩展性好。

2.SybaseSQLServerII

SybaseSQLServerII是一种关系型数据库管理系统RDBMS,能支持很大的内存,可处理很大的数据量,支持并行备份机制,备份简单方便,支持多线程、多CPU,工作性能稳定。

3.OracleUniversalServer

OracleUniversalServer是大型数据库中的王牌。

它有以下优点:

①支持多媒体。

OracleUniversalServer支持多种数据类型,如文本、图形、图象、声音、动画、视频等;

②支持多种平台。

几乎所有常见的平台,都能够得到OracleUniversalServer的支持。

如:

MicrosoftWindowsNT,SUNSolarisforSPARC,SUNSolarisX86forInter,DECDigital,HP,IBMAIX,InterUNIX,SGI,IBMOS/2WarpServer。

4.InformixUniversalServer

InformixUniversalServer是一种对象关系数据管理系统ORDBMS,其主要特点是:

①支持多媒体;

②支持动态扩展结构DSA,在硬件容量允许的条件下,能够无限扩展数据库;

③具有良好的安全性和稳定性;

④支持几乎所有流行的网络协议;

⑤提供与Web服务器的完整集成。

5.IBMDB2CommonServer

IBMDB2CommonServer也属于对象关系数据管理系统ORDBMS,在金融行业中占有相当大的份额。

它的主要特点是:

①支持多种平台,如AIX,HP-UX,SCOOpenServer,SUNSolaris,OS/2,WindowsNT等;

②支持多媒体信息;

③支持单CPU结构,SMP结构,MPP结构;

④具有良好的安全性和稳定性。

6.2.3网络数据库的访问方式

1.ODBC

ODBC(OpenDataBaseConnection)是微软公司推出的一种通用数据库接口标准,目前已经被大多数数据库厂商所接受。

该标准适用于各种数据库,如Oracle,Sybace,Infermix,SQLServer,VisualFoxPro,Access等。

2.数据库WEB工具

数据库厂商大多为其数据库提供了支持Web的数据库开发工具。

小型数据库开发工具如IntetnetAssistantforAccess,大型数据库工具如WebAssistantforSQLServer,Informix的WWWServer等。

3.数据库开发工具

用户可使用各种数据库开发工具来开发所需的数据库应用程序。

常用的工具有微软公司的VisualBasic,Borland公司的Delph,Power公司的PowerBuilder。

4.报表生成工具

使用报表生成工具(ReportWriter)和相应的接口程序,用户可将数据库中的数据按一定的逻辑关系取出来,并转换成Web文档供浏览。

5.数据库接口工具

数据库接口工具有:

①CGI,这是比较古老的方法,缺点是用户的每次请求都要在服务器上生成进程,造成了系统的沉重的负担,因此速度较慢,同时还存在一些安全问题;

②微软公司的ISAPI,能生成动态联接库,效率较高;

③Netscape公司的NSAPI与之相似;

④SUN公司倡导的JDBCAPI,支持Java功能。

6.数据库接口程序

通常大型数据库都提供有专门的接口程序。

例如Oracle数据库的接口程序为SQLNET,Informix的接口程序是I-NET等。

这种接口程序一般分为客户端和服务器端两个方面,所以用这种方法写的软件属于客户端/服务器端结构的,应用起来不是很方便。

7.Java和JDBC

Java支持数据库联接,通过标准的SQL接口程序JDBC能够有效地访问各种数据库。

用Java和JDBC可以写浏览器/服务器/数据库三层结构的应用程序,这是当前比较流行的一种程序结构。

Java对数据库的访问非常灵活,功能很强,所以对于委托生产的Java数据库应用软件,应当经过严格的安全测试,避免其中的隐患和猫腻。

6.3数据库的安全性能和数据加密

6.3.1数据库的安全性能

数据库系统是由数据库和数据库管理系统(DBMS)两部分所组成。

数据库是按照一定方式组织的数据的集合。

数据库管理系统是为用户及应用程序提供数据访问,并具有对数据库进行管理、维护等多种功能的程序。

保证数据库的安全在软件上主要是充分利用数据库管理系统提供的功能,其安全措施在很多方面都类似于安全操作系统中所采取的措施。

数据库安全主要有两层涵义:

第一层是指系统运行安全,它包括法律、政策的保护,如用户是否有合法权利,政策是否允许等;

物理控制安全,如机房的防盗门窗等;

硬件运行安全;

操作系统安全,如数据文件是否保护等;

灾害、故障恢复;

死锁的避免和解除;

电磁信息的泄漏防止等。

第二层是指系统信息安全,它包括用户口令字鉴别;

用户存取权限控制;

数据存取权限、方式控制;

审计跟踪;

数据加密等。

数据库信息安全依赖于两个层次:

第一层是数据库管理系统本身提供的用户名/口令字识别、视图、使用权限控制、审计等等管理措施,大型数据库管理系统如Oracle,Sybace,Ingress等都有这些功能。

第二层则是应用程序设置的控制管理,由用户自己规定哪些操作允许,哪些操作不允许,这样做比较直观,但是如果缺乏深入的研究难免会挂十漏一。

大型数据库所提供的管理手段有以下几种:

①用户分类

用户的工作部门不同,工作需要不同,职位高低不同,要分为不同的类型,分别被授予不同的数据库访问权限。

一般将权限分为三类,即第一类人有数据库登录的权限,第二类人进一步有数据库资源管理的权限,第三类人具有最高权限可以管理数据库。

第一类人有了数据库登录的权限,他才能进入数据库管理系统,才能使用数据库管理系统提供的各种工具和应用程序。

同时,数据资源的所有者可以给这类用户授予数据查询、建立视图等权限。

这类用户能够查阅部分数据库的信息,但是他无权改动数据库里的任何数据。

第二类人有了数据库资源管理的权限,他就可以进一步创建数据库的表、数据库的索引等数据库客体,可以在权限允许的范围内查询和修改数据库,还能把自己所拥有的数据资源对其他人授权,还可以申请审计。

第三类人是数据库管理员,他拥有最高的权限,包括访问任何用户的任何数据,授予和回收用户的各种权限,创建各种数据库客体,完成数据库的整库的备份、装入重组以及进行全系统的审计等工作。

这类用户的工作是谨慎的带全局性的工作,只有极少数用户属于这种类型。

对于这类用户,制度上的权力控制和分散机制是必须的,否则会埋下隐患。

②数据分类

同一类权限的用户,他们对数据库中的数据的管理和使用的范围是不同的。

为此,DBMS提供了数据分类的功能,即建立视图。

管理员把某用户可查询的数据在逻辑上归并起来,简称一个或多个视图,并赋予名称,再把视图的查询权限授予该用户或一组用户。

这种数据分类可以做得很细,其最精细的粒度是数据库中的二维表中的一个交叉元素。

③审计功能

大型DBMS提供的审计功能是一个十分重要的安全措施,它用来监视和记录用户对数据库的各种操作。

有两种方式的审计,即用户审计和系统审计。

用户审计时,DBMS审计系统记录下所有对用户自己的表或视图所进行访问的企图,包括成功的和不成功的访问,以及每次操作的用户名、时间、操作代码等信息。

这些信息一般都被记录在数据字典(或称系统表)中,利用这些信息用户可以进行审计分析。

系统审计是由系统管理员或系统审计员进行,其审计内容主要时系统一级命令以及数据库客体的使用情况。

6.3.2数据库安全性能的一个实例

下面我们通过一个实例DM3来说明如何实现数据库的安全性能

1.DM3的安全体系结构

可信数据库管理系统的体系结构分为两类:

①第一类是TCB子集DBMS结构,用DBMS以外的可信计算基(TCB)实现对数据库对象的强制访问控制,此时多级关系被分解成单级或系统级片断,多级安全DBMS将这些片断存在物理上分离的单级对象(如文件、段或物理上分离的硬件设备)中,再对这些分离的单级或系统级对象的访问实行强制访问控制。

②第二类是可信主体DBMS,由DBMS本身实现强制访问控制的一些或全部责任。

DM3采用可信主体DBMS体系结构,由数据库管理系统实现强制访问控制的功能,它要求操作系统能提供控制,防止绕过DBMS直接对数据库的访问,将概念上的多级数据库存于一个或多个操作系统对象(如文件)中。

由多级安全DBMS给每个数据库对象进行标记,这些数据库对象对操作系统是不可见的,操作系统不能直接对数据库对象进行访问,多级安全DBMS有跨操作系统安全级范围操作的特权。

2.三权分立的安全机制

DM3在安全管理体制方面与其他数据库管理系统不同。

绝大多数数据库管理系统采用的是由数据库管理员DBA负责系统的全部管理工作(包括安全管理)。

显然,这种管理机制使得DBA的权力过于集中,存在安全隐患。

DM3在安全管理方面采用了三权分立的安全管理体制,把系统管理员分为数据库管理员DBA,数据库安全管理员SSO,数据库审计员Auditor三类。

DBA负责自主存取控制及系统维护与管理方面的工作,SSO负责强制存取控制,Auditor负责系统的审计。

这种管理体制真正做到三权分立,各行其责,相互制约,可靠地保证了数据库的安全性。

3.自主访问与强制访问控制

自主访问控制就是对主体(用户)访问客体(数据库对象)的操作权限实施控制,目的就是要保证用户只能存取他有权存取的数据,当用户拥有数据库对象上的某些操作权限及相应的转授权时,可以自由地把这些操作权限部分或全部转授给其他用户,从而使得其他用户也获得在这些数据库对象上的使用权限。

DM3系统根据用户的权限执行自主访问控制。

规定用户权限要考虑三个因素:

用户、数据对象和操作。

所有的用户权限都要记录在系统表(数据字典)中,对用户存取权限的定义称为授权,当用户提出操作请求时,DM3根据授权情况进行检查,以决定是执行操作还是拒绝执行,从而保证用户能够存取他有权存取的数据。

所谓强制访问控制是通过给主体(用户)和客体(数据对象)指定安全级,并根据安全级匹配规则来确定某主体是否被准许访问某客体。

DM3系统根据用户的操作请求、安全级和客体的安全级执行强制访问控制,保证用户只能访问与其安全级相匹配的数据。

强制访问控制必须事先定义主体和客体的安全级,所有主体和客体的安全级都要记录在系统中。

当用户提出操作请求时,DM3首先检查用户对所操作的数据对象是否具有相应的操作权限,然后检查该用户的操作请求及安全级与所操作的数据对象的安全级是否匹配,当两个条件都满足时,DM3才执行用户的操作请求,否则拒绝执行。

4.隐通道分析技术

尽管自主和强制访问控制限制了系统中的信息只能由低安全级主体向高安全级主体流动,低安全级主体仍然可以通过其他方式向高安全级主体发送信息,隐通道就是其中的一种。

隐通道是系统的一个用户以违反系统安全策略的方式传送信息给另一用户的机制。

它往往通过系统原本不用于数据传送的系统资源来传送信息,并且这种通信方式往往不被系统的访问控制机制所检测和控制。

隐通道包括存储隐通道与定时隐通道。

隐通道的发送者和接收者之间事先约定好某种编码方式,并使用系统正常操作。

如果隐通道的发送者直接或间接地修改资源属性,另一主体(接收者)直接或间接地读取这个属性的变化时,这个隐通道就是存储隐通道。

如果一个隐通道是一个主体,通过调整系统资源(如CPU)的使用时间影响了另一个主体实际的响应时间,从而发送信息给另一主体时,这个隐通道是定时隐通道。

尽管高安全级的用户有可能利用隐通道传送信息给低安全级的用户,但隐通道的主要潜在威胁是它有可能被特洛伊木马所利用。

根据美国《可信计算机系统评估标准》(即TCSEC)的要求,对B2安全级及以上的系统必须进行隐通道分析,并估算隐通道的带宽,根据带宽决定对隐通道的处理(容忍存在、消除或审计)。

根据这一要求,我们对DM3进行了隐通道分析,并设计出辅助识别工具,目前DM3中的存储隐通道包括客体属性通道、客体存在通道和共享资源通道(如资源耗尽通道)等。

对一些定时隐通道,如利用并发控制上锁机制(在Oracle等其他数据库管理系统中也存在)的隐通道,采取了消除措施。

6.3.3数据库的数据加密

1.数据库的数据加密的特点

对于一般的应用来说,上述的数据库所提供的安全性能是能够满足要求的。

但是对于一些重要部门或敏感领域的应用,仅靠上述的措施似乎还难以保证数据的安全。

某些用户尤其是一些内部用户可能越权访问数据库,甚至窃取或篡改某些信息,因此,也有人希望对数据库中存储的某些重要数据进行加密处理,以保证数据的安全。

数据加密,是将明文数据经过一定的变换,变成密文数据。

数据的解密则是加密的逆过程,重新把密文数据变成明文数据。

加密和解密的变换方法叫做加密算法和解密算法,一般加密和解密采用同样的算法。

控制变换运算的参数叫做密钥。

现代的加密解密的算法,一般都是公开的,而密钥则有完全保密的所谓对称系统,还有把加密密钥公开而只保留解密密钥的所谓公钥系统。

本书的第7章对此有详细的介绍。

数据库的数据加密一般是在通用的数据库管理系统之上,增加一些加密解密的控件,来完成对数据本身的控制。

与一般的通信中的加密的情况不同,数据库的数据加密通常不是对数据文件加密,而是对记录的字段加密。

当然,在数据库备份到离线的介质上送到异地保存时,是有必要对整个数据文件加密的。

数据库的数据加密可以用对称系统也可以用公钥系统,但是公钥系统一般速度比较慢。

好在需要特殊加密的数据量不可能很大,所以速度不是什么重要问题。

只有持有解密密钥的人才能够解读数据。

如果有几个人拥有相同的密钥,那么他们只能对数据共同负责。

如果有必要建立几个人的互相制约机制,那么可以用几个人不同的密钥对数据进行多重加密;

解读时只有几个人同时在场多重解密才有可能。

2.数据库的数据加密的范围

数据经过加密之后,将掩盖了数据与数据之间在内容上的相互关系。

比如说,你再不能比较它们的大小了,因为加密后,谁也不知道它代表的数值有多大。

因此,在当前流行的关系型的数据库中,对下列字段是不能加密的:

①索引字段不能加密。

为了加快查询的速度,数据库常常建立若干个索引。

但是索引必须在明文下才能运行,不能加密。

②关系运算的比较字段不能加密。

加密将掩盖它们之间的关系,所以必须保持明文。

③表间的联接字段不能加密。

否则将失去联接功能。

上面所说的三个方面,乃是关系型数据库的精髓所在。

它们都不能加密,能够加密的都是无关紧要的地方,这无异于是一个讽刺。

而且如果有人能够非法越权访问数据库,那么从这些关键字段的明文,是不难推断被加密的字段的内容的。

一个企业或单位的领导者应当明白这个浅显的道理,不要过分迷信数据库数据字段的加密,而应当从整个系统周密考虑定下良策,否则你会在一种虚假的安全幻想中丢失你生命攸关的秘密。

3.数据库的数据加密对数据库功能的影响

对数据库里的数据字段的加密,会给数据库的功能带来许多不利的影响。

目前DBMS的功能都比较完善,特别象Oracle,Sybase这些采用客户端/服务器的结构的数据库管理系统,拥有数据库管理和开发的各种工具。

然而,数据库的数据加密以后,DBMS的一些功能将无法使用。

①无法实现对数据制约因素的定义。

数据库系统的规则定义了数据之间的制约因素。

加密以后,将无法实现这种制约。

值域的定义将失去意义。

而且,数据密文的类型和位数必须适应原来明文字段的规定,否则无法接受。

②密文数据无法进行排序、分类、分组。

③SQL语言中的内部函数对加密数据失去作用。

④DBMS的一些开发工具不能对加密数据使用。

6.4数据库的备份

数据库的备份是数据库维护中最令人腻烦的工作了。

年复一年、日复一日地写了擦、擦了写。

往往一年365天,数据库总是好好地,啥事也没有。

然而,也许就在第366天,在那个闰年不该闰到的日子,数据库遭到了灭顶之灾。

如果你在30公里以外的一个石洞里,藏有一盘昨天备份的加密磁带,你会为你往日的腻烦和偶然的偷懒捏一把汗,好在你昨天老老实实地备份了一盒磁带!

6.4.1数据库的备份和系统的备份

我们已经强调了数据库备份的重要性,但是数据库的备份不是简单地拷贝几个数据文件的事情。

对此不应产生片面化的理解。

把数据文件拷贝下来是很重要的,但是仅此要恢复系统还会有许多困难。

在网络环境中,如果系统和应用程序遭到了破坏,那么再重新安装并不容易:

我们必须找出所有的安装盘和原来的安装记录进行安装,然后重新设置各种参数、用户信息、权限等等,这个过程可能要持续好几天。

因此,最有效的方法是对整个网络系统进行备份,不仅仅包含数据,而且包含网络中安装的应用程序、数据库管理系统、用户设置、系统参数、环境参数等。

这样,无论系统遇到多大的灾难,都能够应付自如。

另外,备份不等于单纯的拷贝,因为系统的重要信息无法用拷贝的方法备份下来,而且管理也是备份的重要组成部分,没有管理功能的备份,不能算是真正意义的备份。

所以,备份往往要借助具有管理功能的专门的备份软件进行。

6.4.2在线备份和离线备份

数据库的在线备份是把数据和环境信息传送的计算机系统或网络上的另一个非实时工作的区域。

这个区域平时不参与数据处理的工作,而一旦平时正常工作的设备发生故障,那么备份的系统马上投入运行,替代发生故障的设备,直到故障排除。

在线备份适用于需要比较快地恢复系统的场合。

在线备份的一种具体做法是在主机系统开辟一个非工作运行空间,专门存放备份的数据,称做分区备份。

在线备份的另一种做法是建立另一个子系统,把主机系统的数据传输到备份子系统中。

数据库的离线备份是把数据和环境信息下载到安全的存储媒介中,这种存储媒介和当前运行的计算机系统和网络没有直接联系。

在系统需要恢复时予以重新安装。

存储的数据还可以留档以备日后查询。

即使有了在线备份,离线备份也还是必须的。

对于国家的和重要单位的一些关系国计民生的数据,离线备份的介质应当远距离妥善存放,避免由于地震、火灾、水患等而同时毁于一旦。

一般的一个单位的备份介质,也不应当存放在同一座楼里甚至就在主机的旁边的柜子里。

备份的数据在脱离安全控制的环境进行传输和存储时,一定要整体做妥善的加密,然后还要妥善地保管密钥。

千万不要因为仅有的知道密钥的人在一场灾难中一命呜呼而导致数据永远不可解读。

6.4.3数据库备份和冗余技术

数据库备份的冗余技术与上面所说的在线备份是有所不同的。

在线备份的设备不参与实时的数据处理工作,而冗余设备却是实时地在线工作的。

数据库备份的冗余技术通常采用RAID技术,就是把多个磁盘驱动器结合起来,通过数据冗余

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1