基于Oracle的企业数据库安全研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Oracle的企业数据库安全研究
田素贞;魏衍君
【摘要】With the database system widely used in the enterprise,database system has become data information storage and system management major carriers and platforms in the most enterprises.Database security has been an important issue for database management.Database data loss and illegal invasion of making the security of the database system is particularly important.This paper discusses the current database security problems facing enterprises and to make appropriate improvements to improve the business of high security database system.%随着数据库系统在企业中广泛地应用,数据库系统已经成为多数企业实现数据信息存储和系统管理的重要载体和平台。

数据库安全一直是数据库管理的重要问题。

数据库数据的丢失和非法入侵使得数据库系统的安全性尤为重要。

本文主要讨论目前企业面对的数据库安全问题,并提出相应的改进,以改善企业高数据库系统的安全性。

【期刊名称】《清远职业技术学院学报》
【年(卷),期】2011(004)006
【总页数】3页(P51-53)
【关键词】数据库;安全;Oracle;掩码;审计
【作者】田素贞;魏衍君
【作者单位】商丘职业技术学院计算机系,河南商丘476000;商丘职业技术学院计算机系,河南商丘476000
【正文语种】中文
【中图分类】TP311.13;TP309
随着电子信息化进程的加快,经济、政治、科技等方面的电子信息普及程度越来越高,随之而来数据安全事故也频频发生,严重阻碍电子信息化的进程。

整个国际社会的数据安全的现状情况堪忧。

而我国正处于电子信息化高速公路之上,数据信息安全情况尤其严峻。

1 数据库安全的重要性
随着基础网络建设和应用系统开发的日益成熟与完善,尤其是企业信息化建设的前景和风险共存的事实,安全问题逐步成为企业信息化部门关注和讨论的焦点。

对于企业来说,信息系统最重要的资源并不是网络和设备,而是有价值的数据和存储这些关键数据的数据库[2]。

任何成功的数据库安全策略都需要了解和保护每个数据库的意图,需要了解所保护的对象以及怎样保护数据免受各类威胁的袭击。

现从以下几个方面分析数据库安全策略。

2 身份认证和分类分批管理
数据库本身具有多种手段实现数据安全,身份认证是安全机制中的重要环节。

数据库用户身份是连接数据库时使用的有效的使用者标识符,每个数据库用户都有一个相关密码。

身份认证包括用户标识和鉴定,通过核对用户的名字或身份,决定该用户对系统的使用权。

数据库系统不允许一个未经授权的用户对数据库进行操作[3]。

以防止未经授权的存取,这是保护数据库系统安全最重要的基本手段。

Oracle数
据库系统一般可以设置3种权限:
(1)Object对象级权限;
(2)System系统级权限;
(3)Role角色级权限。

建立角色使用CREATE ROLE语句,它的语法如下:
CREATE ROLE role_name IDENTIFIED BY password
CREATE ROLE role_name IDENTIFIED EXTERNALLY
CREATE ROLE role_name IDENTIFIED GLOBALLY
对于那些用户很多,应用程序和数据对象很丰富的数据库,应充分利用角色对权限进行有效管理。

对于复杂的系统环境,角色能大大地简化权限的管理。

要特别提及的是,用户通过角色获取的权限,在过程和包中是无法使用的,也就是说,在过程和包中涉及的所有权限都需要直接授予用户,不能通过角色间接授予。

在实际的应用中,管理数据库的权限方法如下:
(1)定义相应的应用系统角色;
(2)根据实际情况,分配相应的权限给上述的应用系统角色;
(3)根据实际情况,定义相应的用户角色,分配合适的应用系统角色给用户角色;(4)分配合适的用户角色给数据库用户。

同时,对数据库所包含敏感信息的分类是任何数据库安全策略提出的基本要求。

企业应该实时更新数据库以保持对数据库的完整性,包括数据库产品与非数据库产品,然后将其归类到应该遵循相同安全策略的不同目录。

所有数据库,特别是保存有隐私数据的数据库系统必须具备强大的验证,授权和访问控制功能。

就是应用层也要进行验证和授权,以提供强大的安全基础。

3 数据掩码和加密保护
建立完成一个稳定的基础数据库安全策略后,可以采取防御性措施保护关键数据库。

这要求为产品和非产品数据库添加新的保护层[5]。

数据隐私不仅指产品系统,我
们应该同时扩展非产品环境,包括测试,开发,质量保证,分段传输和训练实例,
特别是存储隐私数据的地方。

数据库安全专家应该评估数据掩码(数据掩码就是将真正的客户数据转换成其他人都不能使用的完全伪造的数据,但是那些数据仍可以被用于应用程序测试。

这样,即使数据失窃,对于身份盗窃犯罪分子或商业间谍来说,那些数据也是无用的。

)的使用情况以及测试数据生成的完整性和安全性,以便在测试环境中或者外包应用开发的时候保护隐私数据。

可考虑用网络加密和对静态数据加密来防止数据泄漏。

在处理不同威胁的过程中,两种加密方法可以相互独立使用。

通常,二者都不会对应用程序的功能产生影响。

数据库存储数据加密的主要步骤为:
(1)创建一个数据表用于存放DES加密算法使用的加密密钥,数据加密密钥将由dbms—obfuscation toolkit.DESGetKey或者dbms—obfuscation—toolkit.DES3GetKey在数据插入时动态产生;
(2)创建一个加密包,定义相应的加密/解密函数,在该加密包中调用
dbms_obfuscation_ toolkit.DES3Decrypt和 dbms—
obfuscation_toolkit.DES3Decrypt使用上述动态产生的加密密钥对相应的数据加密和解密;
(3)创建一个After Insert的触发器,调用上述加密包对新插入的数据进行加密后保存;
(4)使用sqlplus测试数据库加密的效果,确认数据是以加密格式存放;(5)调用上述解密函数,联合相应的加密密钥。

对上述加密格式存放的数据进行解密。

我们还可以对管理进程进行规范化的修改以便保护重要的数据库系统。

过去,生产环境中系统架构或数据库的更改需要先停止数据库的运行,而新的DBMS允许在联机的数据库上进行修改操作,而这也带来了新的安全威胁。

对管理进程进行规范化的更改,以确保管理员只在管理被核准后才能更改产品数据库,同时数据库管理
员可以跟踪所有更改。

企业应该更新自己的恢复和可用计划以解决这类更改所带来的数据或元数据事故。

4 系统安全策略
系统安全策略面向的是数据库系统自身的安全,具体来说就是指数据库的备份与恢复。

数据库的备份与恢复是数据安全的预防和补救机制。

备份是预防由介质、操
作系统、软件和其他因素导致重要数据库文件严重损坏的惟一安全措施[1]。

确保当数据库系统崩溃时,当数据库数据存储介质被破坏时以及当数据库用户误操作时, 数据库数据信息不至于丢失。

ORACLE 数据库的备份分为两种:
(1)物理备份:是实际物理数据库文件从一处拷贝到另一处的备份。

操作系统备份、使用恢复管理器的备份、冷备份和热备份都是物理备份。

(2)逻辑备份: 是利用 SQL从数据库中提取数据, 并将其存入二进制文件中。


些数据可以重新导入原来的数据库, 或者以后导入其他数据库。

逻辑备份工具: Expor t/Import。

export 实用工具利用 SQL从对象中读取数据并将其存入二进制文件, import实用工具利用该文件把这些特定数据库对象恢复到数据库中。

综合利用各种方法, 制定切实可行的备份策略,可以达到保护数据的目的。

5 审计监控
数据库审计是指对审计和事务日志进行审查,从而跟踪数据和数据库结构的变化。

其结构关系如图1所示。

图1 数据库审计系统结构图
数据库可以这样进行设置:捕捉数据和元数据的改变,以及存储这些资料的数据库所做的修改。

典型的审计报告应该包括以下内容:完成的数据库操作、改变的数据值、执行该项操作的人,以及其他几项属性。

这些审计功能被植入到所有的关系数据库平台中,并确保生成的记录文件具有较高的准确性和完整性,就好像在数据库
中存储的数据一样。

此外,审计跟踪还能把一系列的语句转化为合理的事务,并提供业务流程取证(forensic)分析所需的业务环境。

不过,审计功能也存在限制,例如不能对数据访问语句(通常称之为SELECT语句)进行审计。

另外,本地数据库审计很难捕捉到用户认可的原始查询(query)和变量(variables),只能从综合的角度对事件做出记录,而日志则可以捕捉到改变
前后的数据值。

这也使得审计跟踪在检测已改变的内容时,比检测已访问的内容更为有效。

数据库审计功能在数据的安全和隐私比以上所述的几点因素重要得多。

捕捉失败的登入、查询,以及管理功能的误用是对系统探查能力进行检测的一种途径。

对能够暴露数据的视窗(views)插件进行监控、使用系统功能的公共许可、为普通用户提供管理能力的权限更改,这些都是很常见的使用案例[4]。

对谁在何时、何地进
行了何种操作等属性进行取证分析,能够提供非常不错的提示信息,以显示数据库的使用是否合法,或是否有可能受到潜在的攻击。

为防止数据库被篡改,审计跟踪提供了足够的信息以确定更改的类型,并帮助用户理解必需的纠正措施。

通常情况下,审计跟踪用于辅助SIEM(安全信息和事件管理)以及日志管理等安全工具,进行相关性和安全事件的通知。

数据库漏洞评估报告可用来识别数据库环境中的安全缺陷,如较弱的密码,过量的访问优先权,补充型DBA和安全组监测。

6 安全策略的制定
数据库安全策略即包括审计和监控,还涉及端对端的进程设置,这些设置侧重于最小化风险,并符合安全规范以防御内部和外部攻击。

数据库安全需要更广泛深入的研究,要弥补数据库安全方面的不足,需要设计制定符合通用策略以及安全规范安全策略。

由于数据库安全策略主要是维护数据信息的完整性、保密性和可用性,因此,数据库的安全策略将主要围绕系统安全性、数据库安全性、数据库管理者安全
性、用户安全性和应用程序开发者安全性等方面制定安全策略。

当起草安全策略的时候,要协调数据库安全策略与信息安全策略间的关系,将重心放在行业安全标准上,促使角色分离,将数据恢复和数据可用性进程顺利连接起来。

6 结语
随着数据库技术和网络技术的发展, 传统C/ S结构的集中式数据库应用系统正逐
步被B/ S结构的分布式开放系统所取代, 新的体系结构下的安全问题正变得更为复杂。

数据库安全问题涉及企业的重大利益,数据库安全策略研究,除了上述内容外,还涉及黑客技术、防火墙技术、入侵检测技术、病毒防护技术、漏洞评估技术等。

一个完善的企业数据库系统,还要从更多的方面深入地研究。

【相关文献】
[1] 刘启源,刘怡. 数据库与信息系统的安全[M] .北京:科学出版社, 2000.
[2] Jeffrey A. Hoffer , Mary B. Prescott,Fred R. Mc2Fadden.现代数据库管理[M].北京:电子工业
出版社,2004.
[3] 王健.Oracle 数据库的备份与恢复策略研究[J].计算机安全,2007,(02).
[4] 竹勇,叶水生.Oracle9i 数据库的安全管理机制[J].计算机技术与发展,2006,(06).
[5] 孔冬艳.基于对象关系型空间数据库理论的 GIS 实现[M].北京:中国地质大学,2006.。

相关文档
最新文档