Perché MS SQL Server utilizza l'autenticazione NTLM?


12

Windows Server 2008 R2.

SQL Server 2008 R2 installato.

Il servizio MSSQL funziona come sistema locale.

Il FQDN del server è SQL01.domain.com.

SQL01 è unito a un dominio Active Directory denominato domain.com.

Il seguente è l'output di setspn:

C:\> setspn -L sql01
...
MSSQLSvc/SQL01.domain.com:1433
MSSQLSvc/SQL01.domain.com
WSMAN/SQL01.domain.com
WSMAN/SQL01
TERMSRV/SQL01.domain.com
TERMSRV/SQL01
RestrictedKrbHost/SQL01    
RestrictedKrbHost/SQL01.domain.com
HOST/SQL01.domain.com
HOST/SQL01

Quindi lancio SQL Server Management Studio e mi connetto così a SQL01:

inserisci qui la descrizione dell'immagine

Quindi eseguo la seguente query:

SELECT auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@spid 

E il risultato è NTLM. Perché il risultato non è Kerberos? Gli SPN sembrano essere corretti per l'utilizzo dell'account di sistema locale. Il server non è in un cluster o non utilizza un CNAME.


che ne dici di rispondere alla domanda in modo che tutti possano trarne beneficio.
mdpc,

Risposte:


15

È perché mi stavo connettendo a SQL Server localmente, dallo stesso server che ospitava SQL Server. Quando mi collego da un'altra macchina sulla rete, il meccanismo di autenticazione utilizzato è Kerberos, come previsto.

SQL Server utilizzerà sempre NTLM se si connette localmente. Kerberos viene utilizzato solo per la connessione remota.

Questo post dal blog sui protocolli di SQL Server , sebbene datato, dice la stessa cosa:

1) Kerberos viene utilizzato quando si effettua una connessione remota su TCP / IP se SPN è presente.

2) Kerberos viene utilizzato quando si effettua una connessione tcp locale su XP se SPN è presente.

3) NTLM viene utilizzato quando si effettua una connessione locale su WIN 2K3.

4) NTLM viene utilizzato tramite connessione NP.

5) NTLM viene utilizzato tramite connessione TCP se non viene trovato SPN.


3
wow tutto questo lavoro (ricerca) che ho fatto per ore con SPN e delgation, e questo è stato grazie! :)
dynamiclynk,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.