Sicurezza

Troubleshooting di SPN Kerberos duplicati

Davide Mauri

Qualche volta capita in un ambiente Active Directory, che un Service Principal Name (SPN), necessario al corretto funzionamento dell’autenticazione Kerberos, risulti duplicato impedendo di fatto l’uso di Kerberos nei processi di autenticazione di SQL Server, che ricorrerà al “fall back” a NTLM.

Questa anomalia è verificabile oltreché per la presenza di specifici errori di KDC nel solito Event Viewer, anche dal comando SQL:

select session_id,auth_scheme,client_net_address from sys.dm_exec_connections

che mostrerà il tipo di autenticazione in essere per ciascuna sessione; in situazioni di errore, rileveremo perciò solo NTLM come auth_scheme nelle sessioni correnti.

How to: Enable Kerberos Authentication on a SQL Server Failover Cluster

Davide Mauri

Dettagliato articolo sulla configurazione del supporto Kerberos in un ambiente clusterizzato e non.

http://msdn2.microsoft.com/en-us/library/ms189585.aspx

Da leggere se avete problemi con SSPI, in particolare ottenete l’errore

Cannot generate SSPI context

oppure se nel log di SQL Server trovate messaggi del tipo

The SQL Network Interface library could not register the Service Principal Name (SPN) for the SQL Server service.Failure to register an SPN may cause integrated authentication to fall back to NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies.

Come cambiare la porta sulla quale SQL Server è raggiungibile?

Davide Mauri

Per motivi di sicurezza può essere necessario dove modificare la porta TCP sulla quale SQL Server normalmente risponde, ossia la 1433.

Per farlo è sufficiente seguire quanto scritto in questa pagina dell’help:

http://msdn2.microsoft.com/en-us/library/ms177440.aspx

Ricordate che fatto ciò se non volete usare alias od utilizzare il SQL Server Browser (che è bene sia disabilitato se avete necessità di creare un ambiente realmente sicuro) vi potrete collegare a SQL Server specificando il numero della porta in modo esplicito: