基于Oracle的数据库安全研究

时间:2022-10-14 08:21:55

基于Oracle的数据库安全研究

摘要:数据库是企业信息系统的核心和基础,存储着企业大量的重要信息,所以数据库的安全性越来越被人们所重视。当前,绝大多数企业信息系统都采取了一定的安全防护措施来保护数据库的安全性,也具备了一定的数据库系统被破坏后的数据恢复技术。数据库中数据的丢失或非法入侵将对数据库的安全性带来极大的隐患,重者将造成不可估量的破坏。文中介绍了企业存在的安全问题,通过对企业数据库设置相关权限、审计等措施有效的预防了数据库的安全问题,从而在一定程度上保护了企业的数据库安全,实践证明这些措施具有一定的参考价值。

关键词:安全;Orade;数据;审计

中图分类号:TP392 文献标识码:A DOI:10.3969/j.issn.1003-6970.2012.01.022

1前言

伴随着我国经济社会的飞速发展,计算机和网络在经济、政治、科技等方面的应用也迅猛普及,而随着这些信息化办公的普及度的提升,办公所涉及到的相关数据的安全性也越来越受到人们的重视。事实上,数据安全事故频频发生,甚至有愈来愈烈的趋势,这在一定程度上阻碍电子信息化的进程。就整个国际社会的数据安全的现状也是不尽乐观,而我国正处于电子信息化高速公路之上,数据信息安全情况尤其严峻。

2数据库安全的重要性

随着基础网络建设和应用系统开发的日益成熟与完善,尤其是企业信息化建设的前景和风险共存的事实,安全问题逐步成为企业信息化部门关注和讨论的焦点。对于企业来说,信息系统最重要的资源并不是网络和设备,而是有价值的数据和存储这些关键数据数据库。

要成功的保护企业相关数据,首先得了解数据库安全策略,然后根据所需要保护的数据进行有针对性的设置相关权限、做稳妥的审计等工作来应对各类可能出现的威胁。下面结合企业实际安全审计等工作进行数据安全性的探讨。

3企业数据库系统的安全防护

3.1身份认证和分类分批管理

在数据库的数据安全保障方面,可以有很多方式来实现,其中安全机制中尤为重要的一个环节是身份认证。数据库用户身份是每个数据库合法使用者所必须持有的标识符,用来登录数据库所需要进行验证身份的符号,通常还会有一个相关的密码。身份认证包括用户标识和鉴定,通过核对用户的名字或身份,决定该用户对系统的使用权。数据库系统不允许一个未经授权的用户对数据库进行操作。以防止未经授权的存取,这是保护数据库系统安全最重要的基本手段。Oracle数据库系统一般可以设置3种权限:

(1)0bject对象级权限

(2)System系统级权限

(3)Role角色级权限

建立角色使用CREATE ROLE语句,他的语法如下:

CREATE ROLE role_name IDENTIFIED BY Dass―word

CREATE ROLE role_name IDENTIFIED EXTER-NALLY

CREATE ROLE role_name IDENTIFIED GLOBALLY

对于那些用户很多,应用程序和数据对象很丰富的数据库,应充分利用角色对权限进行有效管理。对于复杂的系统环境,角色能大大地简化权限的管理。要特别提及的是,用户通过角色获取的权限,在过程和包中是无法使用的,也就是说,在过程和包中涉及的所有权限都需要直接授予用户,不能通过角色间接授予。

在实际的应用中,管理数据库的权限方法如下:

(1)定义相应的应用系统角色;

(2)根据实际情况,分配相应的权限给上述的应用系统角色;

(3)根据实际情况,定义相应的用户角色,分配合适的应用系统角色给用户角色;

(4)分配合适的用户角色给数据库用户。

同时,对数据库所包含敏感信息的分类是任何数据库安全策略提出的基本要求。企业应该实时更新数据库以保持对数据库的完整性,包括数据库产品与非数据库产品,然后将其归类到应该遵循相同安全策略的不同目录。所有数据库,特别是保存有隐私数据的数据库系统必须具备强大的验证,授权和访问控制功能。便是应用层也要进行验证和授权。以提供强大的安全基础。

3.2数据掩码和加密保护

建立完成一个稳定的基础数据库安全策略后,可以采取防御性措施保护关键数据库。这要求为产品和非产品数据库添加新的保护层。数据隐私不仅指产品系统。我们应该同时扩展非产品环境,包括测试,开发,质量保证,分段传输和训练实例,特别是存储隐私数据的地方。数据库安全专家应该评估数据掩码(数据掩码就是将真正的客户数据转换成其他人都不能使用的完全伪造的数据,但是那些数据仍可以被用于应用程序测试。这样,即使数据失窃,对于身份盗窃犯罪分子或商业间谍来说,那些数据也是无用的。)的使用情况以及测试数据生成的完整性和安全性,以便在测试环境中或者外包应用开发的时候保护隐私数据。

可考虑用网络加密和对静态数据加密来防止数据泄漏。在处理不同威胁的过程中,两种加密方法可以相互独立使用。通常,二者都不会对应用程序的功能产生影响。数据库存储数据加密的主要步骤为:

(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允许在联机的数据库上进行修改操作,而这也带来了新的安全威胁。对管理进程进行规范化的更改,以确保管理员只在管理被核准后才能更改产品数据库,同时数据库管理员可以跟踪所有更改。企业应该更新自己的恢复和可用计划以解决这类更改所带来的数据或元数据事故。

3.3系统安全策略

系统安全策略面向的是数据库系统自身的安全,具体来说就是指数据库的备份与恢复。数据库的备份与恢复是数据安全的预防和补救机制。备份是预防由介质、操作系统、软件和其他因素导致重要数据库文件严重损坏的惟一安全措施。确保当数据库系统崩溃时,当数据库数据存储介质被破坏时以及当数据库用户误操作时,数据库数据信息不至于丢失。

ORACLE数据库的备份分为两种:

(1)物理备份:是实际物理数据库文件从一处拷贝到另一处的备份。操作系统备份、使用恢复管理器的备份、冷备份和热备份都是物理备份。

(2)逻辑备份:是利用SQL从数据库中提取数据,并将其存入二进制文件中。这些数据可以重新导入原来的数据库,或者以后导入其他数据库。逻辑备份工具:Expor t/Import。export实用工具利用SOL从对象中读取数据并将其存入二进制文件,import实用工具利用该文件把这些特定数据库对象恢复到数据库中。

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

3.4审计监控

数据库审计是指对审计和事务日志进行审查,从而跟踪数据和数据库结构的变化。其结构关系如图1所示。

数据库可以这样进行设置:捕捉数据和元数据的改变,以及存储这些资料的数据库所做的修改。典型的审计报告应该包括以下内容:完成的数据库操作、改变的数据值、执行该项操作的人,以及其他几项属性。这些审计功能被植入到所有的关系数据库平台中,并确保生成的记录文件具有较高的准确性和完整性,就好像在数据库中存储的数据一样。此外,审计跟踪还能把一系列的语句转化为合理的事务,并提供业务流程取证(forensic)分析所需的业务环境。

不过,审计功能也存在限制,例如不能对数据访问语句(通常称之为SELECT语句)进行审计。另外,本地数据库审计很难捕捉到用户认可的原始查询(query)和变量(variables),只能从综合的角度对事件做出记录,而日志则可以捕捉到改变前后的数据值。这也使得审计跟踪在检测已改变的内容时,比检测已访问的内容更为有效。

数据库审计功能在数据的安全和隐私比以上所述的几点因素重要得多。捕捉失败的登入、查询,以及管理功能的误用是对系统探查能力进行检测的一种途径。对能够暴露数据的视窗(views)插件进行监控、使用系统功能的公共许可、为普通用户提供管理能力的权限更改,这些都是很常见的使用案例。对谁在何时、何地进行了何种操作等属性进行取证分析,能够提供非常不错的提示信息,以显示数据库的使用是否合法,或是否有可能受到潜在的攻击。为防止数据库被篡改,审计跟踪提供了足够的信息以确定更改的类型,并帮助用户理解必需的纠正措施。通常情况下,审计跟踪用于辅助SIEM(安全信息和事件管理)以及日志管理等安全工具,进行相关性和安全事件的通知。

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

3.5安全策略的制定

数据库安全策略即包括审计和监控,还涉及端对端的进程设置,这些设置侧重于最小化风险,并符合安全规范以防御内部和外部攻击。数据库安全需要更广泛深入的研究,要弥补数据库安全方面的不足,需要设计制定符合通用策略以及安全规范安全策略。由于,数据库安全策略主要是维护数据信息的完整性、保密性和可用性。因此,数据库的安全策略将主要围绕系统安全性、数据库安全性、数据库管理者安全性、用户安全性和应用程序开发者安全性等方面制定安全策略。当起草安全策略的时候,要协调数据库安全策略与信息安全策略间的关系,将重心放在行业安全标准上,促使角色分离,将数据恢复和数据可用性进程顺利连接起来。

4结束语

随着信息技术的飞速发展,各类企业信息系统中的相关数据的安全性问题会变得越发

复杂,对数据的安全保护工作会越来越有挑战性。特别是现在逐步由传统的C/S结构的集中式数据库应用系统向B/S结构的分布式开放系统发展的情况下,对数据进行保护越发困难。

数据库安全问题涉及企业的重大利益,数据库安全策略研究,除了上述内容外,还涉及黑客技术、防火墙技术、入侵检测技术、病毒防护技术、漏洞评估技术等。文中结合企业实际,对数据库系统的数据进行有效的保护进行了实践探索,取得了较为理想的安全效果。数据的安全性工作任重而道远,需要我们付出更大的努力去进行数据的安全保护。

参考文献

[1]刘启源,刘怡.数据库与信息系统的安全[M].北京:科学出版社,2000.

[2](美)Jeffrey A.Holler,Mary B.Prescott,Fred R.Mc2Fadden著,现代数据库管理[M].北京:电子工业出版社,2004.

[3]王健.Oracle数据库的备份与恢复策略研究[J].计算机安全,2007(2)

[4]竹勇.叶水生.Oracle9i数据库的安全管理机制[J].计算机技术与发展,2006(6)

[5]孔冬艳.基于对象关系型空间数据库理论的GIS实现[D].北京:中国地质大学,2006.

[6]赖丽.基于Oracle的数据库安全审计技术研究[D].四川师范大学,2009.

[7]费雅洁,关颖.Oracle数据库实用技术[M].西安电子科技大学出版社,2008.

上一篇:基于DGIaS实时地税资源核查系统的应用研究与实... 下一篇:基于JaVa ME的多功能手机游戏的设计与实现