您的位置:首页 > 数据库 > SQL

【翻译自mos文章】怎么正确的使用SQLNET.ALLOWED_LOGON_VERSION参数

2015-09-04 09:30 656 查看
怎么正确的使用SQLNET.ALLOWED_LOGON_VERSION参数

来源于:

How To Use the Parameter SQLNET.ALLOWED_LOGON_VERSION Correctly (文档 ID 1304142.1)

适用于:

Oracle Net Services - Version 9.2.0.8 to 11.2.0.4 [Release 9.2 to 11.2]

Information in this document applies to any platform.

This documented is limited in scope to versions below 12.1.

目标:

正确理解sqlnet.ora参数SQLNET.ALLOWED_LOGON_VERSION是怎么工作的。

解决方案:

关于sqlnet.ora参数SQLNET.ALLOWED_LOGON_VERSION以及该参数怎么影响oracle client连接oracle database,存在通常上的误解。

该参数实际上指定了一个client被允许使用的AUTHENTICATION PROTOCOL (for example SHA-1),而不是该client的实际版本(version)

举例:

SQLNET.ALLOWED_LOGON_VERSION=10

即使该参数值暗示oracle database version 10,但是内部检查实际上是针对authentication protocol 'SHA-1'.

Even though the parameter value implies Oracle version 10 the internal check is really against the authentication protocol 'SHA-1'.

在更早的Oracle version中,这是一对一的关系(one-on-one relation),比如:一个特定的Oracle client版本使用特定的authentication protocol。

从Oracle 10g开始,不再是一对一的关系:Oracle 10g和11g 都使用SHA-1 protocol。 Oracle 12g(译者注:原文就是12g)将会使用SHA-2 protocol。

这意味着:通过使用该参数,没有方法防止10g的client连接 并仅仅允许11g的client连接,因为10g和11g使用相同的SHA-1 protocol。这也意味着这两个客户版本是一样安全的---通过单独尝试防止10g client的连接,不会在安全上获益。

该参数在文档上是含混不清的(is unclear),so Doc bug 11845659 - sqlnet.allowed_logon_version needs clearer documentation has been created to fix the description of this parameter.

重要说明:
参数SQLNET.ALLOWED_LOGON_VERSION在Oracle Database 12c上已经被废弃。
该参数被如下两个Oracle Net Service parameter参数取代:
 SQLNET.ALLOWED_LOGON_VERSION_SERVER 
 SQLNET.ALLOWED_LOGON_VERSION_CLIENT
请参考Oracle Database Net Services Reference
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: