超难问题.关于datalink的安全问题。在线!解决立即给分 用oracle在进行多层分布式的时候.区县的oracle要访问市局的oracle实现数据共享。通过datalink来实现访问。但是有个问题是:datalink里面的用户名和口令都是明文保存的阿。这样市局的oracle的安全性就不好把握了。请问有没有什么方法可以解决既可以使用datalink有没有口令暴露的安全隐患?各位大虾 帮帮小弟! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建一个低权限的用户,只能访问有限的表、存储过程,区县的oracle要访问市局的oracle时,使用该用户创建datalink。 应该这样说吧既然给了你访问的权限,那么密码当然就是知道的。明不明文,就不重要了吧。要看到你的dblink的设置,也要你的用户密码哦 因为程序都是有市局统一开发.市局为了保障市局的其他局的数据不泄漏.但是又要求能够交互.所以才考虑用datalink. 但是 这个用户和密码又不能让区县局知道阿.大伙应该明白我的要求了吧.谢谢.哪位大虾帮一下! 如果区县局不知道用户和密码他怎么能登录到oracle呢,既然登录不到又怎么能看到你的datalink的内容呢? 好久没来了,总结发一下言吧,呵呵1、dblink本身并不是一个好的接口方式,只不过它实现起来相对轻松,有条件最好专门开发接口程序。将程序由两层的c/s结构改为三层。2、dblink是有安全性的问题的,不过设置得当还是可以把这种隐患降到最小的,主要有如下几个方面: a、在建用户和授权时不要授dba及select any table的权限,这样即使是明白,除dba外别人也查不到你dblink的用户名和口令的。 b、你县局的dblink由你来建,勤劳一点也可以去除好多安全方面的问题。 c、不要建立public dblink,将所有的public dblink都改为私有的。 d、做到了如上的几点,你的dblink虽为明码,但它也是安全的。 我比较同意用低权限访问授权过的表来实现上述操作.当然喽,DBLINK 要私有不能公有哦.使用低权限用户操作,这样更保险,而且可以写密码效验过程,最好是单向的密码效验. 请问楼上诸位,你们是在哪里查到public型的DBLINK的用户名和口令的?我怎么只能在user_db_link中查私有的dblink的口令呢? dba_db_links 或者 all_db_links SQL> desc dba_db_links Name Null? Type ----------------------------------------- -------- ---------------------- OWNER NOT NULL VARCHAR2(30) DB_LINK NOT NULL VARCHAR2(128) USERNAME VARCHAR2(30) HOST VARCHAR2(2000) CREATED NOT NULL DATE搞不明白哪个字段是口令??? 可不可以,用webservice传输数据,在市局设置webservice的服务,不管b/s还是c/s 结构,总之都可以保证市局的数据库和库表结构不对外开放。在区县一级调用数据的时候,可以通过访问webservice的服务,得到某种形式的数据,他也不需要知道市局的库结构就得到他想要的数据了。当然,前提是基层单位的数据需求都类似,如果每个基层的数据都不一样,那么市局就要开发很多个不同的结构给基层,工作量就比较大了 to bobfang(匆匆过客),不好意思,回答的快了,没想就回答了。应该是 link$ 这个视图能得到密码。 link$只有DBA角色的用户才能查询,这个应该还是安全的吧。个人认为public的DBLINK比私有的更安全。因为私有的DBLINK在link$也存在,反之public的DBLINK在user_DB_LINK中是查不到的。请教楼上几位声称public的DBLINK不安全的理由是什么呢? 求今天到2010-7-6号之间相隔了多少天-时-分 oracle11gR2安装 delphi7中ADO连接ORACLE,提供程序里没有ORACLE选项 (20分)请问怎么给一个SQL视图增加一个ID字段并得到序号! 请问我这个视图能优化吗? ORACLE8I中如何释放表空间 timestamp类型,如何加1秒? 空字符串就是null吗 怎样调整和优化共享池 如何在C/C++中调用Oracle数据库?? 如何把float字段查询出来后变成numeric(12,2)格式,比如数据库中是2232 ,出来后是2232.00 大家帮帮忙,存储过程问题,在线等待,急啊!!!!
既然给了你访问的权限,那么密码当然就是知道的。明不明文,就不重要了吧。
要看到你的dblink的设置,也要你的用户密码哦
大伙应该明白我的要求了吧.
谢谢.哪位大虾帮一下!
a、在建用户和授权时不要授dba及select any table的权限,这样即使是明白,除dba外别人也查不到你dblink的用户名和口令的。
b、你县局的dblink由你来建,勤劳一点也可以去除好多安全方面的问题。
c、不要建立public dblink,将所有的public dblink都改为私有的。
d、做到了如上的几点,你的dblink虽为明码,但它也是安全的。
使用低权限用户操作,这样更保险,而且可以写密码效验过程,最好是单向的密码效验.
Name Null? Type
----------------------------------------- -------- ----------------------
OWNER NOT NULL VARCHAR2(30)
DB_LINK NOT NULL VARCHAR2(128)
USERNAME VARCHAR2(30)
HOST VARCHAR2(2000)
CREATED NOT NULL DATE搞不明白哪个字段是口令???
应该是 link$ 这个视图能得到密码。
请教楼上几位声称public的DBLINK不安全的理由是什么呢?