Oracle数据安全的保护神----Database Vault
上一篇 / 下一篇 2008-11-17 20:18:40 / 个人分类:Oracle Database
前几天和朋友网上聊天,朋友很是气愤的说到他刚刚买车,就发现自己的个人信息被泄露了,很多乱七八糟的公司或者个人给他打电话,其实我个人也遇到过类似的事情,安慰了下朋友,朋友也很无奈,因为没有办法来避免这种泄露,因为很多时候你是必须要提供相当多的个人信息的。反观目前的国际社会,对于信息的安全保护的呼声是越来越高了,很多的信息泄露都是内部存在安全威胁造成的,随着美国萨班法案(Sarbanes-Oxley)、美国HIPAA法案(Health Insurance Portability and Accountability Act)、日本个人信息保护法案、欧盟隐私和电子通信指令等法规和隐私保护指令的不断出台,保护数据免受未授权访问已经成为当务之急。
'r8ch+q@@-bI`~0
"m&o{l3rLU{H0 联想到上周正好参加了Oracle database vault的一个培训,这个在美国“协作06用户大会”上宣布推出的Oracle产品也正好是用于解决常见的合规性要求并减少了内部威胁的风险的。在此简单介绍下Oracle Database Vault,也算是共享下我培训之后的经验,希望能有更多的人去了解和使用这个安全方面的产品。
EA`#a"C9o;J_/[ O0ITPUB个人空间u1XE~"oC'_"l"V
Oracle Database Vault是一个Oracle数据库企业版的一个增值选件,意味着如果要使用它是需要单独额外付费的哦。它主要是用于管理单个数据库的安全性方面的,当然它也适用于Oracle的RAC环境。在Oracle Database Vault 引入了两个新概念,第一就是领域的概念,也就是说我们可以把数据库的对象组成一个领域,例如说多个表,整个应用或者多个应用,而Database Vault 管理员可以把要进行安全保护的数据库对象放到领域中。第二个概念是规则集合的概念,Database Vault 管理员可以创建一个包含几乎所有DDL和DML操作的语句的集合,然后加上相应的规则,比如说时间,ip地址之类,就能够限制用户对于特定数据的访问权限,而这个是可以应用到所有的用户上的,包括Oracle数据库里面的超级用户sys和system。
G,RR(s"jWe$j0ITPUB个人空间bi2^'E'Gq3Z G8N
Oracle Database Vault支持数据库 10g 第 2 版 (10.2.0.2) 企业版或更高版本,我们在使用安装的时候需要注意,如果10.2.0.2之前的数据库版本是不支持的。当安装好了Oracle Database Vault之后,就可以通过http://<主机名>:<端口>/dva来使用Oracle Database Vault Web 管理界面,如下图:
C H PHqf0
ITPUB个人空间q?7rfLN)E
!zP k%Q(e;X)S0输入相关的信息之后点击login之后登入Web 管理界面,如下图
8Jr"Un!LV0
%SW;o*tU9\z9t0单击“Realms”,可以创建一个域,如下图
P w}9|(}U_$S T:Q0
ITPUB个人空间.E4S;@.w Tc2o
ITPUB个人空间U-I%z M p'i|
或者使用以下脚本也可以完成相同的操作:
/j}8FC0rC0 begin
&Sm#De8HQE6I;X0 dvsys.dbms_macadmin.CREATE_REALM (ITPUB个人空间P[Gn CMm
realm_name => 'HR Realm',
@%I(C~q9f9Y%S\0 description => 'This realm protects the HR data from DBA access',
BR&w,^`j&q0 enabled => 'Y',ITPUB个人空间%{j7N`#o{{%u(v
audit_options => 1);
v;~B)A'[1GhY0 commit;
9nt@)ZB/q\0 end;
$F ],x7Lm3Z5g_LA0 /
2s&W#C8^y6@]d?!I0 commit;
Mgh;bI0
;[T/x!L'P0单击“Rule Sets”,将看到一个列表,其中包含 TRUNCATE TABLE、CREATE TABLE 等许多命令。可以创建一个规则集,如下图ITPUB个人空间k,{1_)f9wJ)Y-yQ+M

`&QO-zvt _q;]0
;Bd8UNr~$?0使用以下脚本也可以完成相同的操作:
-wf8n DEP0begin
f0F;hT\m&m.[fl0 dvsys.dbms_macadmin.CREATE_COMMAND_RULE (ITPUB个人空间1b*?ej*Bo-}Bh Z
command => 'drop_table',
-N Zg1wC;[6N _0 rule_set_name => 'Disabled',ITPUB个人空间aad(mIX2M
object_owner => 'HR',ITPUB个人空间'XC k&f.n+oatX)W
object_name => '%',
"\8D7LxMB}:fw0 enabled => 'YES');
u v%n+a g.t2D0 commit;
BS:l)tD0end;ITPUB个人空间 c"VDrRta%cJi
/ITPUB个人空间+TQ8S%r,[,U
commit;ITPUB个人空间 u1@GVR6?2^
amD$H:mTbNG-Q,D0单击“Rule Sets”,可以创建一个规则集,如下图:ITPUB个人空间tsky0m.BH
ITPUB个人空间m+Z1s(B*O3Y
@%{(yI2b5e0或者使用以下脚本也可以完成相同的操作:ITPUB个人空间F2A-O+?)kp6Q!M
beginITPUB个人空间~a@vx0d~^Q$l
dvsys.dbms_macadm.CREATE_RULE_SET(ITPUB个人空间sTZv#fZ_/a `
rule_set_name => ‘Allow System Parameter’,
}6r&yO9In"d2?!K#C#b0 description => ‘Rule set than controls the ability to set system init parameter’,ITPUB个人空间(k;v iQ?
enabled => ‘Y’,
.NQ#w)GA0 eval_options => 1,ITPUB个人空间p,UL._I s1@K&`
audit_options => 1,ITPUB个人空间2b Nw4x/}'Y~
fail_options => 1,ITPUB个人空间#SU.\R0z
fail_message => '',
'r8ch+q@@-bI`~0
"m&o{l3rLU{H0 联想到上周正好参加了Oracle database vault的一个培训,这个在美国“协作06用户大会”上宣布推出的Oracle产品也正好是用于解决常见的合规性要求并减少了内部威胁的风险的。在此简单介绍下Oracle Database Vault,也算是共享下我培训之后的经验,希望能有更多的人去了解和使用这个安全方面的产品。
EA`#a"C9o;J_/[ O0ITPUB个人空间u1XE~"oC'_"l"V
Oracle Database Vault是一个Oracle数据库企业版的一个增值选件,意味着如果要使用它是需要单独额外付费的哦。它主要是用于管理单个数据库的安全性方面的,当然它也适用于Oracle的RAC环境。在Oracle Database Vault 引入了两个新概念,第一就是领域的概念,也就是说我们可以把数据库的对象组成一个领域,例如说多个表,整个应用或者多个应用,而Database Vault 管理员可以把要进行安全保护的数据库对象放到领域中。第二个概念是规则集合的概念,Database Vault 管理员可以创建一个包含几乎所有DDL和DML操作的语句的集合,然后加上相应的规则,比如说时间,ip地址之类,就能够限制用户对于特定数据的访问权限,而这个是可以应用到所有的用户上的,包括Oracle数据库里面的超级用户sys和system。
G,RR(s"jWe$j0ITPUB个人空间bi2^'E'Gq3Z G8N
Oracle Database Vault支持数据库 10g 第 2 版 (10.2.0.2) 企业版或更高版本,我们在使用安装的时候需要注意,如果10.2.0.2之前的数据库版本是不支持的。当安装好了Oracle Database Vault之后,就可以通过http://<主机名>:<端口>/dva来使用Oracle Database Vault Web 管理界面,如下图:
C H PHqf0
ITPUB个人空间q?7rfLN)E!zP k%Q(e;X)S0输入相关的信息之后点击login之后登入Web 管理界面,如下图
8Jr"Un!LV0

%SW;o*tU9\z9t0单击“Realms”,可以创建一个域,如下图
P w}9|(}U_$S T:Q0
ITPUB个人空间.E4S;@.w Tc2oITPUB个人空间U-I%z M p'i|
或者使用以下脚本也可以完成相同的操作:
/j}8FC0rC0 begin
&Sm#De8HQE6I;X0 dvsys.dbms_macadmin.CREATE_REALM (ITPUB个人空间P[Gn CMm
realm_name => 'HR Realm',
@%I(C~q9f9Y%S\0 description => 'This realm protects the HR data from DBA access',
BR&w,^`j&q0 enabled => 'Y',ITPUB个人空间%{j7N`#o{{%u(v
audit_options => 1);
v;~B)A'[1GhY0 commit;
9nt@)ZB/q\0 end;
$F ],x7Lm3Z5g_LA0 /
2s&W#C8^y6@]d?!I0 commit;
Mgh;bI0
;[T/x!L'P0单击“Rule Sets”,将看到一个列表,其中包含 TRUNCATE TABLE、CREATE TABLE 等许多命令。可以创建一个规则集,如下图ITPUB个人空间k,{1_)f9wJ)Y-yQ+M

`&QO-zvt _q;]0
;Bd8UNr~$?0使用以下脚本也可以完成相同的操作:
-wf8n DEP0begin
f0F;hT\m&m.[fl0 dvsys.dbms_macadmin.CREATE_COMMAND_RULE (ITPUB个人空间1b*?ej*Bo-}Bh Z
command => 'drop_table',
-N Zg1wC;[6N _0 rule_set_name => 'Disabled',ITPUB个人空间aad(mIX2M
object_owner => 'HR',ITPUB个人空间'XC k&f.n+oatX)W
object_name => '%',
"\8D7LxMB}:fw0 enabled => 'YES');
u v%n+a g.t2D0 commit;
BS:l)tD0end;ITPUB个人空间 c"VDrRta%cJi
/ITPUB个人空间+TQ8S%r,[,U
commit;ITPUB个人空间 u1@GVR6?2^
amD$H:mTbNG-Q,D0单击“Rule Sets”,可以创建一个规则集,如下图:ITPUB个人空间tsky0m.BH
ITPUB个人空间m+Z1s(B*O3Y@%{(yI2b5e0或者使用以下脚本也可以完成相同的操作:ITPUB个人空间F2A-O+?)kp6Q!M
beginITPUB个人空间~a@vx0d~^Q$l
dvsys.dbms_macadm.CREATE_RULE_SET(ITPUB个人空间sTZv#fZ_/a `
rule_set_name => ‘Allow System Parameter’,
}6r&yO9In"d2?!K#C#b0 description => ‘Rule set than controls the ability to set system init parameter’,ITPUB个人空间(k;v iQ?
enabled => ‘Y’,
.NQ#w)GA0 eval_options => 1,ITPUB个人空间p,UL._I s1@K&`
audit_options => 1,ITPUB个人空间2b Nw4x/}'Y~
fail_options => 1,ITPUB个人空间#SU.\R0z
fail_message => '',