讲解Oracle数据库之中数据安全完全分析

http://tech.ddvip.com   2007年06月22日    社区交流

内容摘要:大家都觉得Oracle数据库的安全并不存在隐患,下面笔者将带着大家走进Oracle数据安全的世界。由于笔者水平有限,所以不足之处在所难免,望大家不吝赐教。

  看到这两个权限你应该马上想到,这些都是安全隐患,尤其是UNLIMITED TABLESPACE,它是破坏数据库系统的攻击点之一。如果这时候你还依然认为,即使有人利用这个没有修改的口令登录进数据库也造成不了什么损失的话,我就不得不提醒你:该用户具有UNLIMITED TABLESPACE的系统权限,它可以写一个小的脚本,然后恶意将系统用垃圾数据填满,这样数据库系统也就无法运行,并将直接导致最终的瘫痪。目前很多数据库系统都要求7X24的工作,如果出现了系统用垃圾数据填满的情况,那么,等数据库系统恢复时,恐怕不可挽回的损失已经造成了。

  可是除了DBSNMP还有很多其他的用户,怎么办呢?让我们先看一下目前普遍存在于Oracle数据库中的用户管理问题:

  (1)权限过大:对ORACLE数据库编程和浏览的一般用户常常具有DBA (数据库管理员权限),能对数据库系统做任何修改或删除。

  (2)安全性差:很多ORACLE用户缺省存储位置都在系统表空间,这样不仅影响系统的正常工作,而且不同用户的数据信息互相影响、透明,保密性差。随着数据的不断加入,有可能使整个数据库系统崩溃。

  (3)密码有规律:在ORACLE调试初期形成的用户名和密码一致的不良习惯保留到现在;系统用户SYS和SYSTEM的密码也众所皆知。

  知道了这些普遍的“毛病”,我们怎么做呢?下面是我的一些建议:

  (1)Oracle DBA (数据库管理员)的规范:

  ·SUN Solaris操作系统下ORACLE用户密码应严格保密,绝不该把密码设成ORACLE;并指定专门的数据库管理员定期修改。

  ·ORACLE初始化建立的SYS和SYSTEM系统管理员用户密码应由原来MANAGER改成别的不易被记忆的字符串。

  ·ORACLE WEB SERVER的管理端口具备DBA浏览数据库的能力,因此其管理者ADMIN的密码也应保密,不该把密码设成MANAGER;并指定专门的数据库管理员定期修改。

责编:豆豆技术应用

正在加载评论...