ITPub博客

首页 > IT基础架构 > 网络安全 > db link泄露密码的处理

db link泄露密码的处理

原创 网络安全 作者:rainbowbridg 时间:2007-04-29 10:50:37 0 删除 编辑
不过我上次提到的在10g的db link泄露密码的事情,大家可以参考。





在Oracle 10g前,我们可以通过查看user_db_links视图,来查看到本用户下建立的db link的

username和password
.原因比较简单,可以认为是Oracle的一个安全漏洞。我们看看user_db_links

的创建过程就明白了:



create
or replace view user_db_links(db_link, username, password, host, created)

as
select l.name, l.userid, l.password, l.host, l.ctime

from sys
.link$ l

where l
.owner# = userenv('SCHEMAID')


select * from link$


user_db_links视图来源于sys.link$字典表,而在10g前, 对拥有select any table权限的用户来说,

是可以访问link$表的。所以要想规避这个漏洞,必须做如下2个操作



1)revoke select any table 或更高级的权限或角色
[比如DBA等]
2)重建user_db_link视图

create
or replace view user_db_links(db_link, username,host, created)

as
select l.name, l.userid, l.host, l.ctime

from sys
.link$ l

where l
.owner# = userenv('SCHEMAID')



在Oracle 10g中,Oracle公司也认识到了这个bug,修正了sys.link$的访问权限,除非拥有sysdba权限,

否则谁也访问不了。在user_db_links也看不到pa
[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7916042/viewspace-912820/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: RAC题目
请登录后发表评论 登录
全部评论
  • 博文量
    237
  • 访问量
    1622816