Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
SQL Server supporta la protezione estesa a partire da SQL Server 2008 R2 (10.50.x).
Protezione Estesa aiuta a prevenire attacchi di inoltro dell'autenticazione assicurando che il client conosca il servizio a cui si connette.
La funzionalità Extended Protection è una caratteristica dei componenti di rete implementati dal sistema operativo. Laprotezione estesa è supportata in Windows 7 e in Windows Server 2008 R2 La protezione estesa è inclusa nei Service Pack per i sistemi operativi Microsoft meno recenti.
SQL Server è più sicuro quando le connessioni vengono effettuate tramite protezione estesa.
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, Microsoft Outlook, un'applicazione .NET SqlClient e così via, si connette all'autore dell'attacco, ad esempio un file server CIFS dannoso. L'utente malintenzionato usa le credenziali del client per spacciarsi per il client ed eseguire l'autenticazione a un servizio, ad esempio un'istanza del Motore di Database.
Questo attacco presenta due varianti:
In un attacco luring, il client viene rato a connettersi volontariamente all'utente malintenzionato.
In un attacco di spoofing, il client intende connettersi a un servizio valido, ma non sa che il DNS e/o il routing IP sono stati avvelenati per reindirizzare la connessione all'attaccante.
SQL Server supporta l'associazione al servizio e l'associazione di canale per ridurre tali attacchi sulle istanze di SQL Server.
Collegamento di servizi
L'associazione al servizio risolve il problema degli attacchi luring richiedendo a un client di inviare un nome SPN firmato del servizio SQL Server al quale il client intende connettersi. Come parte della risposta di autenticazione, il servizio verifica che l'SPN ricevuto nel pacchetto corrisponda al proprio SPN. Se un client viene attirato a connettersi a un attaccante, il client include l'SPN firmato dell'attaccante. L'attaccante non può inoltrare il pacchetto per autenticarsi al servizio SQL Server reale fingendo di essere il client, perché includerebbe l'SPN dell'attaccante. Il binding del servizio comporta un costo una tantum, trascurabile, ma non risolve gli attacchi di spoofing. L'associazione di servizi si verifica quando un'applicazione client non usa la crittografia per connettersi a SQL Server.
Associazione di canali
L'associazione di canale stabilisce un canale sicuro (Schannel) tra un client e un'istanza del servizio SQL Server. Il servizio verifica l'autenticità del client confrontando il token di associazione del canale (CBT) specifico del client per quel canale con il proprio CBT. L'associazione di canale neutralizza sia gli attacchi luring che di spoofing. Tuttavia, comporta un costo di runtime maggiore perché richiede la crittografia TLS (Transport Layer Security) di tutto il traffico di sessione. Si verifica l'associazione di canale quando un'applicazione client usa la crittografia per connettersi a SQL Server, indipendentemente dal fatto che la crittografia venga imposta dal client o dal server.
Avviso
SQL Server e i provider di dati Microsoft per SQL Server supportano 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 Server potrebbero avere esito negativo. Verificare di avere la build più recente di SQL Server per supportare TLS 1.1 o TLS 1.2. Per ulteriori informazioni, vedere https://support.microsoft.com/topic/kb3135244-tls-1-2-support-for-microsoft-sql-server-e4472ef8-90a9-13c1-e4d8-44aad198cdbe.
Supporto del sistema operativo
Nei collegamenti seguenti vengono fornite ulteriori informazioni sul supporto della protezione estesain Windows:
Autenticazione Integrata di Windows con Protezione Estesa
Avviso di Sicurezza Microsoft (973811), Protezione Estesa per l'Autenticazione
Impostazione
Sono disponibili tre impostazioni di connessione di SQL Server che influiscono sull'associazione al servizio e sull'associazione di canale. Le impostazioni possono essere configurate usando Gestione configurazione di SQL Server o WMI e visualizzate usando la faccetta Impostazioni del Protocollo del Server di Gestione Basata su Criteri.
Crittografia obbligatoria
I valori possibili sono Attivata e Disattivata. Per utilizzare il binding di canale, Force Encryption deve essere impostato su Su, e tutti i client devono crittografare. Se è Off, è garantita solo l'associazione al servizio. Crittografia Forzata si trova in Proprietà - Protocolli per MSSQLSERVER (scheda Flag) in Gestione configurazione SQL 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 Server. Protezione estesa è disponibile in Proprietà - Protocolli per MSSQLSERVER (scheda Avanzate) in Gestione configurazione SQL Server.
Se impostata su Disattivata, la protezione estesa è disabilitata. L'istanza di SQL Server accetta connessioni da qualsiasi client indipendentemente dal fatto che il client sia protetto o meno. Off è compatibile con sistemi operativi meno recenti e senza patch, ma è meno sicuro. Usare questa impostazione quando i sistemi operativi client non supportano la protezione estesa.
Se impostata su Consentita, la protezione estesa è obbligatoria per le connessioni da sistemi operativi che supportano la protezione estesa. La Protezione Estesa viene ignorata per le connessioni dai sistemi operativi che non supportano la Protezione Estesa. Le connessioni da applicazioni client non protette in esecuzione nei sistemi operativi client protetti vengono rifiutate. Questa impostazione è più sicura di Off, ma non è la più sicura. Usa questa impostazione in ambienti misti; alcuni sistemi operativi supportano Protezione Estesae 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 da sistemi operativi o applicazioni che non supportano protezione estesa non saranno in grado di connettersi a SQL Server.
SPN NTLM accettati
La variabile SPN NTLM accettata è necessaria quando più SPN conoscono un server. Quando un client tenta di connettersi al server usando un nome SPN valido non noto al server, l'associazione al servizio ha esito negativo. Per evitare questo problema, gli utenti possono specificare diversi NOMI SPN che rappresentano il server usando i nomi SPN NTLM accettati . SPN NTLM accettati è una serie di 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 di SQL Server.
Abilitazione della protezione estesa per il motore di database
Per usare Protezione Estesa, sia il server che il client devono avere un sistema operativo che supporti Protezione Estesa e devono essere abilitati nel sistema operativo. Per ulteriori informazioni sull'abilitazione della protezione estesa per il sistema operativo in uso, vedere Protezione estesa per l'autenticazione.
Anche se e NTLMv2 sono abilitati per impostazione predefinita in tutte le versioni supportate di Windows, protezione estesa non è abilitata per impostazione predefinita per le connessioni di SQL Server. Gli utenti devono abilitarlo manualmente nello Strumento di configurazione di SQL Server.
Per abilitare Protezione Estesa per le connessioni SQL Server, gli amministratori devono configurare le impostazioni in Gestione configurazione SQL Server. Sono incluse le opzioni per l'associazione al servizio e l'associazione di canali per attenuare vari tipi di attacchi di inoltro dell'autenticazione. Per istruzioni dettagliate, vedere la documentazione di SQL Server sulla configurazione di protezione estesa.
Dopo aver abilitato la protezione estesa nel server, effettuare i passaggi seguenti per abilitarla protezione estesa:
Nel menu Start scegliere Tutti i programmi, scegliere Microsoft SQL Server e quindi selezionare Gestione configurazione SQL Server.
Espandere configurazione di rete di SQL Servere quindi fare clic con il pulsante destro del mouse su protocolli di per _<_InstanceName*>*, quindi scegliere Proprietà .
nella scheda Avanzato, configurare Protezione Estesa sull'impostazione appropriata sia per l'associazione del canale che per l'associazione del servizio.
Configura facoltativamente nella scheda Avanzate il campo Accepted NTLM SPNs, come descritto nella sezione "Impostazioni," quando più di un SPN conosce un server.
Per l'associazione di canale, nella scheda Flags impostare Forza crittografia su On.
Riavviare il servizio motore di database.
Configurazione di altri componenti di SQL Server
Per altre informazioni su come configurare Reporting Services, vedere Protezione estesa per l'autenticazione con Reporting Service.
Quando si usa IIS per accedere ai dati di Analysis Services tramite una connessione HTTP o HTTPS, Analysis Services può sfruttare la 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.