Oracle的OS验证登录(3)

4、匿名登录与安全

随着我们日常生活信息化,越来越多的系统出现在我们身边,记住各种系统的用户名密码开始成为生活工作的负担。所以,类似于单点登录的技术会有很大的发展前景。但是,对于数据库而言,OS匿名登录还是存在很大的风险。
 
Oracle数据库连接验证包括几个要素:服务器IP地址、服务名、连接端口和用户名密码信息。从信息公开角度看,服务器IP地址、服务名和连接端口是没有什么秘密而言的。真正能够起到数据保护的,也就是用户名和密码信息。如果普遍采用OS匿名登录,特别是客户端普遍使用,只要操作系统创建一个特定的用户,就可以直接登录,显然是危险的。
 
回到我们重启数据库过程中,报错过期参数使用的情况。我们打开生成的pfile文件,可以看到设置的remote_os_authent参数。

[oracle@localhost dbs]$ cat initsicspcdb.ora

sicspcdb.__db_cache_size=9193914368

*.processes=1000

*.remote_login_passwordfile='EXCLUSIVE'

*.remote_os_authent=TRUE

*.sessions=1105

*.undo_tablespace='UNDOTBS1'

使用这个pfile启动数据库,可以报错更加清晰。

SQL> startup pfile=initsicspcdb.ora

ORA-32006: REMOTE_OS_AUTHENT initialization parameter has been deprecated

Remote_os_authent已经被认为过期,Oracle甚至不推荐我们再使用这个参数了。在pfile中删除参数,重新启动数据库。

*.remote_login_passwordfile='EXCLUSIVE'

*.remote_os_authent=FALSE

*.sessions=1105

*.undo_tablespace='UNDOTBS1'

--剔除之后

Database dismounted.

ORACLE instance shut down.

SQL> startup pfile=initsicspcdb.ora

ORACLE instance started.

Total System Global Area 2.0911E+10 bytes

Fixed Size                  2262368 bytes

Variable Size            1.1677E+10 bytes

Database Buffers        9193914368 bytes

从这个现象,我们可以猜测:Oracle也不推荐使用OS验证。

5、结论

OS匿名验证这个特性出现的很早,是早期Oracle发展的一个方向。近些年的版本中,这个特性没有过多的发展,说明Oracle在这个方面已经不再过多延伸了。在笔者之前的文章中,也介绍过借助Oracle客户端wallet特性实现的匿名登录,两者原理不同,安全性差异也有千差万别。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3f8c7bc3689e3178492060cd43361767.html