如何限制操作系统级用户影响Oracle数据
这是最近两天我一直考虑的一个问题。简单描述下:SPARC版的Solaris和Oracle。
首先,就问题来说,即便是我更改了Oracle参数,不允许dba组的用户直接使用connect as sysdba登录。但是root仍然可以将参数更改回去。所以传统一直认为是没有办法可以解决。我想到了另一个办法可以用人工干预的方式起一个监控作用。其实很简单。写一个shell监控参数文件的状况,写到crontab中,时刻执行。当然root可以更改crontab,或者伪造shell脚本生成的log。所以这也不是解决之道。
其实这个和Solaris本身设计有很大的关系,因为系统本身的root权限是至高无上的,所以导致Oracle本身最开始设计时无法阻止。一直到10g第二版才有相关的组件Oracle DataBase Vault可以侧面解决。使用 Oracle Database Vault 限制特权用户访问专用应用程序数据:http://www.oracle.com/
Sql-Sever用户可能会笑,说Oracle连这个都做不到。但是Sql-Server也必须要通过域控制才能完满做到嘛。
最后,我很纳闷儿,因为我问了好多朋友,或者朋友的朋友,都说无法解决这个问题。甚至银行系统用的Oracle数据库居然也没有考虑这个问题(只限国内),我无语!我们的钱就靠root帐号持有者的责任感?难怪我们的手机随时都有莫名电话、短信骚扰,银行如此,通信等行业我不敢想了。上面说的产品限制了DBA的权限,使DBA只需要维护Oracle本身,而不是干预应用。
没有评论