Se connecter à SQL Server avec le chiffrement strict

S’applique à : SQL Server 2022 (16.x) et versions ultérieures

Le chiffrement de connexion strict applique les bonnes pratiques de sécurité et permet aux appliances réseau standard de gérer le trafic SQL Server. Le chiffrement strict utilise le flux de données tabulaire (TDS) 8.0, qui encapsule la session TDS dans TLS (Transport Layer Security) pour le chiffrement de bout en bout.

Dans cet article, découvrez comment vous connecter à SQL Server 2022 (16.x) et versions ultérieures à l’aide du type de connexion strict.

Prérequis

Se connecter à SQL Server avec une application .NET

Pour plus d’informations sur la connexion à SQL Server avec le type de chiffrement strict, consultez Syntaxe de la chaîne de connexion pour savoir comment créer la chaîne de connexion. Pour plus d’informations sur les nouvelles propriétés de chaîne de connexion, consultez Changements supplémentaires des propriétés de chiffrement de chaîne de connexion.

Se connecter à l'aide d'un nom de source de données ODBC (DSN)

Vous pouvez tester une connexion avec le type de chiffrement de connexion Strict en utilisant un DSN ODBC sur SQL Server.

  1. Recherchez l’application Sources de données ODBC dans Windows.

    Capture d’écran de l’application de sources de données O D B C.

  2. Vérifiez que vous avez le dernier pilote ODBC sous l’onglet Pilotes de l’administrateur de source de données ODBC.

    Capture d’écran des pilotes disponibles.

  3. Sous l’onglet DSN système, sélectionnez Ajouter pour créer un DSN. Sélectionnez ensuite ODBC Driver 18 for SQL Server. Sélectionnez Terminer. Nous l’utilisons pour tester notre connexion.

  4. Dans la fenêtre Créer une source de données pour SQL Server, indiquez un nom pour cette source de données et ajoutez le nom de votre serveur SQL Server 2022 (16.x)dans Serveur. Cliquez sur Suivant.

    Capture d’écran de la création d’une source de données à l’aide du gestionnaire O D B C.

  5. Utilisez toutes les valeurs par défaut pour tous les paramètres jusqu’à l’écran Chiffrement de connexion. Sélectionnez Strict. Si le nom de serveur que vous avez entré diffère de celui du certificat ou si l’adresse IP est utilisée à la place, définissez le Nom d’hôte du certificat sur celui utilisé dans votre certificat. Sélectionnez Terminer.

    Capture d’écran montrant le type de chiffrement strict.

  6. Quand la boîte de dialogue Configuration du pilote ODBC pour Microsoft SQL Server s’affiche, sélectionnez le bouton Tester la source de données... pour tester la connexion. Cela doit appliquer la connexion strict à SQL Server pour ce test.

Vous pouvez également tester la connexion à SQL Server avec le chiffrement strict en utilisant OLE DB Driver avec Universal Data Link (UDL).

  1. Pour créer un fichier UDL afin de tester votre connexion, cliquez avec le bouton droit sur votre bureau et sélectionnez Nouveau>Document texte. Vous devez remplacer l’extension par txtudl. Vous pouvez donner au fichier le nom de votre choix.

    Remarque

    Vous devez être en mesure de voir le nom de l’extension pour modifier l’extension de txtudl. Si vous ne voyez pas l’extension, vous pouvez activer l’affichage de l’extension en ouvrant>la vue Explorateur> de fichiersAfficher les extensions de>nom de fichier.

  2. Ouvrez le fichier UDL que vous avez créé et accédez à l’onglet Fournisseur pour sélectionner Microsoft OLE DB Driver 19 for SQL Server. Cliquez sur Suivant>>.

    Capture d’écran de l’écran du fournisseur U D L.

  3. Sous l’onglet Connexion, entrez le nom de votre serveur SQL, puis sélectionnez la méthode d’authentification que vous utilisez pour vous connecter à SQL Server.

    Capture d’écran de l’écran de connexion U D L.

  4. Sous l’onglet Avancé, sélectionnez Strict pour Chiffrement de connexion. Si le nom de serveur que vous avez entré diffère de celui du certificat ou si l’adresse IP est utilisée à la place, définissez le Nom d’hôte du certificat sur celui utilisé dans votre certificat. Retournez dans l’onglet Connexion une fois terminé.

    Capture d’écran de l’écran avancé U D L.

  5. Sélectionnez Tester la connexion pour tester la connexion avec le chiffrement de connexion strict.

    Capture d’écran de l’écran de connexion U D L et test de connexion.

Se connecter avec SSMS

À compter de la version 20, vous pouvez appliquer un chiffrement strict dans SQL Server Management Studio (SSMS) sous l’onglet Connexions de la boîte de dialogue Se connecter au serveur :

Capture d’écran de la boîte de dialogue Se connecter au serveur dans SQL Server Management Studio.

Se connecter à un groupe de disponibilité Always On

À compter de SQL Server 2025 (17.x), vous pouvez chiffrer la communication entre le cluster de basculement Windows Server et un réplica d'un groupe de disponibilité Always On à l’aide du type de chiffrement de connexion Strict ou Mandatory. Votre groupe de disponibilité ne peut appliquer le chiffrement que s’il est basé sur un Windows Server Failover Cluster. D’autres types de groupes de disponibilité ne prennent pas en charge le chiffrement strict.

Remarque

Le chiffrement pour les points de terminaison de mise en miroir de bases de données est configuré séparément et TLS n’est pas pris en charge. Pour plus d’informations, consultez La sécurité des transports dans les groupes de disponibilité et la mise en miroir de bases de données.

Les étapes diffèrent selon que votre disponibilité existe déjà ou non.

Pour forcer le chiffrement strict à un nouveau groupe de disponibilité, procédez comme suit :

  1. Si ce n’est déjà fait, importez le certificat TLS dans chaque réplica du groupe de disponibilité, tel que défini par les exigences de certificat. Redémarrez chaque instance SQL Server après avoir importé le certificat.
  2. Testez les connexions à chaque réplica SQL Server à l’aide de l’une des méthodes mentionnées dans cet article qui applique le chiffrement.
  3. CREATE AVAILABILITY GROUP avec la Encrypt propriété définie Strict dans la CLUSTER_CONNECTION_OPTIONS clause du groupe de disponibilité. Cela garantit que toutes les connexions au groupe de disponibilité utilisent le type de chiffrement spécifié.
  4. Si le groupe de disponibilité est actuellement en ligne, effectuez un basculement vers un réplica secondaire pour appliquer les nouveaux paramètres de chiffrement au groupe de disponibilité. Si le groupe de disponibilité ne parvient pas à se mettre en ligne, il peut s’agir ClusterConnectionOptions du problème qui n’est pas défini correctement. Vérifiez le cluster.log pour les erreurs ODBC liées à l'échec du cluster à se connecter à la réplique SQL Server. Si vous le souhaitez, vous pouvez restaurer le groupe de disponibilité vers le réplica principal d’origine une fois que le nouveau réplica secondaire est en ligne et connecté au groupe de disponibilité.
  5. (Facultatif) Vous pouvez renforcer davantage le chiffrement en définissant l’option Forcer le chiffrement strict à Yes dans les propriétés du Gestionnaire de configuration SQL Server pour le protocole de connexion de chaque réplique. Ce paramètre garantit que toutes les connexions aux réplicas du groupe de disponibilité utilisent un chiffrement strict. Redémarrez chaque réplica SQL Server après avoir modifié ce paramètre.

Se connecter à une instance de cluster de basculement

À compter de SQL Server 2025 (17.x), vous pouvez chiffrer les communications entre votre cluster de basculement Windows Server et une instance de cluster de basculement Always On à l’aide du type de chiffrement de connexion Strict ou Mandatory. Pour ce faire, procédez comme suit :

  1. Si ce n’est déjà fait, importez le certificat TLS sur chaque nœud du cluster de basculement, tel que défini par les exigences de certificat. Redémarrez l’instance SQL Server après avoir importé le certificat.
  2. Testez les connexions à l’instance de cluster de basculement en utilisant l’une des méthodes mentionnées dans cet article qui impose le chiffrement.
  3. ALTER SERVER CONFIGURATION avec la CLUSTER_CONNECTION_OPTIONS clause pour définir la Encrypt propriété sur Mandatory ou Strict. Cela garantit que toutes les connexions à l’instance de cluster de basculement utilisent le type de chiffrement spécifié.
  4. Basculez l’instance vers un nœud secondaire pour appliquer les nouveaux paramètres de chiffrement à l’instance de cluster à basculement. Si l’instance de cluster de basculement ne parvient pas à être en ligne, elle peut être ClusterConnectionOptions définie correctement. Vérifiez les cluster.log pour leserreurs ODBC liées au cluster qui ne parviennent pas à se connecter à l’instance SQL Server. Si vous le souhaitez, vous pouvez restaurer l’instance vers le nœud principal d’origine une fois le nouveau nœud secondaire en ligne et connecté à l’instance de cluster de basculement.
  5. (Facultatif) Vous pouvez appliquer davantage le chiffrement en définissant l’option Yes dans les propriétés du Gestionnaire de configuration SQL Server pour le protocole de connexion de chaque nœud du cluster. Ce paramètre garantit que toutes les connexions à l’instance de cluster de basculement utilisent un chiffrement strict. Apportez cette modification sur le nœud secondaire, basculez l’instance sur celui-ci, puis effectuez la modification sur le nœud principal.

chiffrement de connexion SQL Server Agent

À compter de SQL Server 2025 (17.x), SQL Server Agent utilise Microsoft ODBC Driver 18 pour SQL Server, qui prend en charge TDS 8.0 et TLS 1.3. SQL Server Agent ajuste automatiquement son chiffrement de connexion pour qu’il corresponde à la configuration de l’instance SQL Server.

Comment SQL Server Agent détermine le chiffrement

Quand SQL Server Agent démarre, il interroge les clés de Registre suivantes sur l’ordinateur local pour déterminer le niveau de chiffrement configuré pour SQL Server :

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\ForceEncryption
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\ForceStrict
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\SubjectAlternativeName(nouveauté de SQL Server 2025 (17.x))

En fonction de ces valeurs, SQL Server Agent sélectionne son mode de connexion :

  • Si Force Strict Encryption est activé, SQL Server Agent se connecte à l’aide strict de (TDS 8.0).
  • Si Force Encryption est activé, SQL Server Agent se connecte à l’aide mandatory de (TDS 7.x).
  • Si aucun des deux n’est activé, SQL Server Agent se connecte à l’aide optional de (TDS 7.x).

Les étapes de travail T-SQL locales héritent de la même configuration de chiffrement que le service SQL Server Agent. Si SQL Server Agent se connecte à strict, les travaux T-SQL exécutés localement sur le serveur utilisent la même option.

Important

TLS 1.3 fonctionne uniquement avec un chiffrement strict. Si l'instance de SQL Server n'a activé que TLS 1.3 au niveau du système d'exploitation, mais que le chiffrement forcé est défini (pas forcer le chiffrement strict), SQL Server Agent ne peut pas démarrer car mandatory les optional modes nécessitent TDS 7.x, qui n'est pas compatible avec TLS 1.3.

Matrice de configuration tls et de chiffrement

Version TLS activée Paramètre de configuration résultat SQL Server Agent Notes
TLS 1.3 uniquement Forcer le chiffrement strict Se connecte correctement TDS 8.0 utilise un chiffrement strict
TLS 1.3 uniquement Forcer le chiffrement Échec de la connexion TLS 1.3 nécessite une exigence stricte
TLS 1.3 uniquement None Échec de la connexion TLS 1.3 nécessite un chiffrement strict
TLS 1.2 uniquement Forcer le chiffrement strict Se connecte correctement TDS 8.0 peut utiliser TLS 1.2
TLS 1.2 uniquement Forcer le chiffrement Se connecte correctement TDS 7.x avec obligatoire
TLS 1.2 uniquement None Se connecte correctement TDS 7.x avec facultatif
TLS 1.2 et TLS 1.3 Forcer le chiffrement strict Se connecte correctement TDS 8.0 utilise un chiffrement strict
TLS 1.2 et TLS 1.3 Forcer le chiffrement Se connecte correctement TDS 7.x avec obligatoire
TLS 1.2 et TLS 1.3 None Se connecte correctement TDS 7.x avec facultatif

Vérifier le chiffrement négocié de SQL Server Agent

Une fois que SQL Server Agent se connecte, exécutez la requête suivante pour confirmer son mode de chiffrement :

SELECT s.session_id, c.encrypt_option, s.program_name, s.client_interface_name, s.nt_user_name
FROM sys.dm_exec_connections AS c
INNER JOIN sys.dm_exec_sessions AS s
    ON c.session_id = s.session_id
WHERE s.program_name LIKE 'SQLAgent%';

La encrypt_option colonne retourne TRUE quand SQL Server Agent connecté au chiffrement.

Pour obtenir une vue d’ensemble de SQL Server Agent elle-même, consultez SQL Server Agent.

Forcer le chiffrement strict avec le Gestionnaire de configuration SQL Server

Vous pouvez appliquer un chiffrement strict à l’aide du Gestionnaire de configuration SQL Server à partir de SQL Server 2022 (16.x). Pour ce faire, procédez comme suit :

  1. Ouvrez le Gestionnaire de configuration SQL Server.

  2. Dans le volet gauche, développez Configuration réseau SQL Server, puis sélectionnez Protocoles pour [InstanceName].

  3. Cliquez avec le bouton droit sur TCP/IP, puis sélectionnez Propriétés.

  4. Dans la boîte de dialogue Propriétés TCP/IP , accédez à l’onglet Indicateurs , puis sélectionnez Oui pour l’option Forcer le chiffrement strict :

    Capture d’écran de l’option Forcer le chiffrement strict dans le Gestionnaire de configuration SQL Server.

  5. Redémarrez l’instance SQL Server pendant une fenêtre de maintenance pour appliquer les modifications.

Observations

Si vous voyez SSL certificate validation failed, vérifiez que :

  • Le certificat de serveur est valide sur la machine que vous utilisez pour le test
  • Au moins un des éléments suivants est vrai :
    • Le fournisseur SQL Server correspond au nom de l’autorité de certification ou à un des noms DNS du certificat.
    • La propriété de chaîne de connexion HostNameInCertificate correspond au nom de l’autorité de certification ou à un des noms DNS du certificat.