Partager via


Prise en charge du protocole TLS 1.3

S’applique à : SQL Server 2022 (16.x) et versions ultérieures d’Azure SQL Database Azure SQLManaged InstanceSQL Database dans Microsoft Fabric

SQL Server (à compter de SQL Server 2022 (16.x)), Azure SQL Database et Azure SQL Managed Instance prennent en charge le protocole TLS (Transport Layer Security) 1.3 lorsque tdS (Tabular Data Stream) 8.0 est utilisé.

Important

Même avec la prise en charge de TLS 1.3 pour les connexions TDS, TLS 1.2 est toujours nécessaire pour démarrer les services satellites SQL Server. Ne désactivez pas TLS 1.2 sur l’ordinateur.

SQL Server 2019 (15.x) et les versions antérieures ne prennent pas en charge TLS 1.3.

Différences entre TLS 1.2 et TLS 1.3

TLS 1.3 réduit le nombre d’allers-retours de deux à un pendant la phase de négociation, ce qui le rend plus rapide et plus sécurisé que TLS 1.2. Le paquet hello du serveur contenant le certificat de serveur est chiffré et la reprise d’un aller-retour (1-RTT) est supprimée et remplacée par une reprise 0-RTT basée sur le partage de la clé du client. La sécurité de TLS 1.3 a été renforcée en supprimant certains chiffrements et algorithmes.

Voici une liste d’algorithmes et de chiffrements supprimés dans TLS 1.3 :

  • Chiffrement de flux RC4
  • Échange de clés RSA
  • Fonction de hachage SHA-1
  • Chiffrements en mode CBC (blocage)
  • Algorithme MD5
  • Différents groupes non éphémères de Diffie-Hellman
  • Chiffrements de force d’exportation
  • DES
  • 3DES

Prise en charge du pilote

Passez en revue la matrice de prise en charge des fonctionnalités des pilotes pour déterminer quels pilotes prennent actuellement en charge TLS 1.3.

Prise en charge du système d’exploitation

Actuellement, les systèmes d’exploitation suivants prennent en charge TLS 1.3 :

Prise en charge de SQL Server 2025

SQL Server 2025 (17.x) introduit la prise en charge de TLS 1.3 pour les fonctionnalités suivantes :

Limitations du programme d’installation

La configuration de SQL Server 2025 échoue lorsque TLS 1.3 est la seule version TLS activée sur le système d’exploitation. Le processus d’installation nécessite que TLS 1.2 soit disponible pendant l’installation. Une fois l’installation terminée, TLS 1.2 peut être désactivé si vous le souhaitez.

Le message d’erreur pendant l’installation est le suivant : 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.)

Conditions requises pour les certificats

Lorsque vous utilisez TDS 8.0 avec SQL Server 2025, des exigences de certificat spécifiques doivent être remplies :

  • Certificats approuvés : les certificats doivent être émis par une autorité de certification approuvée. Les certificats auto-signés ne sont plus acceptés par défaut avec Microsoft OLE DB Driver pour SQL Server version 19.
  • Validation du certificat : TrustServerCertificate doit être définie sur False ou No. Microsoft OLE DB Driver pour SQL Server version 19 valide la chaîne de confiance du certificat et la validation de certificat ne peut pas être ignorée.
  • Conditions de nom de remplacement (SAN) de l’objet : les certificats doivent inclure à la fois le nom de domaine complet (FQDN) et le nom Netbios dans la liste SAN. SQL Server Management Studio (SSMS) utilise souvent des noms Netbios lors de la connexion et les entrées manquantes entraînent des erreurs de validation.
  • Planification des entrées SAN : incluez tous les noms de connexion client possibles (nom de domaine complet, noms Netbios, alias de service) lors de l’émission de certificat. L’ajout de noms ultérieurement nécessite la création d’un certificat et le redémarrage de l’instance SQL Server.

Pour plus d’informations sur la validation des certificats, consultez Chiffrement et validation de certificat - OLE DB Driver pour SQL Server.

Configurations sécurisées par défaut dans SQL Server 2025

SQL Server 2025 introduit des configurations sécurisées par défaut pour plusieurs fonctionnalités qui utilisent désormais TDS 8.0 avec chiffrement activé par défaut :

  • SQL Server Agent : utilise Microsoft OLE DB Driver pour SQL Server version 19 avec Encrypt=Mandatory et nécessite des certificats serveur valides avec TrustServerCertificate=False. Lorsque la seule version TLS activée est TLS 1.3, vous devez configurer Encrypt=Strict (Forcer le chiffrement strict).

  • Groupes de disponibilité Always On et clusters SQL Server : utilise le pilote ODBC pour SQL Server version 18 avec Encrypt=Mandatory par défaut. Contrairement à d'autres fonctionnalités, les groupes de disponibilité Always On et les FCI autorisent TrustServerCertificate=True les scénarios d'auto-signature.

  • Serveurs liés : utilise Microsoft OLE DB Driver pour SQL Server version 19 avec Encrypt=Mandatory par défaut. Le paramètre de chiffrement doit être spécifié dans la chaîne de connexion lors de la cible d’une autre instance SQL Server.

  • Copie des journaux de transaction : utilise Microsoft OLE DB Driver pour SQL Server version 19 avec Encrypt=Mandatory et nécessite des certificats serveur valides. Lors de l'exécution d'une mise à niveau sur place depuis une version antérieure qui ne prend pas en charge les dernières configurations de sécurité, si les paramètres de chiffrement ne sont pas explicitement remplacés par une option plus sécurisée, la copie des journaux utilisera TrustServerCertificate=True pour permettre la rétrocompatibilité. Pour appliquer TLS 1.3 et Encrypt=Strict avec TDS 8.0 après la mise à niveau, supprimez et recréez la topologie en utilisant les nouveaux paramètres dans les procédures stockées de copie de journaux de transaction.

  • Réplication : (transactionnel, instantané, fusion) utilise Microsoft OLE DB Driver pour SQL Server version 19 avec Encrypt=Mandatory et nécessite des certificats valides avec TrustServerCertificate=False.

  • Messagerie de base de données : les paramètres par défaut sont Encrypt=Optional et TrustServerCertificate=True. Lorsque TLS 1.3 est appliqués, ces valeurs changent en Encrypt=Strict et TrustServerCertificate=False. Par défaut, Azure SQL Managed Instance utilise le protocole TLS 1.3.

  • PolyBase : utilise ODBC Driver pour SQL Server version 18 avec Encrypt=Yes (Mandatory). PolyBase permet TrustServerCertificate=True les scénarios d'auto-signature.

  • Enregistreur VSS SQL : Lors de la connexion à une instance SQL Server 2025 avec Encryption=Strict, l'Enregistreur VSS SQL utilisera TLS 1.3 et TDS 8.0 pour la partie de cette connexion qui n'implique pas l'Interface de Dispositif Virtuel (VDI).

Exigences spécifiques aux composants

  • SQL Server Agent avec TLS 1.3 : vous devez utiliser Force Strict Encryption (TDS 8.0) lorsque TLS 1.3 est la seule version activée. Les paramètres de chiffrement inférieurs (Mandatory ou Optional) entraînent des échecs de connexion.

  • Travaux T-SQL de SQL Server Agent : les travaux T-SQL de SQL Server Agent qui se connectent à l’instance locale héritent des paramètres de chiffrement de SQL Server Agent.

  • Modules PowerShell : SQLPS.exe et le module PowerShell SQLPS ne sont actuellement pas pris en charge pour TDS 8.0.

  • Groupes de disponibilité Always On et instances de basculement : pour configurer un chiffrement strict avec TDS 8.0, utilisez la CLUSTER_CONNECTION_OPTIONS clause avec Encrypt=Strict et le basculement pour appliquer les paramètres.