Éléments de sécurité de la réplication

Mis à jour : 12 décembre 2006

Quel que soit le système logiciel à sécuriser, trois éléments incontournables sont à prendre en compte : l'authentification, l'autorisation et le chiffrement :

  • L'authentification est le processus selon lequel une entité (généralement un ordinateur) vérifie qu'une autre entité, également appelée entité principale, (généralement un autre ordinateur ou un autre utilisateur) est bien ce qu'elle prétend être.
  • L'autorisation est le processus selon lequel une entité principale authentifiée bénéficie de l'accès aux ressources, telles qu'un fichier du système de fichiers ou une table d'une base de données.
  • Le chiffrement est le processus selon lequel des données sont converties dans un format incompréhensible sans clé spéciale et sont donc lues uniquement par le destinataire prévu.

Authentification et autorisation

La sécurité de réplication fait appel à l'authentification et l'autorisation pour contrôler l'accès aux objets de base de données répliqués, aux ordinateurs et aux agents impliqués dans le traitement de la réplication. Trois mécanismes régissent son fonctionnement :

  • Sécurité de l'agent
    Le modèle de sécurité de l'agent de réplication permet un contrôle fin sur les comptes sous lesquels les agents de réplication s'exécutent et établissent des connexions. Pour plus d'informations sur le modèle de sécurité de l'agent, consultez Modèle de sécurité de l'Agent de réplication. Pour plus d'informations sur la définition des connexions et des mots de passe des agents, consultez Gestion des connexions et des mots de passe dans la réplication.
  • Rôles d'administration
    Vérifiez que les rôles de base de données et de serveur appropriés sont utilisés pour la configuration, la maintenance et le traitement de la réplication. Pour plus d'informations, consultez Rôles de sécurité requis pour la réplication.
  • Liste d'accès à la publication
    Octroyez l'accès aux publications par l'intermédiaire de cette liste. La liste d'accès à la publication fonctionne de manière similaire à une liste de contrôle d'accès Microsoft Windows. Lorsqu'un Abonné se connecte au serveur de publication ou au serveur de distribution et souhaite accéder à une publication, les informations d'authentification passées par l'agent sont comparées à celles de la liste d'accès à la publication. Pour obtenir plus d'informations et pour connaître les méthodes préconisées concernant la liste d'accès à la publication, consultez Sécurisation du serveur de publication.

Chiffrement

La réplication ne chiffre pas les données stockées dans des tables ou envoyées sur des connexions réseau. Cela est dû à sa conception, car le chiffrement est effectué au niveau du transport grâce à diverses technologies, et dont les technologies standard de l'industrie suivantes : VPN (Virtual Private Networks), SSL (Secure Sockets Layer) et IPSEC (IP Security). Nous vous recommandons l'utilisation de l'une de ces méthodes de chiffrement pour les connexions établies entre des ordinateurs d'une topologie de réplication. Pour plus d'informations, consultez Chiffrement des connexions à SQL Server. Pour plus d'informations sur l'utilisation des réseaux VPN et de SSL pour répliquer des données sur Internet, consultez Sécurité de la réplication sur Internet.

Si vous utilisez SSL pour sécuriser les connexions entre ordinateurs dans une topologie de réplication, spécifiez une valeur de 1 ou 2 pour le paramètre -EncryptionLevel de chaque agent de réplication (une valeur de 2 est recommandée). Une valeur de 1 spécifie que le chiffrement est utilisé, mais l'agent ne vérifie pas si le certificat de serveur SSL est signé par un émetteur fiable ; une valeur de 2 indique que le certificat est vérifié. Les paramètres des agents peuvent être spécifiés dans des profils d'agent et sur la ligne de commande. Pour plus d'informations, consultez :

La réplication se comporte de la façon suivante par rapport aux clés primaires de base de données, utilisées pour chiffrer les données :

  • Si une clé principale apparaît dans une base de données impliquée dans le processus de réplication (base de données de publication, d'abonnement ou de distribution), la réplication chiffre et déchiffre les mots de passe des agents de cette base de données à l'aide d'une clé symétrique de base de données SQL Server 2005. Si des clés primaires sont utilisées, une clé primaire doit être créée dans chaque base de données impliquée dans la réplication. Si aucune clé principale n'est présente dans une base de données intervenant dans la réplication, cette dernière chiffre et déchiffre les mots de passe des agents de cette base de données au moyen de l'algorithme disponible dans SQL Server 2000. Pour plus d'informations sur la création de clés principales, consultez CREATE MASTER KEY (Transact-SQL).
  • La réplication ne réplique pas les clés primaires. Si vous avez besoin de la clé primaire sur l'Abonné, vous devez l'exporter à partir de la base de données du publication à l'aide de BACKUP MASTER KEY, puis l'importer dans la base de données d'abonnement à l'aide de RESTORE MASTER KEY. Pour plus d'informations, consultez BACKUP MASTER KEY (Transact-SQL) et RESTORE MASTER KEY (Transact-SQL).
  • Si une clé primaire est définie pour une base de données d'abonnement pouvant être jointe, spécifiez le mot de passe de la clé primaire à l'aide du paramètre @db_master_key_password de sp_attachsubscription (Transact-SQL). La base de données est ainsi jointe sur l'Abonné.

Pour plus d'informations sur le chiffrement et les clés primaires, consultez Hiérarchie de chiffrement.

La réplication vous permet de publier des données de colonnes chiffrées. Pour déchiffrer et exploiter ces données sur l'Abonné, la clé employée pour chiffrer les données sur le serveur de publication doit également être présente sur l'Abonné. La réplication n'offre pas un mécanisme sécurisé de transport des clés de chiffrement. Vous devez manuellement recréer la clé de chiffrement sur l'Abonné. Pour plus d'informations, consultez Procédure : répliquer des données dans des colonnes chiffrées (SQL Server Management Studio).

Filtrage des données publiées

Outre l'utilisation de l'authentification et de l'autorisation pour contrôler l'accès aux données et aux objets répliqués, la réplication comprend deux options permettant de contrôler les données disponibles sur un Abonné : le filtrage des colonnes et le filtrage des lignes. Pour plus d'informations sur le filtrage, consultez Filtrage des données publiées.

Lorsque vous définissez un article, vous pouvez publier uniquement les colonnes nécessaires pour la publication et omettre celles dont vous n'avez pas besoin ou qui des données sensibles. Par exemple, lorsque vous publiez la table Customer de la base de données AdventureWorks pour des commerciaux sur le terrain, vous pouvez omettre la colonne AnnualSales qui ne concerne que les cadres de l'entreprise.

Le filtrage des données publiées vous permet de restreindre l'accès aux données et de spécifier les données qui sont disponibles sur l'abonné. Par exemple, vous pouvez filtrer la table Customer afin que les partenaires de l'entreprise ne reçoivent que les informations sur les clients dont la colonne ShareInfo a la valeur « Oui ». Pour la réplication de fusion, il existe des considérations de sécurité à connaître avant d'utiliser un filtre paramétré incluant HOST_NAME(). Pour plus d'informations, consultez la section « Filtrage à l'aide de HOST_NAME() » dans Filtres de lignes paramétrés.

Voir aussi

Concepts

Méthodes préconisées en matière de sécurité de réplication

Autres ressources

Considérations de sécurité pour la réplication

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

12 décembre 2006

Nouveau contenu :