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

怎么正确的使用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


你可能感兴趣的:(Oracle,DB,MOS文章翻译)