Autenticazione Kerberos e SQL Server

Il protocollo di autenticazione di rete Kerberos offre un metodo per l'autenticazione di entità client e server (entità di protezione) in rete, in grado di garantire un'elevata protezione. Tali entità di protezione utilizzano l'autenticazione basata su chiavi master e ticket crittografati.

Nel modello di protocollo Kerberos ogni connessione al client/server inizia con l'autenticazione. Il client e il server effettuano a loro volta una sequenza di azioni progettata per indicare alla parte in ciascuna estremità della connessione che la parte nell'altra estremità è autentica. Se l'autenticazione ha esito positivo, viene completata l'installazione della sessione e viene stabilita una sessione client/server protetta.

Di seguito vengono indicati i principali vantaggi dell'autenticazione Kerberos.

  • Autenticazione reciproca. Il client è in grado di convalidare l'identità dell'entità server e il server è in grado di convalidare il client. In questa documentazione le due entità vengono denominate "client" e "server", sebbene sia possibile stabilire connessioni di rete protette tra server.

  • Ticket di autenticazione protetti. Vengono utilizzati solo ticket crittografati e le password non vengono mai incluse nel ticket.

  • Autenticazione integrata. Una volta stabilita la connessione, non è necessario eseguirla di nuovo per accedere a un servizio che supporta l'autenticazione Kerberos, purché il ticket client non sia scaduto. Ogni ticket ha una durata specifica, determinata dai criteri dell'area di autenticazione Kerberos che genera il ticket.

Kerberos offre un meccanismo che consente di effettuare l'autenticazione reciproca tra entità prima che venga stabilita connessione di rete protetta. Kerberos utilizza una terza parte attendibile, ovvero il centro distribuzione chiavi (KDC), per facilitare la generazione e la distribuzione protetta dei ticket di autenticazione e delle chiavi di sessione simmetriche. Il centro KDC viene eseguito come servizio in un server protetto e gestisce un database per tutte le entità di protezione nell'area di autenticazione. Nel contesto Kerberos un'area di autenticazione equivale a un dominio Windows.

[!NOTA]

Il client e il server sono responsabili della protezione della chiave master; il centro KDC offre esclusivamente il servizio che concede il ticket.

In un ambiente Windows la funzione del centro KDC viene assunta dal controller di dominio. In genere, viene inoltre utilizzato Active Directory. Tutti gli utenti di dominio Windows sono entità Kerberos effettive, in grado di utilizzare l'autenticazione Kerberos.

Kerberos con SQL Server

SQL Server supporta Kerberos in modo indiretto tramite Windows Security Support Provider Interface (SSPI), se in SQL Server viene utilizzata l'autenticazione di Windows. SSPI consente a un'applicazione di utilizzare diversi modelli di protezione disponibili in un computer o in una rete, senza modificare l'interfaccia per il sistema di protezione.

SQL Server consente a SSPI di negoziare il protocollo di autenticazione da utilizzare. Se non è possibile utilizzare Kerberos, in Windows verrà utilizzata l'autenticazione In attesa/Risposta di Windows NT (NTLM).

SQL Server 2008 supporta l'autenticazione Kerberos sui protocolli seguenti:

  • TCP/IP

  • Named Pipes

  • Shared Memory

Per ulteriori informazioni sui protocolli indicati in precedenza, vedere Protocolli di rete ed endpoint TDS.

Se possibile, è consigliabile utilizzare l'autenticazione Kerberos per le connessioni a un'istanza di SQL Server.