Oracle Maximum Security Architecture

很多人应该知道在基于Oracle数据库的系统实施过程中,有一种高可用性的解决方案,称为MAA(Maximum Availability Architecture),通过RAC和Dataguard等一系列技术和选件搭建一个可以获得最大高可用性的IT环境。

MAA保证了IT系统能够被持续使用,而与此同时,另外一个需求就诞生了,系统不但需要能够持续使用,而且还需要能够安全使用。安全,同样也是IT系统能够符合行业标准的前提条件。面对安全需求,Oracle提出了MSA架构,也就是Maximum Security Architecture,最大安全性架构。

让我们的数据更安全

很早之前,在做税务行业数据库架构整体方案的时候,曾经建议过将多个数据库实例整合到一个RAC数据库中时,客户提出过一个疑问,数据都放在一个数据库里面,安全性怎么保证?物理隔离才安全。 那时候,我的回答是,物理隔离就安全了?数据库的安全绝对不仅仅是是否能够从这台机器登陆到数据库服务器上,那只是一个前端的考虑点而已,在数据传输的每个阶段,都需要考虑安全性,都需要制定跟企业特点相符合的安全策略,而Oracle数据库在即使是非物理隔离的多个数据库实例上,也同样具备多种安全保护措施。 这里,并不过多地探讨到底Oracle数据库提供了多少Security的解决方案,只是想说,现在的企业在考虑安全性上,更多地是在想如何从外部防范入侵,大多数都忽略了内部的问题,中国有句古话 – 千里之堤毁于蚁穴,其实,内部的毁坏可能才是最致命的。 曾经被朋友请去给某个公安机关的数据库做恢复工作,数据的备份是每天的export文件,且不说这样的备份是否合理,单单就安全性考虑,至少在我帮助恢复和最后检查数据完整性的时候,我可以看到居民们的姓名、身份证号码,甚至,如果当时我愿意copy一份dmp文件拿走的话,也恐怕没有人知道。 再看看我曾经服务过的单位,都或多或少存在这样的安全隐患。 仍然回到我比较熟悉的税务行业,诚然,税务行业的数据保密级别跟银行相比,要低不少,但是以其中的“防伪税控”系统为例,其中存放着企业增值税的信息,并且系统的复杂程度跟税务行业的其它应用相比要简单不少,表的数量不过百张,表结构也相对简单,直接通过查看表中的数据基本上可以获得需要的信息。而“稽核协查”系统的数据又基本上全部由“防伪税控”系统中复制而来,这其中包含着可能会存在的企业违规操作信息。 国税有着企业的纳税情况;地税有着个人的纳税额;银行有着个人的贷款情况、信用卡消费情况;移动,网通,医院,网监,只要有数据库的地方,就有着安全的需求,以上任何一个企事业单位,如果数据泄漏了,恐怕都是一件天大的事情。 数据库的安全建设,现在在国内还仅仅处于一个起步的阶段,在我见过的大多数数据库中,都或多或少存在着安全问题,无论是安装了多少防火墙,无论是安装了多厚的铁门,铁门前面站了多少警卫,进门之前需要签多少字,中控室里安装了多少摄像头,只要有合适的理由登陆进数据库中,一切防范措施似乎都形同虚设了。让跟业务无关的技术人员能够直接面对最终的数据,仅仅这一点就足够让人后脊梁冒冷汗的。 实际上,对于企业数据安全性的要求,现在已经不仅仅是企业内部的需求了,随着美国萨班斯法案(Sarbanes-Oxley)、美国HIPAA法案(Health Insurance Portability and Accountability Act)、日本个人信息保护法案、欧盟隐私和电子通信指令等法规和隐私保护指令的不断出台,中国也开始制定了《企业内部控制基本规范》,该法规被称为中国版的萨班斯法案,在2008年6月28日发布,在规范内最后一条明确指出“本规范自2009年7月1日起实施”,实施范围限定为上市公司,同时也鼓励在非上市的其它大中型企业内实行。 看一下上面提到的几个问题,再看一下Oracle数据库中是否有相应的解决方法。 1. 如何让数据库管理员看不到业务数据? Oracle Database Vault,Oracle数据库企业版的一个增值选件。它主要是用于管理单个数据库的安全性方面的,当然它也适用于Oracle的RAC环境。在Oracle Database Vault 引入了两个新概念,第一就是领域的概念,也就是说我们可以把数据库的对象组成一个领域,例如说多个表,整个应用或者多个应用,而Database Vault 管理员可以把要进行安全保护的数据库对象放到领域中。第二个概念是规则集合的概念,Database Vault 管理员可以创建一个包含几乎所有DDL和DML操作的语句的集合,然后加上相应的规则,比如说时间,IP地址之类,就能够限制用户对于特定数据的访问权限,而这个是可以应用到所有的用户上的,包括Oracle数据库里面的超级用户sys和system。 有了Oracle Database Vault ,我们需要培养的是一个负责制定公司安全策略的并且会点击鼠标的家伙,通过OEM中的图形化界面,制定不同的数据库领域,要知道监控一个人要比监控一堆DBA简单的多。 From Drop Box 2. 如何让数据库系统的审计符合法律规定? Oracle Audit Valut,一种新的安全产品,它使审计收集和分析流程自动化,将审计数据变为关键的安全资源,从而帮助应对如今围绕合规性和内部威胁方面的重要业务挑战。Oracle Audit Vault帮助机构实施“信任但是验证”原则。Oracle Audit Vault帮助企业简化合规报告,及早检测到威胁,同时以透明的方式收集并将审计数据整合到企业级的审计整合管理解决方案中;整合并保护从Oracle数据库采集的审计数据;通过简化IT安全官员和内部审计员的工作,大幅度降低企业合规性的成本;使用户拥有最大灵活性的同时,有效监控他们的活动以确保这些行为符合企业的制度。 From Drop Box 3. 如何让EXP出来的文件即使被拿走了,也无法构成威胁? 很遗憾,目前为止还没有这样的防范措施。 我们可以实施TDE(Transparent Data Encryption),但是TDE目前还不支持旧的EXP和IMP技术,那么如果要防范此类问题,升级到Oracle10g,用expdp(Datapump)取代原始的exp,而TDE技术是支持Datapump的。 From…

What is Oracle Audit Vault

Oracle忽然很倾向于使用Vault(保险库)这个词语了,推出了Oracle Database Vault,现在又是Oracle Audit Vault。 官方文档的示意图给出Oracle Audit Vault的整体架构。 OAV是一个新的安全产品(塞班斯法案害人不浅啊),如果说Oracle Database Vault是完善了对于数据库SYSDBA的权限控制,那么Oracle Audit Vault则是对于企业内部违规者的进一步预防和监控。目前OAV只针对于Oracle的数据库产品,支持Oracle Database 9i到10gR2的所有数据库版本,实现的是自动获捕获,存储,分析审计数据的功能。 OAV的元数据可以是数据库redo日志,数据库Audit日志以及操作系统Audit日志,这些元数据被Audit Agent通过预先制定的捕获规则抓取到Audit Server中,而Audit Server端则提供了多样的报表查询,并且根据预先定义的企业策略提供违规操作告警功能。 OAV是针对Sarbanes-Oxley (SOX)的应景之作,它还有很长的路要走,作为一个安全产品,仅仅是面向Oracle数据库还是远远不够的,Oracle也承诺将在以后逐步完善对于Microsoft SQL Server和IBM UDB的支持。 目前Oracle Audit Vault已经推出了大部分平台上的版本,包括Linux, AIX, HP-UX, Soalris,而Windows和HP-Itanium的版本也将在不久推出,不知道国内的企业什么时候才会准备考虑这些安全方面的产品?