Sécurité du transport - Mise en miroir de bases de données - Groupes de disponibilité Always On
S'applique à : SQL Server
La sécurité du transport implique l'authentification et, éventuellement, le chiffrement des messages échangés entre les bases de données. Pour la mise en miroir de bases de données et les groupes de disponibilité Always On, l’authentification et le chiffrement sont configurés sur le point de terminaison de mise en miroir de bases de données. Pour une présentation des points de terminaison de mise en miroir de bases de données, consultez Point de terminaison de mise en miroir de bases de données (SQL Server).
Dans cette rubrique :
Authentification
L'authentification est le processus qui permet de vérifier qu'un utilisateur est la personne qu'il prétend être. Les connexions entre les points de terminaison de mise en miroir de bases de données requièrent une authentification. Les demandes de connexion éventuellement formulées par un partenaire ou un témoin doivent être authentifiées.
Le type d’authentification utilisé par une instance de serveur pour la mise en miroir de bases de données ou les groupes de disponibilité Always On est une propriété du point de terminaison de mise en miroir de bases de données. Deux types de sécurité de transport sont disponibles pour les points de terminaison de mise en miroir de bases de données : l’authentification Windows (SSPI, Security Support Provider Interface) et l’authentification basée sur les certificats.
Authentification Windows
Avec l'authentification Windows, chaque instance de serveur se connecte à l'autre partie à l'aide des informations d'identification Windows du compte d'utilisateur Windows sous lequel le processus est en cours d'exécution. L'authentification Windows peut nécessiter une configuration manuelle des comptes de connexion, comme suit :
Si les instances de SQL Server s’exécutent comme des services sous le même compte de domaine, aucune configuration supplémentaire n’est nécessaire.
Si les instances de SQL Server s’exécutent comme des services sous des comptes de domaine différents (dans les mêmes domaines ou dans des domaines approuvés), la connexion de chaque compte doit être créée dans master sur chacune des autres instances de serveur, et cette connexion doit avoir des autorisations CONNECT sur le point de terminaison.
Si les instances de SQL Server s’exécutent sous le compte de service réseau, la connexion de chaque compte d’ordinateur hôte (DomainName\ComputerName$) doit être créée dans master sur chacun des autres serveurs, et cette connexion doit avoir des autorisations CONNECT sur le point de terminaison. En effet, une instance de serveur s'exécutant sous le compte de service réseau s'authentifie à l'aide du compte de domaine de l'ordinateur hôte.
Notes
Pour obtenir un exemple de configuration d’une session de mise en miroir de bases de données utilisant l’authentification Windows, consultez Exemple : Configuration de la mise en miroir de bases de données en utilisant l’authentification Windows (Transact-SQL).
Certificats
Dans certaines situations, par exemple, quand les instances de serveur ne se trouvent pas dans des domaines approuvés ou que SQL Server s’exécute comme un service local, l’authentification Windows n’est pas disponible. Dans ces cas, ce ne sont pas des informations d'identification utilisateur, mais des certificats, qui sont nécessaires pour authentifier les demandes de connexion. Le point de terminaison de mise en miroir de chaque instance de serveur doit être configuré avec son propre certificat créé localement.
La méthode de chiffrement est établie lorsque le certificat est créé. Pour plus d’informations, consultez Autoriser un point de terminaison de mise en miroir de bases de données à utiliser des certificats pour les connexions sortantes (Transact-SQL). Gérez avec précaution les certificats que vous utilisez.
Une instance de serveur utilise la clé privée de son propre certificat pour établir son identité lors de la configuration d'une connexion. L'instance de serveur qui reçoit la demande de connexion utilise la clé publique du certificat de l'émetteur pour authentifier l'identité de celui-ci. Par exemple, considérons deux instances de serveur, en l'occurrence Serveur_A et Serveur_B. Serveur_A utilise sa clé privée pour chiffrer l'en-tête de connexion avant d'envoyer une demande de connexion à Serveur_B. Serveur_B utilise la clé publique du certificat de Serveur_A pour déchiffrer l'en-tête de connexion. Si l'en-tête déchiffré est correct, Serveur_B sait que l'en-tête a été chiffré par Serveur_A et la connexion est authentifiée. Si l'en-tête déchiffré est incorrect, Serveur_B sait que la demande de connexion n'est pas authentique et refuse la connexion.
Chiffrement des données
Par défaut, un point de terminaison de mise en miroir de bases de données requiert le chiffrement des données envoyées via les connexions de mise en miroir. Dans ce cas, le point de terminaison ne peut se connecter qu'aux points de terminaison utilisant également le chiffrement. Sauf si vous pouvez garantir que votre réseau est sécurisé, il est recommandé d'imposer le chiffrement des connexions de mise en miroir de bases de données. Toutefois, vous pouvez désactiver le chiffrement ou le rendre disponible sans qu'il soit nécessaire. Si le chiffrement est désactivé, les données ne sont jamais chiffrées et le point de terminaison ne peut pas se connecter à un point de terminaison qui requiert le chiffrement. Si le chiffrement est pris en charge, les données ne sont chiffrées que si le point de terminaison opposé prend en charge ou requiert le chiffrement.
Notes
Les points de terminaison de mise en miroir créés par SQL Server Management Studio sont créés avec un chiffrement obligatoire ou désactivé. Pour définir le paramètre de chiffrement sur SUPPORTED, utilisez l’instruction Transact-SQL ALTER ENDPOINT. Pour plus d’informations, consultez ALTER ENDPOINT (Transact-SQL).
Vous pouvez également contrôler les algorithmes de chiffrement qui peuvent être utilisés par un point de terminaison, en spécifiant une des valeurs ci-dessous pour l'option ALGORITHM dans une instruction CREATE ENDPOINT ou ALTER ENDPOINT :
valeur ALGORITHM | Description |
---|---|
RC4 | Indique que le point de terminaison doit utiliser l'algorithme RC4. Il s’agit de la valeur par défaut. ** Avertissement ** L’algorithme RC4 est déprécié. Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Nous vous recommandons d'utiliser AES. |
AES | Indique que le point de terminaison doit utiliser l'algorithme AES. |
AES RC4 | Indique que les deux points de terminaison négocieront un algorithme de chiffrement avec ce point de terminaison, en donnant la préférence à l'algorithme AES. |
RC4 AES | Indique que les deux points de terminaison négocieront un algorithme de chiffrement avec ce point de terminaison, en donnant la préférence à l'algorithme RC4. |
Si les points de terminaison se connectant spécifient les deux algorithmes mais dans des ordres différents, le point de terminaison acceptant la connexion a le dernier mot.
Notes
L'algorithme RC4 est uniquement pris en charge pour des raisons de compatibilité descendante. Le nouveau matériel ne peut être chiffré à l'aide de RC4 ou de RC4_128 que lorsque la base de données se trouve dans le niveau de compatibilité 90 ou 100. (Non recommandé.) Utilisez à la place un algorithme plus récent, tel qu'un des algorithmes AES. Dans SQL Server 2012 (11.x) et versions ultérieures, le matériel chiffré avec RC4 ou RC4_128 peut être déchiffré dans n’importe quel niveau de compatibilité.
Bien que sensiblement plus rapide que AES, RC4 est un algorithme relativement faible, tandis que AES est relativement fort. Par conséquent, nous vous recommandons d'utiliser l'algorithme AES.
Pour plus d’informations sur la syntaxe Transact-SQL permettant de définir le chiffrement, consultez CREATE ENDPOINT (Transact-SQL).
Tâches associées
Pour configurer la sécurité du transport pour un point de terminaison de mise en miroir de bases de données
Voir aussi
Choisir un algorithme de chiffrement
ALTER ENDPOINT (Transact-SQL)
DROP ENDPOINT (Transact-SQL)
Centre de sécurité pour le moteur de base de données SQL Server et Azure SQL Database
Gérer les métadonnées lors de la mise à disposition d'une base de données sur une autre instance de serveur (SQL Server)
Point de terminaison de mise en miroir de bases de données (SQL Server)
sys.database_mirroring_endpoints (Transact-SQL)
sys.dm_db_mirroring_connections (Transact-SQL)
Résoudre les problèmes de configuration de mise en miroir de bases de données (SQL Server)
Résoudre des problèmes de configuration des groupes de disponibilité Always On (SQL Server)