Compatibilità di SQL Server con i nuovi standard TLS


30
  • I principali browser si stanno muovendo oltre SSL3.0 e TLS1.0.
  • Il Consiglio di sicurezza PCI ha dichiarato una data di fine della vita per questi protocolli da considerare una crittografia sufficientemente forte.

Dobbiamo allontanarci da questi protocolli, per usarne di nuovi e più forti. Sui server Windows, è possibile disabilitare facilmente questi vecchi protocolli e offrire invece solo TLS1.1 o versioni successive. Tuttavia, come notato altrove , Microsoft SQL Server 2008 R2 e SQL Server 2012 (almeno Standard) non si avviano entrambi se tali protocolli inferiori sono disabilitati. Tuttavia, esiste un numero crescente di versioni di MS SQL Server. Esistono edizioni SQL Server Standard, Business Intelligence, Enterprise, Express, Web e Compact. E ovviamente c'è SQL Server 2008, 2012, 2014 e (in pre-release) 2016.

Quale di queste edizioni supporta o supporterà l'uso solo di protocolli TLS1.1 o superiori?


Come nota a margine: i requisiti PCI qui coprono la trasmissione generale dei dati, quindi avvolgere qualsiasi comunicazione SQL su reti pubbliche e / o wireless in una VPN / tunnel che implementa standard migliori dovrebbe essere sufficiente. Potrebbero anche non coprire affatto le comunicazioni locali; quindi se nulla al di fuori della VLAN può persino toccare l'istanza SQL a causa della configurazione SQL appropriata e / o firewall e altri filtri, potrebbe non essere necessario preoccuparsi di questo PoV. Nessuno di questi fatti ti aiuta se hai bisogno di esporre un'istanza SQL alla rete pubblica ovviamente, ma quell'idea mi spaventa comunque!
David Spillett,

Risposte:


19

Di recente Microsoft ha rivelato (senza troppi fanfara) che investirà in TLS 1.2 e eliminerà gradualmente SSL. Dovrebbe essere rilevante per tutte le edizioni di SQL Server.

AGGIORNAMENTO 2016-01-29 : Microsoft ha annunciato il supporto ufficiale per TLS 1.2 nel 2008, 2008 R2, 2012 e 2014 . Download e altre informazioni sono disponibili in KB # 3135244 .

Ho scritto un blog su alcuni dei problemi menzionati, nonché un avviso se si utilizzano endpoint crittografati nel 2014:

Il post indica anche la build corretta da scaricare (o altre azioni) a seconda della versione @@.

Resta da vedere se questa mossa influenzerà tutte le versioni esistenti, solo il 2014 e oltre, o solo il 2016. La citazione seguente sembra implicare che almeno il 2014 farà parte del lavoro - e sospetto che gran parte dell'investimento sarà nelle librerie client, non nel motore, quindi è fattibile che funzionerà per qualsiasi versione che la prossima versione dei driver ODBC / Native Client supporterà.

L'ho preso da un mazzo PowerPoint di Kevin Farlee di Microsoft e mi è stato dato il permesso di condividere le informazioni, anche se non so quanto sia stato ridistribuito a questo punto. Ecco la citazione esatta dal mazzo:

Crittografia in volo: protegge i dati tra client e server da ficcanaso e attacchi man-in-the-middle. Aggiornamento a TLS 1.2 in CY 15, eliminazione graduale di SSL.

Inoltre, se si esamina KB # 3052404 , sembra che ci siano patch per farlo funzionare con SP + 2012 e 2014 (le patch non saranno necessarie per il 2016), ma nessuna indicazione ci sarà alcun back-porting su SQL Server 2005, 2008 , o 2008 R2 (e francamente, sarei abbastanza sorpreso).


6

Come nelle altre risposte: è necessaria una CU recente per TLS1.2. Vedere:

FIX: non è possibile utilizzare il protocollo Transport Layer Security versione 1.2 per connettersi a un server che esegue SQL Server 2014 o SQL Server 2012 :

  • Aggiornamento cumulativo 1 per SQL Server 2014 SP1
  • Aggiornamento cumulativo 8 per SQL Server 2014
  • Aggiornamento cumulativo 1 per SQL Server 2012 SP3
  • Aggiornamento cumulativo 10 per SQL Server 2012 SP2

Dopo aver abilitato solo TLS 1.2, potresti riscontrare due errori:

  1. Agente SQL Server 2014 non verrà avviato. Soluzione: installare SQL Server 2012 SNAC dal collegamento per il download in KB3135244
  2. SQL Server Management Studio non è in grado di connettersi. Soluzione: installare l'aggiornamento rapido .NET framework applicabile da KB3135244

Inoltre, è necessario aggiornare il driver SNAC / OBDC su tutti i client che si connettono a SQL Server.

L'elenco completo di build di SQL Server e Driver client, insieme ai collegamenti per il download e altre modifiche alla configurazione che potrebbero essere necessarie sono contenute nel seguente articolo della Knowledge Base del supporto Microsoft:

Supporto TLS 1.2 per Microsoft SQL Server


Perché non riesco ancora ad avviare SQL Server 2012 anche con l'aggiornamento cumulativo 1 per SQL Server 2012 SP3 installato?
NickG,

4

Al 29 gennaio 2016, Microsoft SQL Server supporta TLS 1.2 per:

  • SQL Server 2008
  • SQL Server 2008 R2
  • SQL Server 2012; e
  • SQL Server 2014

... e i principali driver client come:

  • Server Native Client
  • Driver Microsoft ODBC per SQL Server
  • Driver Microsoft JDBC per SQL Server
  • ADO.NET (SqlClient).

Post di blog del team tecnico di SQL Server sulla versione:

Supporto TLS 1.2 per SQL Server 2008, 2008 R2, 2012 e 2014

Elenco di build che supportano TLS 1.2 insieme ai percorsi di download dei componenti client e server (KB3135244):

Supporto TLS 1.2 per Microsoft SQL Server (include correzioni .NET per DB Mail)

Nota: quanto sopra è stato aggiornato dalla versione iniziale per correggere un difetto dell'aggiornamento originale che ha causato l'interruzione del servizio intermittente durante la connessione a un'istanza di SQL Server 2008 o SQL Server 2008 R2 . Questo è descritto in KB 3146034:

Le terminazioni del servizio intermittente si verificano dopo l'installazione di qualsiasi versione di SQL Server 2008 o SQL Server 2008 R2 da KB3135244


2

Posso confermare che come CU7 SQL 2012 SP2, che ha il supporto TLS 1.2 per SQL 2012 da CU6, non è possibile disabilitare TLS 1.0 a livello di server ed essere in grado di connettersi al server SQL utilizzando una connessione di Management Studio non crittografata su un'istanza che non forza la crittografia del client.

Si tratta di un'istanza che non utilizza TDE o altri certificati.

Proverò domani dopo aver generato un certificato attendibile per il server e aver abilitato le connessioni crittografate, ma al momento TLS 1.0 non può essere disabilitato su SQL 2012, anche se supporta TLS 1.2.

Modificare:

Ho generato un certificato per il server di database dalla nostra Autorità di certificazione interna e sono stato in grado di stabilire una connessione crittografata dello studio di gestione con il server SQL, fino a quando il protocollo TLS 1.0 è stato disabilitato, a quel punto non ero più in grado di connettermi. Lo stesso comportamento di quando non si dispone di un certificato e di un certificato autofirmato viene utilizzato per crittografare la sessione di accesso.


2

Ho scoperto, anche con SQL 2014 SP1 CU1, che dovevo usare caselle separate per IIS e SQL. Mi sono imbattuto in alcuni problemi apparentemente correlati lungo la strada e ho dettagliato i passaggi in questo post .

I punti chiave sono:

  • Inserisci IIS e SQL in caselle separate
  • Disabilitare TLS1.0 in entrata e abilitare TLS1.0 in uscita sulla casella IIS
  • Abilitare TLS1.0 in entrambi i modi sulla casella SQL.

1

Ecco cosa ho fatto su entrambi i server anteriore e posteriore

  1. Aprire gpedit.msc. Nell'editor Criteri di gruppo locali, fai doppio clic su "Impostazioni di Windows" sotto il nodo "Configurazione computer", quindi fai doppio clic su "Impostazioni di sicurezza".

  2. Nel nodo "Impostazioni di sicurezza", fai doppio clic su "Criteri locali", quindi fai clic su "Opzioni di sicurezza".

  3. Nel riquadro dei dettagli, fai doppio clic su "Crittografia di sistema: usa algoritmi conformi a FIPS per crittografia, hash e firma".

  4. Nella finestra di dialogo "Crittografia di sistema: utilizzare algoritmi conformi a FIPS per crittografia, hash e firma", fare clic su "Abilitato", quindi fare clic su "OK" per chiudere la finestra di dialogo. Chiudi l'Editor criteri di gruppo locali.


Presumo che ciò è quello di indirizzo come impostare TLS 1.2, in contrapposizione alla domanda iniziale effettivo, dei quali versioni di SQL Server fanno sostegno qualcosa al di là TLS 1.0, forse su un server web con un back-end SQL? Se possibile, si prega di chiarire questo nella risposta stessa.
RDFozz,

Grazie, ma ... Nella domanda originale, ho cercato di renderlo un po 'generale, ma aveva davvero a che fare con l'abbinamento di un requisito minimo e un insieme di tecnologie a metà 2015 quando è stato posto. È diventato così datato ora che penso che dovrebbe essere chiuso. Qualsiasi risposta come questa qui sopra dovrebbe probabilmente essere indirizzata a una versione più recente della domanda che si applica meglio ai problemi di oggi. Al momento non ho una domanda del genere.
Mark Goldfain,
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.