Oracle数据库安全管理浅析
2017-03-10◆李翼孟莉
◆李 翼 孟 莉
(陕西省军区数据信息室 陕西 710061)
Oracle数据库安全管理浅析
◆李 翼 孟 莉
(陕西省军区数据信息室 陕西 710061)
大数据时代,Oracle数据库得到了更加广泛的应用,确保其安全可靠是用户日益关注的问题。本文从介绍Oracle数据库开始,围绕其使用中存在的安全风险,剖析了应对方法。
Oracle;数据库;安全管理
0 引言
作为市场主流的关系型数据库之一,Oracle数据库伴随社会信息化进程的加快,在银行、金融、电信、制造业等多个行业得到了广泛应用。作为用户,在使用Oracle数据库管理海量数据的同时,也面临着日益增长的数据安全风险。如何既充分发挥数据库软件支撑作用,又有效提升数据安全性,亟需用户对Oracle数据库的安全管理机制进行掌握,采取合理的安全管理策略,有效降低数据运维风险。本文首先对Oracle数据库进行了简要介绍,接着对当前Oracle数据库使用存在的常见安全风险进行了梳理,最后就如何降低上述风险进行了剖析。
1 Oracle数据库简要介绍
1.1 Oracle数据库的应用现状
作为美国甲骨文公司开发的软件产品,Oracle数据库诞生于上世纪70年代末。1989年,Oracle公司进入中国市场,其数据库由于出色稳定的性能在国内诸多行业得到了广泛应用。从90年代初取得巨大成功的Oracle 7开始,Oracle数据库先后经历了8i,9i,10g,11g,12c六个主要版本的迭代升级,其国内企业级用户根据2016年相关统计几乎涵盖了金融、电子、通信、能源、政府等涉及信息化的所有行业[1]。在2015年中国数据库市场,
Oracle份额达到了56%[2]。
1.2 Oracle数据库的主要特点
Oracle数据库得到市场广泛认可,主要因其具有几大特点:
(1)高性能。对实时大并发事务处理有很好的支持性,配合相应硬件,能够高效应对银行、电信、电子商务等并发用户在数十万级以上,数据存储需求在PB级以上的应用场景。
(2)高可用性。应用RMAN、闪回、RAC、Data Guard等技术,构建从单实例到多实例、单库到集群的高可用性解决方案,能够有效减少数据库计划内和计划外的停机。
(3)高安全。通过应用Database Vault,Advanced Security等安全组件,结合传统的用户权限管理和审计功能防止未授权的数据库活动,减少数据库内外安全风险。
(4)高可管理。提供可视化的Enterprise Manager管理工具,结合自有的SQL*Plus以及PL/SQL Developer,Navicat等第三方工具,可以有效的对数据库进性能监视、诊断优化,并可根据需求进行相关开发。
2 Oracle数据库使用存在的安全风险
2.1 数据库安全规划缺乏
Oracle数据库本身提供了大量安全管理工具,但在具体使用中,还是存在用户把过多重心放在功能发挥、性能提升环节,在如何应用上述手段确保数据库安全方面还缺少规划,数据库多层次多角度的整体性防护还有不少欠缺。有的将安全管理等同于口令管理,认为只要口令足够复杂,数据库安全就有保证;有的对数据库各类用户权限认识不清,为使用方便,DBA权限随意授予;有的不能跳出数据库本身考虑问题,缺乏对操作系统、防火墙、入侵检测、数据加密、人员管理等安全手段的整合应用能力。
2.2 审计作用发挥不明显
审计是数据库安全管理的重要组成部分,它能够实时记录数据库的活动,通过分析用户行为,对数据库的潜在风险进行评估,并对攻击行为进行阻断。在使用中,很多用户对审计作用的重要性还认识不足,有的出于性能考虑不愿开启审计功能;有的开启了审计功能,但具体策略的设置缺乏针对性;有的没有周期性的评估审计信息,不能及时从审计信息中发现安全隐患。
2.3 可用性有待加强
Oracle数据库提供了多种数据备份及恢复手段,目的就是减少数据丢失风险,提高数据库的可用性。虽然大多数用户都主动采用相关技术手段确保具有数据备份及恢复能力,但在作用发挥上还有不如人意的地方。有的还停留在使用Exp/Imp工具的层面上;有的不会使用RMAN、闪回技术;有的制定应用备份策略缺乏针对性;有的对ASM、RAC、Data Guard等技术的作用还存在认识偏差,在应用上存在抵触情绪。
3 减少数据安全风险的相关对策
3.1 加强用户及权限管理
良好的用户及权限管理是降低数据库内部安全风险的必要措施。对用户来说,Oracle数据库常见用户类型主要有两类:管理员用户和普通用户。管理员用户主要指SYS、SYSTEM,其中SYS作为超级管理员拥有包括打开、关闭数据库在内的最高权限;SYSTEM类似于普通管理员,只有在数据库启动后进行DBA权限所赋予的管理工作。普通用户则主要面向数据库使用者,管理员根据需求对普通用户进行授权,赋予其具有如建立、更改、删除数据表类的具体功能。
加强用户及权限管理,用户首先要做好分类及规划。对于管理员用户,一方面要在数据库完成部署后就及时更改口令,严控口令知晓范围;另一方面要严格身份认证,综合运用外部验证、全局验证手段,建强关键用户的认证可靠性。在权限管理方面,一方面要对Oracle数据库提供的各类权限作用有清晰理解,不能简单以DBA权限大而化之;一方面要运用角色管理等手段,以最小权限原则进行权限分配,既确保普通用户的正常使用,也降低其误操作带来的安全风险。
3.2 用好安全审计机制
Oracle数据库的审计主要包括粗粒度审计、细粒度审计两大类。前者分为语句级审计、权限级审计、对象级审计三类[3],后者则根据访问对象的内容来审计,解决了定位到行或列的问题,其审计更为精确。
在审计使用上,用户首先要评估需要关注的审计目标,确定哪些是符合粗粒度审计,哪些符合细粒度审计。对于特定SQL语句,可以使用语句级审计;对于CREATE、ALTER等用户权限,可以使用权限级审计;对于某一特定对象(如表空间,表)的特定操作,则可以使用对象级审计。其次,要根据审计目标,编写相关SQL语句进行测试,评估审计的可靠性,并进行修改完善。最后,要做好定期评估和改进工作,要掌握从审计日志中发现风险隐患的能力,切实通过审计促进数据库内部行为管控机制的有效建立。
3.3 优化数据库的可用性
从某种意义上讲,数据是用户的最大资产。随着数据量的不断增长,确保数据不丢失、可恢复,提高数据库的可用性是数据库安全管理的核心内容之一。Oracle数据库为了确保数据安全,从硬件到软件提供了多种手段,从文件系统的ASM到数据库内部的闪回技术,从针对实例的RAC到提供数据库冗余的Data Guard,用户可以根据需求选择相应技术手段减少数据库故障及数据丢失的风险。
在具体应用中,用户除了使用合理的数据备份策略,例如有效保护控制、归档、联机日志文件,合理安排完全备份、增量备份、差异备份等,还可应用RMAN、闪回技术确保数据库能有快速从错误中恢复。此外,对于关键性数据库,RAC和Data Guard技术的运用是必不可少的,只有可靠的容灾备份才能确保数据库有更为可靠的可用性。
4 结束语
大数据时代,Oracle数据库使用者所面临的数据安全风险也日益增长。对于存在的安全问题,准确采取有针对性的应对措施很有必要。当然,在合理运用Oracle数据库自身机制减少安全风险的同时,管理者也要重视从全局思考问题,综合运用网络安全、信息安全方面的多种手段,整体考虑、综合施策,只有这样才能更全面地应对风险,减少损失。
[1]科技讯.2016年度中国Oracle数据库使用现状分析报告[EB/OL].http://www.kejixun.com/article/170117/275157.shtml.
[2]IT168.2015中国数据库市场Oracle占有率达56%[EB/OL].http://bigdata.it168.com/a2016/0512/2635/000002 635781.shtml.
[3]姚旭.Oracle数据库安全管理的分析与策略[J].职业技术,2012.