Connessione al motore di database mediante la protezione estesa

SQL ServerSQL Server il supporto per la protezione estesa è disponibile a partire da SQL Server 2008 R2SQL Server 2008 R2. Laprotezione estesa per l'autenticazione è una funzionalità dei componenti di rete implementata dal sistema operativo. Laprotezione estesa è supportata in Windows 7 e in Windows Server 2008 R2 Laprotezione estesa è inclusa nei Service Pack per i sistemi operativi MicrosoftMicrosoft meno recenti. SQL ServerSQL Server è più sicuro quando le connessioni vengono effettuate tramite protezione estesa.

Importante

Per impostazione predefinita, in Windows la protezione estesa non è abilitata. Per informazioni su come abilitare la protezione estesa in Windows, vedere la pagina relativa alla protezione estesa per l'autenticazione.

Descrizione della protezione estesa

Laprotezione estesa utilizza l'associazione al servizio e l'associazione di canale per impedire un attacco di tipo relay per l'autenticazione. In un attacco di questo tipo un client che può eseguire l'autenticazione NTLM, ad esempio Esplora risorse, MicrosoftMicrosoft Outlook, un'applicazione .NET SqlClient e così via, si connette all'autore dell'attacco, ad esempio un file server CIFS dannoso. L'autore utilizza le credenziali del client per mascherarsi ed eseguire l'autenticazione per un servizio, ad esempio un'istanza del servizio Motore di databaseDatabase Engine.

Questo attacco presenta due varianti:

  • In un attacco luring il client viene adescato per eseguire una connessione volontaria all'autore dell'attacco.

  • In un attacco di tipo spoofing il client tenta di connettersi a un servizio valido, ma non è in grado di rilevare che uno o entrambi i routing DNS e IP sono stati danneggiati in modo da eseguire il reindirizzamento della connessione all'autore dell'attacco.

    SQL ServerSQL Server supporta l'associazione al servizio e l'associazione di canale per ridurre tali attacchi sulle istanze di SQL ServerSQL Server .

Associazione al servizio

L'associazione al servizio risolve il problema degli attacchi luring richiedendo a un client di inviare un nome SPN firmato del servizio SQL ServerSQL Server al quale il client intende connettersi. Come parte della risposta di autenticazione, il servizio verifica che il nome SPN ricevuto nel pacchetto corrisponda al proprio nome SPN. Se viene adescato per connettersi all'autore di un attacco, il client includerà il nome SPN firmato di tale autore. L'autore dell'attacco non può inoltrare il pacchetto per l'autenticazione del servizio SQL ServerSQL Server reale come client, in quanto includerebbe il nome SPN dell'autore dell'attacco. L'associazione al servizio comporta un costo trascurabile una tantum, ma non neutralizza gli attacchi di spoofing. Si verifica l'associazione al servizio quando un'applicazione client non utilizza la crittografia per connettersi a SQL ServerSQL Server.

Associazione di canale

L'associazione di canale stabilisce un canale sicuro (Schannel) tra un client e un'istanza del servizio SQL ServerSQL Server. Il servizio verifica l'autenticità del client confrontando il token CBT (Channel Binding Token) del client specifico di tale canale con il proprio CBT. L'associazione di canale neutralizza sia gli attacchi luring che di spoofing. Comporta tuttavia costi di runtime maggiori in quanto richiede la crittografia TLS (Transport Layer Security) di tutto il traffico della sessione. Si verifica l'associazione di canale quando un'applicazione client utilizza la crittografia per connettersi a SQL ServerSQL Server, indipendentemente dal fatto che la crittografia venga imposta dal client o dal server.

Avviso

SQL ServerSQL Server e MicrosoftMicrosoft per SQL ServerSQL Server support TLS 1.0 e SSL 3.0. Se si applica un protocollo diverso, ad esempio TLS 1.1 o TLS 1.2, apportando modifiche nel livello SChannel del sistema operativo, le connessioni a SQL ServerSQL Server potrebbero non riuscire.

Supporto nei sistemi operativi

Nei collegamenti seguenti vengono fornite ulteriori informazioni sul supporto della protezione estesain Windows:

Impostazioni

Sono disponibili tre impostazioni di connessione di SQL ServerSQL Server che influiscono sull'associazione al servizio e sull'associazione di canale. Tali impostazioni possono essere configurate tramite Gestione configurazione SQL ServerSQL Server o WMI e possono essere visualizzate utilizzando il facet Impostazioni installazione server della gestione basata su criteri.

  • Forza crittografia

    I valori possibili sono Attivata e Disattivata. Per utilizzare l'associazione di canale, è necessario impostare Forza crittografia su Attivatain modo da forzare la crittografia su tutti i client. Se impostata su Disattivata, viene garantita solo l'associazione al servizio. Forza crittografia è disponibile in Proprietà - Protocolli per MSSQLSERVER (scheda Flag) in Gestione configurazione SQL ServerSQL Server.

  • Protezione estesa

    I valori possibili sono Disattivata, Consentitae Obbligatoria. La variabile relativa alla Protezione estesa consente agli utenti di configurare il livello di protezione estesa per ogni istanza di SQL ServerSQL Server . Protezione estesa è disponibile in Proprietà - Protocolli per MSSQLSERVER (scheda Avanzate) in Gestione configurazione SQL ServerSQL Server.

    • Se impostata su Disattivata, la protezione estesa è disabilitata. L'istanza di SQL ServerSQL Server accetterà connessioni da qualsiasi client, protetto o non protetto. Il valoreDisattivata è compatibile con i sistemi operativi precedenti e senza patch installate, sebbene sia meno sicuro. Utilizzare questa impostazione quando si è sicuri che i sistemi operativi dei client non supportano la protezione estesa.

    • Se impostata su Consentita, la protezione estesa è obbligatoria per le connessioni da sistemi operativi che supportano tale ** caratteristica e viene invece** ignorata per le connessioni da sistemi operativi che non la *supportano. Le connessioni da applicazioni client non protette in esecuzione su sistemi operativi client protetti vengono rifiutate. Sebbene sia più sicura di *Disattivata, questa impostazione non garantisce il livello più elevato di sicurezza. Utilizzare questa impostazione negli ambienti misti, dove alcuni sistemi operativi supportano la protezione estesa e altri no.

    • Se impostata su Obbligatoria, vengono accettate solo le connessioni da applicazioni protette su sistemi operativi protetti. Questa impostazione è la più sicura, ma le connessioni a da sistemi operativi o applicazioni che non supportano la protezione estesa SQL ServerSQL Servernon riuscirà.

  • SPN NTLM accettati

    La variabile relativa ai nomi SPN NTLM accettati è necessaria quando un server è noto con più nomi SPN. Se un client tenta di connettersi al server tramite un nome SPN valido sconosciuto al server, l'associazione al servizio non riuscirà. Per evitare questo problema, gli utenti possono specificare diversi nomi SPN che rappresentano il server utilizzando SPN NTLM accettati. L'impostazioneSPN NTLM accettati è costituita da una serie di nomi SPN separati da punti e virgola. Per consentire, ad esempio, l'uso dei nomi MSSQLSvc/ HostName1.Contoso.com e MSSQLSvc/ HostName2.Contoso.com, digitare MSSQLSvc/HostName1.Contoso.com;MSSQLSvc/HostName2.Contoso.com nella casella SPN NTLM accettati. La lunghezza massima della variabile è di 2048 caratteri. SPN NTLM accettati è disponibile in Proprietà - Protocolli per MSSQLSERVER (scheda Avanzate) in Gestione configurazione SQL ServerSQL Server.

Abilitazione della protezione estesa per il motore di database

Per utilizzare la protezione estesa, è necessario disporre sia sul server che sul client di un sistema operativo che supporti questa ** caratteristica. È inoltre necessario che la **protezione estesa sia abilitata nel sistema operativo. Per ulteriori informazioni sull'abilitazione della protezione estesa per il sistema operativo in uso, vedere Protezione estesa per l'autenticazione.

SQL ServerSQL Server il supporto per la protezione estesa è disponibile a partire da SQL Server 2008 R2SQL Server 2008 R2. Laprotezione estesa per alcune versioni precedenti di SQL ServerSQL Server verrà resa disponibile negli aggiornamenti futuri. Dopo aver abilitato la protezione estesa nel server, effettuare i passaggi seguenti per ** **abilitarla:

  1. Dal menu Start scegliere Tutti i programmi, Microsoft SQL Server , quindi fare clic su Gestione configurazione SQL Server.

  2. Espandere Configurazione di rete SQL Server e quindi fare clic con il pulsante destro del mouse su Protocolli *per<NomeIstanza>* e scegliere **Proprietà.

  3. Sia per l'associazione di canale che per l'associazione al servizio, nella scheda Avanzate configurare l'impostazione adatta per Protezione estesa .

  4. Facoltativamente, quando un server è noto con più nomi SPN, nella scheda Avanzate configurare il campo SPN NTLM accettati come descritto nella sezione "Impostazioni".

  5. Per l'associazione di canale, nella scheda Flag impostare Forza crittografia su Attivata.

  6. Riavviare il servizio Motore di databaseDatabase Engine .

Configurazione degli altri componenti di SQL Server

Per altre informazioni su come configurare Reporting ServicesReporting Services, vedere Protezione estesa per l'autenticazione con Reporting Service.

Quando si utilizza IIS per accedere ai dati di Analysis ServicesAnalysis Services utilizzando una connessione HTTP o HTTPs, Analysis ServicesAnalysis Services può usufruire della protezione estesa fornita da IIS. Per ulteriori informazioni sulla configurazione di IIS per l'utilizzo della protezione estesa, vedere l'articolo relativo alla configurazione della protezione estesa in IIS 7.5.

Vedere anche

Configurazione di rete del server
Configurazione di rete dei client
Extended Protection for Authentication Overview
Integrated Windows Authentication with Extended Protection