Tyn*_*Tyn 3 security oracle sql-drop
作为安全紧缩练习,我将从oracle数据库用户中删除所有系统权限.现在,该用户仅具有以下系统权限:
我希望用户不能做任何DDL命令.但令我惊讶的是,用户可以在自己的架构中使用DROP TABLE,即使它无法创建一个.
Oracle 文档说DROP TABLE的先决条件是"表必须在您自己的模式中,或者您必须具有DROP ANY TABLE系统特权".只是!!!我不了解Oracle的安全逻辑,但是有什么方法可以阻止用户放弃他们自己的表吗?
另一种方法是创建另一个用户来运行应用程序并授予对象访问权限,由于存在潜在问题,我宁愿避免这种情况.
Jus*_*ave 11
用户始终有权删除他们拥有的对象.您无法通过撤消权限来阻止这种情况.
由于您正在考虑加强安全性,创建新用户并授予该用户操作数据所需的任何权限,这是正确的答案.应该以拥有应用程序对象的用户身份登录到生产数据库的唯一人员是DBA,然后才会在他们正在部署对架构的更改的过程中.其他人应该以架构所有者以外的用户身份登录数据库.
话虽如此,如果正确的解决方案比您现在准备采取的工作更多,那么潜在的权宜之计就是在数据库上创建一个DDL触发器,如果DROP针对指定模式中的对象发出异常,则会引发异常.这比正确的解决方案安全性低.实施触发器时可能会遗漏某些内容,您或其他人可能会丢弃或禁用触发器并忘记重新启用它等等.这会使安全报告变得更加困难,因为您有一个不会自定义的自定义解决方案在各种安全相关的数据字典视图中显而易见,这可能会给审计员带来问题.
| 归档时间: |
|
| 查看次数: |
4938 次 |
| 最近记录: |