基于oracle的数据库安全策略

时间:2022-10-03 09:41:00

基于oracle的数据库安全策略

摘要:数据库是信息系统的核心,但数据库通常没有像操作系统和计算机网络这样在安全性上受到重视。数据库安全性问题一直缠绕着数据库管理员,数据库数据的丢失以及数据库被非法用户的侵入使得数据库管理员非常烦恼。Oracle是应用最广泛的数据库管理系统,但Oracle数据库系统却仍然存在着不少的安全隐患和系统漏洞。

关键词:数据库安全性;安全策略;oracle系统

中图分类号:TP393.08文献标识码:A文章编号:1007-9599 (2010) 03-0070-02

Policy Based on Oracle Database Security

Zhang Yongtao

(Shangqiu Science and Technology Vocational College,Shangqiu476000,China)

Abstract:The database is the core of information systems, but the database without so much security attention as the operating system and computer network. Database security problems that have plagued the database administrator,data of database loss and unauthorized users of the intrusion database are both make administrator many troubles. Oracle is the most widely used database management system, but the Oracle database system is still with many security risks and vulnerabilities.

Keywords:Database security;Security Policy;Oracle System

一、引言

随着计算机网络应用的普及和提高,Oracle数据库应用在各个领域日新月异,Oracle是关系型数据库管理系统,它性能优异、卓越,功能强大,操作灵活方便,在当今大型数据库管理系统中占有重要地位。是目前数据库系统中受到广泛青睐的几家之一。然而,随着应用的深入,数据信息的不断增加,数据库的安全性问题已提到了一个十分重要的议事日程上,它是数据库管理员日常工作中十分关注的一个问题。

在正常情况下,Oracle数据库会保证数据的安全、稳定,为用户提供正确的数据,但由于计算机系统的故障(硬件故障、软件故障、网络故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失,导致数据库系统不能正常运转,甚至使数据库系统崩溃。为此,笔者就根据多年的oracle课程教学和系统开发经验,围绕如何保证Oracle数据库具有较高的安全性,使数据库系统处于一个稳定安全的状态下,谈一些认识。

二、系统安全性策略

(一)数据库用户管理

这是保护数据库系统安全的重要手段之一。它通过建立不同的用户组和用户口令验证,可以有效地防止非法的Oracle用户进入数据库系统,造成不必要的麻烦和损坏;数据库用户是访问Oracle数据库信息的途径,因此,应该很好地维护管理数据库用户的安全性。按照数据库系统的大小和管理数据库用户所需的工作量,数据库安全性管理者可能只是拥有create、alter或drop数据库用户的一个特殊用户,或者是拥有这些权限的一组用户,应注意的是,只有那些值得信任的个人才应该有管理数据库用户的权限。

Oracle数据库系统在利用用户管理数据库安全性方面采取的基本措施有:

1.通过验证用户名和口令,防止非Oracle用户注册到Oracle数据库,对数据库进行非法存取操作。

2.授予用户一定的权限,限制用户操纵数据库的权力。

3.授予用户对数据库实体的存取执行权限,阻止用户访问非授权数据。

4.提供数据库实体存取审计机制,使数据库管理员可以监视数据库中数据的存取情况和系统资源的使用情况。

5.采用视图机制,限制存取基表的行和列集合。

在此,特别强调对SYS和SYSTEM两个特殊账户的保密管理。

(二)操作系统安全性

数据库管理员必须有create和delete文件的操作系统权限;一般数据库用户不应该有create或delete与数据库相关文件的操作系统权限;如果操作系统能为数据库用户分配角色,那么安全管理者必须有修改操作系统账户安全性区域的权限。

三、数据的安全性策略

数据库的数据保护主要是数据库的备份,当计算机的软硬件发生故障时,利用备份进行数据库恢复,以恢复破坏的数据库文件或控制文件或其他文件。

另一种数据保护就是日志,Oracle数据库实例都提供日志,用以记录数据库中所进行的各种操作,包括修改、调整参数等,在数据库内部建立一个所有作业的完整记录。

再一个就是控制文件的备份,它一般用于存储数据库物理结构的状态,控制文件中的某些状态信息在实例恢复和介质恢复期间用于引导Oracle数据库。

(一)备份策略

Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备份是一种逻辑备份,冷备份和热备份是物理备份。

1.导出/导入(Export/Import)。

利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。

Oracle支持三种方式类型的输出:

A表方式(T方式),将指定表的数据导出。

B用户方式(U方式),将指定用户的所有对象及数据导出。

C全库方式(Full方式),瘵数据库中的所有对象导出。

数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。

2.增量导出/导入。

增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。

3.冷备份。

冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。

值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。

4.热备份。

热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。

(二)恢复策略

总的来说,数据库恢复可以分为实例恢复与介质恢复两大类。数据库出现实例故障,例如,意外掉电、后台进程故障,或预料发出使用ABORT命令终止数据库实例时,在启动数据库时就会发现实例故障,此时就需要实例恢复,实例恢复是数据库自动进行的,可以将数据库恢复到故障之前的事务一致性状态。如果在联机备份时发现实例故障,则需介质恢复。如恢复数据文件时没执行检验点就脱机,这时所丢失的改动就需要进行介质恢复。介质恢复可以使用归档日志文件,也可以使用联机日志文件。

介质恢复主要用于由于介质故障引起数据库文件的破坏时使用。介质故障是当一个文件、一个文件的一部分或磁盘不能读写时出现的故障。Oracle启动时会检测数据文件头中的检验点计数器和控制文件中对应的检验点计数器,当两者的值不相等时就说明需要做介质恢复。如果数据库可以运行,在线日志仅可重用但不能归档,此时介质恢复可以使用最新的完全备份的简单恢复。如果数据库可以运行,其日志已经被归档,则只能恢复数据库到介质故障前的一个指定事务一致性状态。所以,介质故障的恢复是将整个数据库恢复到故障之前的一个事务一致状态。如果数据库是在归档方式下运行,则可以实施完全介质恢复和不完全介质恢复。

1.完全介质恢复。

完全介质恢复可恢复全部丢失的数据,使数据库恢复到最新状态。

2.不完全介质恢复。

不完全介质恢复是在完全介质恢复不可能进行或有特殊要求时进行的介质恢复。

四、数据库管理者安全性策略

(一)保护作为sys和system用户的连接

当数据库创建好以后,立即更改有管理权限的sys和system用户的密码,防止非法用户访问数据库。当作为sys和system用户连入数据库后,用户有强大的权限用各种方式对数据库进行改动。

(二)保护管理者与数据库的连接

应该只有数据库管理者能用管理权限连入数据库,当以sysdba或startup,shutdown和recover或数据库对象(例如create、drop和delete等)进行没任何限制的操作。

五、应用程序开发者的安全性策略

应用程序开发者和他们的权限数据库应用程序开发者是唯一一类需要非凡权限组完成自己工作的数据库用户。开发者需要诸如create table,create,procedure等系统权限,然而,为了限制开发者对数据库的操作,只应该把一些特定的系统权限授予开发者。

应用程序开发者的环境:

1.程序开发者不应与终端用户竞争数据库资源。

2.用程序开发者不能损害数据库其他应用产品。

free和controlled应用程序开发应用程序开发者有一下两种权限:

(1)free development

(2)controlled development

应用程序开发者的角色和权限数据库安全性治理者能创建角色来治理典型的应用程序开发者的权限要求。

1.create系统权限经常授予给应用程序开发者,以至于他们能创建他的数据对象。

2.数据对象角色几乎不会授予给应用程序开发者使用的角色。

六、小结

基于以上的安全策略,可以防止非法用户访问数据库,限制合法用户操纵数据库的权限;可以使数据库在故障发生后,不会丢失数据,并能使数据库迅速恢复到故障发生前的那一时间点上,最大限度的保证数据的安全和整个系统的连续运行。

参考文献:

[1]杨璐露.论图书馆数据库备份策略[J].现代情报,2002,7

[2]王新民,王飞.Oracle9i数据库安全管理机制剖析[J].信息技术,2002,26,12:18-20

[3]李海波.Oracle数据库的安全及备份恢复[J].电脑知识与技术:认证考试,2004,11

[4]浦云明,林颖贤.oracle数据库实用教程.机械工业出版社,2007,1

[5]陈从锦,杨昱.Oracle数据库的安全防护概述[J].中山大学学报论丛,2003,3

上一篇:档案管理应向信息化发展 下一篇:智能建筑集成控制系统设计分析