Cas spéciaux pour le chiffrement des connexions à SQL Server
Un ordinateur client doit approuver le certificat de serveur afin que le client puisse demander le chiffrement TLS (Transport Layer Security), et le certificat doit déjà exister sur le serveur. Le scénario le plus courant pour le chiffrement SQL Server implique des environnements qui :
- Force le chiffrement pour toutes les connexions clientes entrantes à SQL Server.
- Utilisez des certificats d’une autorité de certification commerciale publique déjà approuvée par Windows. Le certificat racine correspondant pour l’autorité de certification est installé dans le magasin de certificats Autorités de certification racines de confiance sur tous les ordinateurs de votre réseau.
Dans ce scénario, vous n’avez pas besoin d’effectuer d’autres étapes pour le chiffrement après avoir configuré SQL Server pour le chiffrement, conformément à la procédure décrite dans Configurer le moteur de base de données SQL Server pour crypter les connexions. Cet article fournit les procédures de chiffrement des connexions à SQL Server pour des scénarios moins courants qui ne sont pas couverts dans Configurer le moteur de base de données SQL Server pour crypter les connexions.
Remarque
Pour obtenir la liste complète des participants au programme de certificat racine Microsoft, consultez Liste des participants - Programme de certificat racine de confiance Microsoft.
Utilisez un certificat émis par une autorité de certification commerciale publique ; seuls certains clients ont besoin de connexions chiffrées
Configurez le certificat sur SQL Server conformément à la procédure décrite dans Configurer SQL Server pour utiliser des certificats.
Spécifiez le mot clé de chiffrement dans les propriétés de connexion avec la valeur Yes ou True. Par exemple, si vous utilisez Microsoft ODBC Driver for SQL Server, la chaîne de connexion doit spécifier
Encrypt=yes;
.
Utiliser un certificat émis par une autorité de certification interne, ou créé en utilisant New-SelfSignedCertificate ou makecert
Scénario 1 : Vous voulez chiffrer toutes les connexions à SQL Server
Après avoir effectué les deux procédures documentées dans Étape 1 : Configurer SQL Server pour utiliser des certificats et Étape 2 : Configurer les paramètres de chiffrement dans SQL Server documentée dans Configurer le moteur de base de données SQL Server pour crypter les connexions, utilisez une des options suivantes pour configurer votre application cliente pour le chiffrement.
Option 1 : Configurer les applications clientes pour Faire confiance au certificat de serveur. Ce paramètre fait que le client ignore l’étape qui valide le certificat de serveur et continue avec le processus de chiffrement. Par exemple, si vous utilisez SQL Server Management Studio (SSMS) 20 et versions ultérieures, vous pouvez sélectionner Faire confiance au certificat du serveur dans la page Connexion (ou la page Options dans les versions antérieures).
Option 2 : Sur chaque client, ajoutez l’autorité d’émission du certificat au magasin Autorités racines de confiance en effectuant les étapes suivantes :
Exportez le certificat à partir d’un ordinateur qui exécute SQL Server en utilisant la procédure documentée dans Exporter le certificat de serveur.
Importez le certificat à l’aide de la procédure documentée dans Exporter et importer des certificats.
Scénario 2 : Seuls certains clients ont besoin de connexions chiffrées
Après avoir configuré le certificat pour une utilisation par SQL Server, comme indiqué dans Étape 1 : Configurer SQL Server pour utiliser des certificats dans Configurer le moteur de base de données SQL Server pour crypter les connexions, utilisez une des options suivantes pour configurer votre application cliente pour le chiffrement :
Option 1 : Configurez les applications clientes pour qu’elles approuvent le certificat de serveur, et spécifiez le mot clé de chiffrement dans les propriétés de connexion avec Yes ou True. Par exemple, si vous utilisez Microsoft ODBC Driver for SQL Server, la chaîne de connexion doit spécifier Encrypt=Yes;TrustServerCertificate=Yes;
.
Pour plus d’informations sur les certificats de serveur et le chiffrement, consultez Utilisation de TrustServerCertificate.
Option 2 : Sur chaque client, ajoutez l’autorité d’émission du certificat au magasin Autorités racines de confiance et spécifiez les paramètres de chiffrement avec Yes dans la chaîne de connexion :
Exportez le certificat à partir d’un ordinateur qui exécute SQL Server en utilisant la procédure documentée dans Exporter le certificat depuis un ordinateur exécutant SQL Server.
Spécifiez le mot clé de chiffrement dans les propriétés de connexion avec la valeur Yes ou True. Par exemple, si vous utilisez Microsoft OLE DB Driver pour SQL Server, la chaîne de connexion doit spécifier Use Encryption for Data = True;
Utilisez le certificat auto-signé créé automatiquement par SQL Server
Scénario 1 : Vous voulez chiffrer toutes les connexions entrantes à SQL Server
Activez le chiffrement sur SQL Server en utilisant la procédure Étape 2 : Configurer les paramètres de chiffrement dans SQL Server documentée dans Configurer le moteur de base de données SQL Server pour crypter les connexions.
Configurez les applications clientes pour approuver le certificat de serveur. Le fait d’approuver le certificat de serveur fait que le client ignore l’étape qui valide le certificat de serveur et continue le processus de chiffrement. Par exemple, si vous utilisez SQL Server Management Studio (SSMS) 20 et versions ultérieures, vous pouvez sélectionner Faire confiance au certificat du serveur dans la page Connexion (ou la page Options dans les versions antérieures).
Scénario 2 : Seuls certains clients ont besoin de connexions chiffrées
Configurez les applications clientes pour qu’elles approuvent le certificat de serveur, et spécifiez le mot clé de chiffrement dans les propriétés de connexion avec Yes ou True. Par exemple, si vous utilisez Microsoft ODBC Driver for SQL Server, la chaîne de connexion doit spécifier Encrypt=Yes;TrustServerCertificate=Yes;
.
Aucune configuration supplémentaire n’est nécessaire sur le serveur SQL Server pour ce scénario.
Avertissement
Les connexions SSL chiffrées en utilisant un certificat auto-signé ne fournissent pas une sécurité renforcée, car la longueur de la clé dans les certificats auto-signés est plus courte que la clé des certificats générés par l’autorité de certification. Elles sont vulnérables aux attaques de l’intercepteur. Vous ne devez pas vous appuyer sur SSL en utilisant des certificats auto-signés dans un environnement de production ou sur des serveurs connectés à Internet.