Condividi tramite


Supporto di TLS 1.3

Si applica a: SQL Server 2022 (16.x) e versioni successive del databaseSQL di Azure Istanza gestita di SQL di Azurein Microsoft Fabric

SQL Server (a partire da SQL Server 2022 (16.x),database SQL di Azure e Istanza gestita di SQL di Azure supportano Transport Layer Security (TLS) 1.3 quando viene usato il flusso di dati tabulari (TDS) 8.0.

Importante

Anche con il supporto TLS 1.3 per le connessioni TDS, TLS 1.2 è ancora necessario per l’avvio dei servizi satellite di SQL Server. Non disabilitare TLS 1.2 nel computer.

SQL Server 2019 (15.x) e versioni precedenti non supportano TLS 1.3.

Differenze tra TLS 1.2 e TLS 1.3

TLS 1.3 riduce il numero di round trip da due a uno durante la fase di handshake, rendendolo più veloce e sicuro di TLS 1.2. Il pacchetto Hello server contenente il certificato del server è crittografato e una singola ripresa del tempo di round trip (1-RTT) è stata esclusa e sostituita con la ripresa di 0-RTT in base alla condivisione della chiave client. La sicurezza aggiuntiva di TLS 1.3 deriva dall’esclusione di alcuni algoritmi e crittografie.

Ecco un elenco di algoritmi e crittografie rimossi in TLS 1.3:

  • Crittografia del flusso RC4
  • Scambio di chiavi RSA
  • Funzione hash SHA-1
  • Crittografie in modalità CBC (blocco)
  • Algoritmo MD5
  • Vari gruppi non effimeri di Diffie-Hellman
  • Crittografie EXPORT-strength
  • DES
  • 3DES

Supporto driver

Esaminare la matrice di supporto delle funzionalità dei driver per determinare quali driver supportano attualmente TLS 1.3.

Supporto dei sistemi operativi

Attualmente, i seguenti sistemi operativi supportano TLS 1.3:

Supporto di SQL Server 2025

SQL Server 2025 (17.x) introduce il supporto di TLS 1.3 per le funzionalità seguenti:

Limitazioni dell'installazione

L'installazione di SQL Server 2025 ha esito negativo quando TLS 1.3 è l'unica versione TLS abilitata nel sistema operativo. Il processo di installazione richiede che TLS 1.2 sia disponibile durante l'installazione. Al termine dell'installazione, TLS 1.2 può essere disabilitato, se necessario.

Il messaggio di errore durante l'installazione è: A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - No process is on the other end of the pipe.)

Requisiti dei certificati

Quando si usa TDS 8.0 con SQL Server 2025, è necessario soddisfare requisiti di certificato specifici:

  • Certificati attendibili: i certificati devono essere emessi da un'autorità di certificazione (CA) attendibile. I certificati autofirmati non vengono più accettati per impostazione predefinita con Microsoft OLE DB Driver per SQL Server versione 19.
  • Convalida del certificato: TrustServerCertificate deve essere impostata su False o No. Microsoft OLE DB Driver per SQL Server versione 19 convalida la catena di attendibilità del certificato e la convalida dei certificati non può essere ignorata.
  • Requisiti del nome alternativo soggetto (SAN): i certificati devono includere sia il nome di dominio completo (FQDN) che il nome Netbios nell'elenco SAN. SQL Server Management Studio (SSMS) usa spesso nomi Netbios durante la connessione e le voci mancanti causeranno errori di convalida.
  • Pianificazione delle voci SAN: includere tutti i possibili nomi di connessione client (FQDN, nomi Netbios, alias del servizio) durante il rilascio del certificato. L'aggiunta di nomi in un secondo momento richiede la creazione di un nuovo certificato e il riavvio dell'istanza di SQL Server.

Per altre informazioni sulla convalida dei certificati, vedere Crittografia e convalida dei certificati - OLE DB Driver per SQL Server.

Configurazioni sicure per impostazione predefinita in SQL Server 2025

SQL Server 2025 introduce configurazioni sicure per impostazione predefinita per diverse funzionalità che ora usano TDS 8.0 con la crittografia abilitata per impostazione predefinita:

  • SQL Server Agent: usa Microsoft OLE DB Driver per SQL Server versione 19 con Encrypt=Mandatory e richiede certificati server validi con TrustServerCertificate=False. Quando l'unica versione tls abilitata è TLS 1.3, è necessario configurare Encrypt=Strict (Force Strict Encryption).

  • Gruppi di disponibilità Always On e istanze di failover cluster: usa il driver ODBC per SQL Server versione 18 con Encrypt=Mandatory per impostazione predefinita. A differenza di altre funzionalità, i gruppi di disponibilità Always On e le istanze del cluster di failover consentono TrustServerCertificate=True scenari autofirmati.

  • Server collegati: utilizza Microsoft OLE DB Driver per SQL Server versione 19 con impostazione predefinita di Encrypt=Mandatory. Il parametro di crittografia deve essere specificato nella stringa di connessione quando è destinata a un'altra istanza di SQL Server.

  • Log shipping: usa Microsoft OLE DB Driver per SQL Server versione 19 con Encrypt=Mandatory e richiede certificati server validi. Quando si esegue un aggiornamento sul posto da una versione precedente, che non supporta le configurazioni di sicurezza più recenti, se le impostazioni di crittografia non vengono sostituite in modo esplicito con un'opzione più sicura, il log shipping userà TrustServerCertificate=True per consentire la compatibilità con le versioni precedenti. Per applicare TLS 1.3 e Encrypt=Strict con TDS 8.0 dopo l'aggiornamento, eliminare e ricreare la topologia con i parametri aggiornati nelle stored procedure di log shipping.

  • Replica: (Transazionale, Snapshot, Merge) usa Microsoft OLE DB Driver per SQL Server versione 19 con Encrypt=Mandatory e richiede certificati validi con TrustServerCertificate=False.

  • PolyBase: usa ODBC Driver per SQL Server versione 18 con Encrypt=Yes (Mandatory). PolyBase consente TrustServerCertificate=True scenari autofirmati.

  • SQL VSS Writer: quando ci si connette a un'istanza di SQL Server 2025 con Encryption=Strict, SQL VSS Writer userà TLS 1.3 e TDS 8.0 per la parte non Virtual Device Interface (VDI) di tale connessione.

Requisiti specifici dei componenti

  • SQL Server Agent con TLS 1.3: è necessario usare Force Strict Encryption (TDS 8.0) quando TLS 1.3 è l'unica versione abilitata. Le impostazioni di crittografia inferiori (Mandatory o Optional) generano errori di connessione.

  • Processi T-SQL di SQL Server Agent: i processi T-SQL di SQL Server Agent che si connettono all'istanza locale ereditano le impostazioni di crittografia di SQL Server Agent.

  • Moduli di PowerShell: SQLPS.exe e il modulo SqlPS PowerShell non sono attualmente supportati per TDS 8.0.

  • Gruppi di disponibilità Always On e istanze del cluster di failover: per configurare la crittografia rigorosa con TDS 8.0, usare la clausola CLUSTER_CONNECTION_OPTIONS con Encrypt=Strict e il failover per applicare le impostazioni.