一个容易忽视的Oracle安全问题

原创 2004年07月15日 20:46:00
数据库安全问题一直是人们关注的焦点之一,我们知道一个企业或者机构的数据库如果遭到黑客的攻击,而这些数据库又保存着非常重要的数据,象银行、通信等数据库,后果将不堪设想。Oracle数据库使用了多种手段来保证数据库的安全性,如密码,角色,权限等等。

作为Oracle的数据库管理员都知道,数据库系统典型安装后,一般sys和system以及internal这三个用户具有默认的口令,数据库安装成功后,系统管理员作的第一件工作就是修改这些用户的口令,保证数据库的安全性。然而,众多管理员往往忽视了其中的一个安全问题,下面我们就将详细讨论这个问题。

Oracle数据库系统如果采用典型安装后,除了创建前面介绍的几个用户外,另外还自动创建了一个叫做DBSNMP的用户,该用户负责运行Oracle系统的智能代理(Intelligent Agent),该用户的缺省密码也是“DBSNMP”。如果忘记修改该用户的口令,任何人都可以通过该用户存取数据库系统。现在我们来看一下该用户具有哪些权限和角色,然后来分析一下该用户对数据库系统可能造成的损失。

启动SQL/PLUS程序,使用该用户登录进入:

SQL> select * from session_privs;
CREATE SESSION
ALTER SESSION
UNLIMITED TABLESPACE
CREATE TABLE
CREATE CLUSTER
CREATE SYNONYM
CREATE PUBLIC SYNONYM
CREATE VIEW
CREATE SEQUENCE
CREATE DATABASE LINK
CREATE PROCEDURE
CREATE TRIGGER
ANALYZE ANY
CREATE TYPE
CREATE OPERATOR
CREATE INDEXTYPE
可以看到该用户不是SYS或SYSTEM管理用户,然而,它却具有两个系统级权限:UNLIMITED TABLESPACE和CREATE PUBLIC SYNONYM。

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

为了保证Oracle数据库系统运行的绝对安全,强烈建议数据库管理员修改该用户的默认口令,不要为不怀好意的人留下“方便之门”。

一个容易忽视的Oracle安全问题

数据库安全问题一直是人们关注的焦点之一,我们知道一个企业或者机构的数据库如果遭到黑客的攻击,而这些数据库又保存着非常重要的数据,象银行、通信等数据库,后果将不堪设想。Oracle数据库使用了多种手段来...
  • ago52030
  • ago52030
  • 2007-08-31 01:10:00
  • 653

几个容易忽视的java编程细节

1、求余数运算符%,不只是可以计算整形int,也可以计算float和double型。 比如,4/1=0;5.1%2=1.1;8.4/2.1=0.0; 2、java中,对于一个不指定数据类型的常量,...
  • qq_23617681
  • qq_23617681
  • 2016-03-17 14:05:47
  • 145

看似简单但容易忽视的编程常识

这些年写了很多的代码、也读过很多的人写的代码,这几年,写代码的机会越来越少,但是每次写代码,感觉需要思考的东西越来越多,好的代码确实难能可贵,在国内业界中,好的软件不少,但是好的代码确实有点凤毛麟角了...
  • B9Q8e64lO6mm
  • B9Q8e64lO6mm
  • 2018-02-22 07:01:57
  • 496

倾听,职场上最容易被忽视的竞争力

  根据卡内基训练统计,七○%的人都是不及格的倾听者,但倾听,却是现在职场上最容易被忽视的竞争力。《哈佛商业评论》指出,「听」是我们未使用的潜能,亟待开发,《财星》五百大企业,七○%的企业设有倾听的训...
  • wotiger
  • wotiger
  • 2007-05-16 15:29:00
  • 532

HDU 4548 美素数 素数题解

本题就是可以直接打表的,判断是否可以打表也需要技巧的: 1 判断最大的数值为1000000,百万以下的数打表都是可以的 2 可以线性预处理好,使用素数筛子法是可以接近线性预处理的。 故此可以打表...
  • kenden23
  • kenden23
  • 2014-07-27 00:15:11
  • 1065

15个最容易得罪人的行为,却常常被我们忽略

你一定常常听过这样的话,可能是别人说的,也可能是你自己说的。“我不知道是在哪里得罪他了,反正他不喜欢我。”...
  • kongki
  • kongki
  • 2016-09-09 10:00:31
  • 538

Java 常忽略知识点总结

程序(program):是为了完成特定任务、用某种语言编写的一组指令的集合。即指的一段静态的 代码,静态对象。 进程(process):是程序的一次执行过程,或是正在运行的一个程序。 动态过程:有他自...
  • u011687186
  • u011687186
  • 2016-04-24 13:07:21
  • 1014

阿里巴巴安全峰会PPT:不可忽视的业务安全问题-唯品会

  • 2015年07月14日 22:49
  • 3.26MB
  • 下载

一个容易忽视的存储过程问题

在MS SQL SEVER的存储过程中,最好加上事务哦,一般的书上都没提到这点,以后要注意下:set xact_abort onbegin transcation/**中间执行的SQL代码*/co...
  • jackyrongvip
  • jackyrongvip
  • 2005-10-11 09:30:00
  • 419

教你一招,如何设置一个容易记住又安全的密码

点击上方“中兴开发者社区”,关注我们 每天读一篇一线开发者原创好文 互联网时代,账号太多,不同账号设置同一密码不安全,密码多了又记不住? 如果你还在被这个问题困扰,不妨来看看程序员们如何...
  • O4dC8OjO7ZL6
  • O4dC8OjO7ZL6
  • 2017-11-07 00:00:00
  • 257
收藏助手
不良信息举报
您举报文章:一个容易忽视的Oracle安全问题
举报原因:
原因补充:

(最多只允许输入30个字)