Windows Authentication No Longer Uses NTLM by Default
For Microsoft Windows installations with
AUTHENTICATION_SERVICES=NTS, in
this Oracle Database release, the
SQLNET.NO_NTLM parameter setting in
the sqlnet.ora file defaults to
TRUE, which can cause ORA-12638
errors.
Date: August 2023
In
previous releases, the default for
AUTHENTICATION_SERVICES=NTS was
FALSE. SQLNET.NO_NTLM
controls whether NTLM can be used with NTS authentication. A
TRUE setting means that NTLM cannot be used
in NTS authentication. Because NTLM does not normally provide mutual
authentication and is hence less secure, a TRUE
setting for SQLNET.NO_NTLM makes the database and
client more secure.
The SQLNET.NO_NTLM parameter is used
on both the server and the client. If you have upgraded a Microsoft
Windows installation of Oracle Database, or upgraded a client in
which SQLNET.NO_NTLM had not been set, then its
default will be TRUE. In that case, when you have
SQLNET.AUTHENTICATION_SERVICES=NTS in your
sqlnet.ora, clients can encounter the error
ORA-12638: Credential retrieval failed.
If you prefer to use NTLM authentication for certain
clients, then set this parameter as required in client-side
sqlnet.ora files:
SQLNET.NO_NTLM=FALSEYou must include this
setting on both the server and client, and this setting should be
the same on both. Ideally, you should ensure that
SQLNET.NO_NTLM is set to
TRUE. However, if there is an
authentication failure in extproc, a virtual
account, or a local account on Windows, set the client
SQLNET.NO_NTLM to FALSE,
and then retry the login. If you change
SQLNET.NO_NTLM on the server, then you must
restart the database.
Related Topics
Parent topic: Required Postinstallation Tasks