我准备上来接受BS了。
原因是这样,客户有套xxx系统,数据库用oracle。
最近客户反馈开发商中部分技术员利用开发之便,从后台获取信息(当然也有可能是客户内部计算机科室的人,懂个帐号和密码)。
于是乎,领导让我写个安全解决方案。
问题是我从来没用过oracle,我心想方案的大致方向应该是多弄几个角色,计算机科室的人一种角色,开发商一种角色,然后能查询最最关键的信息的表的字段的角色只给最大老总知道。
(当然这个只是我作为一个菜鸟对安全方案的一种想法,期待高人,热心人更全面的指点)
我上网查询了下,都是丢N条创建指令,这可怎么变成一个安全文档啊。
所以特意来求助了。不胜感激。给点关键字,让小弟自己去搜索也行啊。例行感谢高人,热心人,路人,小弟下个月吃饭还是喝粥就主要靠大伙指点了。

解决方案 »

  1.   

    如果要禁止开发人员从数据库中获取信息,你必须要建立一套完全的开发测试环境,
    也就是生产环境与开发测试环境完全隔离。
    数据库帐号由专们的数据库管理员来保管(密码知晓范围最小,最小范围原则)。 
    应用程序中用户权限尽量小,应用对应的oracle用户的权限尽量小(权限最小原则)。
    新功能上线由开发人员准备好脚本,数据库管理员来执行数据库方面的脚本。
      

  2.   

    首先你oracle的用户名和密码不能泄露
    其次在程序中尽量用权限控制,不用的用户有不同的操作权限。
      

  3.   

    如果开发环境和生产环境分开2个不同的数据库。
    某情形:在生产环境出现了问题?BUG?那么这个时候是在测试环境因为没有过多,或者出问题的数据导致无法解决,这时是应该怎么做?
    把开发的数据备份还原到测试?那岂不是变相获得真实保密数据了?还是说模拟开发环境,新增数据,这又会不会漏掉一些导致出错的数据呢?