我的客户希望部署一个必须在数据库中保存信用卡号的应用程序。客户显然关注安全性。
我们特别害怕一个痛苦的问题。我们如何确保只允许具有“业务需要知道”的授权用户访问数据?我们如何保护DBA中的数据?
一个明显的解决方案是在应用程序级别进行加密。我们不想这样做。
作为可能解决方案的oracle产品是Orace TDE(透明数据加密)。它似乎很好地涵盖了磁盘加密案例。但是,如果它可以用来隐藏具有DBA权限的人的数据,那么就会有争议的声明。我想对我们正在处理的用例非常具体。我们有一个24/7/365的正在运行的应用程序,它不断地进行数据访问。这意味着Oracle钱包已打开,数据正在被数据库解密。在同一时间,DBA仍然无法访问数据。
我知道Oracle正在针对这个问题推广Oracle Database Vault。鉴于我想要做的只是从一个特定的表阻止DBA访问,我真的需要Vault还是可以使用TDE?
非常感谢协助,
或者
答案 0 :(得分:4)
我的猜测是你需要Oracle Vault。 TDE使得无法读取数据文件,但简单的选择仍将检索未加密的数据。
但是请问那些声称TDE已经足够的家伙或者老兄,解释如何在没有Oracle Vault的情况下做到这一点。
编辑:关于这个问题的两个主题:
http://forums.oracle.com/forums/thread.jspa?messageID=3249532�
http://forums.oracle.com/forums/thread.jspa?messageID=3261345�
答案 1 :(得分:3)
“如果它可以用来隐藏拥有DBA权限的人的数据,那么就会有争议。” 可能是因为关于什么构成DBA特权可能存在冲突的想法。有一个DBA数据库角色,一个SYSDBA权限以及可以在操作系统级别以oracle(或Administrator)身份登录到服务器的人,每个人都具有更高的权限 权限可以从DBA角色中撤销,因此更加模糊。
例如,VPD可以确保信用卡列仅对从特定IP(例如应用程序服务器)登录的用户,特定用户或具有特定角色的用户可见。 具有DBA角色的用户可以更改VPD权限,或授予自己适当的角色或模拟相关用户,这将显示在审核日志中。答案 2 :(得分:0)
我遇到了一个与我们的客户类似的问题。在评估过程中,我找到了德国安全公司的可能解决方案。他们似乎已经开发出一个系统,可以阻止DBA访问任何敏感数据。看看他们的website。它还没有深入了解,所以我无法向您提供有关此解决方案的更多信息。
答案 3 :(得分:0)
某些替代公司拥有数据库加密和访问控制解决方案,可以在DBA和安全管理员之间实现严格的职责分离。
您可能需要查看来自韩国公司Penta Security Systems的D'Amo。
免责声明:我曾担任数据库顾问,并为许多客户部署了解决方案。