web-dev-qa-db-fra.com

Options de chiffrement des données dans SQL Server 2008 R2 Standard Edition?

J'aide un ami à configurer le chiffrement des données sur l'édition standard de SQL Server 2008 R2. Après des recherches originales, j'ai pensé que je pouvais utiliser TDE mais je ne savais pas qu'il n'était disponible que pour les versions Enterprise ou DataCenter des serveurs SQL. Après des recherches plus approfondies sur SQL Server 2008 R2 fonctionnalités j'ai vu qu'il permettait le "chiffrement des données et la gestion des clés", mais je ne suis pas sûr de ce que cela signifie ou comment l'implémenter.

Quelle est la méthode la plus efficace et la moins coûteuse pour le chiffrement des données? Dois-je faire quelque chose via SQL Server ou simplement utiliser des outils tiers pour chiffrer tout le volume où se trouvent la base de données et les sauvegardes? Aussi, si quelqu'un peut indiquer un moyen d'utiliser le "chiffrement des données" qui est une fonctionnalité de l'édition standard, j'apprécierais vraiment. Chaque fois que je recherche le chiffrement sur un serveur SQL, je continue à me retrouver sur la façon d'utiliser TDE et dans le scénario actuel, il n'est pas possible pour la taille de l'entreprise d'acheter Enterprise Edition.

Raison du cryptage - Conformité HIPAA. Si l'accès est obtenu au système de fichiers pour la base de données ou les sauvegardes, les données sont cryptées et ne peuvent être d'aucune utilité. Cela peut inclure un accès physique à la machine ou un accès via l'administrateur local.

7
Vladimir Oselsky

Puisque vous utilisez l'édition Standard, vous ne pouvez pas utiliser TDE. Donc, d'autres options sont

Utilisation de clés de chiffrement au niveau de l'instance/de la base de données :

SQL Server possède deux types de clés: symétrique et asymétrique. Les clés symétriques utilisent le même mot de passe pour crypter et décrypter les données. Les clés asymétriques utilisent un mot de passe pour crypter les données (appelé la clé publique) et un autre pour décrypter les données (appelé la clé privée).

SQL Server a deux applications principales pour les clés: une clé principale de service (SMK) générée sur et pour une instance SQL Server et une clé principale de base de données (DMK) utilisée pour une base de données.

En outre, vous pouvez avoir un chiffrement au niveau de la colonne en créant un CHIFFREMENT DE CLÉ MAÎTRE avec CRÉER UN CERTIFICAT, puis CRÉER UNE CLÉ SYMÉTRIQUE.

Un exemple de la façon dont cela peut être fait est décrit à Crypter une colonne de données

Référence: SQL Server et clés de chiffrement de base de données (moteur de base de données)

Au niveau du lecteur :

Utilisation de BitLocker car il s'agit d'une fonctionnalité de protection des données de Drive Encryption disponible Windows Server 2008 R2. Reportez-vous à: Présentation du chiffrement de lecteur BitLocker Il existe de nombreux logiciels open source ou tiers pour effectuer le même travail, mais à un coût supplémentaire.

Remarque: le bit le plus important est TOUJOURS sauvegarder vos clés de chiffrement .

Vous pouvez utiliser un logiciel tiers comme la sauvegarde SQL de Redgate qui vous permet de chiffrer les sauvegardes à l'aide de mots de passe.

Selon le niveau dont vous avez besoin, le chiffrement déterminera s'il vaut la peine de passer à l'édition entreprise ou non. Vous devez évaluer le chiffrement TDE natif par rapport aux clés et certificats de chiffrement par rapport au chiffrement open source par rapport au chiffrement de disque.

8
Kin Shah

Ancienne question, je comprends, mais une réponse en plus des réponses ci-dessus existe depuis SQL Server 2016 SP1.

SQL Server 2016 a introduit "Always Encrypted" ainsi que d'autres fonctionnalités de sécurité comme le masquage dynamique des données et la sécurité au niveau des lignes. Il s'agissait de fonctionnalités initialement publiées dans Enterprise Edition uniquement.

Ils existent désormais en tant que fonctionnalités disponibles dans n'importe quelle référence SQL Server 2016 - Entreprise, Standard ou même Express.

Cela vaut la peine d'être vérifié et mérite d'être examiné maintenant. Vous pouvez en savoir plus à ce sujet sur le site de Microsoft post sur SP1 pour SQL Server 2016 ..

5
Mike Walsh

Tout d'abord, posez la question "pourquoi est-ce que je crypte cette base de données?"

Si la réponse est "de cacher les données aux administrateurs de base de données", le cryptage SQL Server de toute nature n'est pas pas la réponse. Dans ce cas, l'application cliente doit chiffrer les données et stocker le texte chiffré dans la base de données. De cette façon, ni le serveur de base de données ni les administrateurs de base de données (ni les administrateurs réseau également) ne voient jamais de données non chiffrées ou de clés de chiffrement.

Le chiffrement des données sur le client avant de les envoyer au serveur signifie que les fichiers de base de données et les sauvegardes de base de données sont tous chiffrés et protégés contre le vol d'une bande ou d'un disque dur de sauvegarde et sont également protégés contre les comptes d'administrateur frauduleux ou compromis.

Voir l'article du blog de Laurentiu Cristofor Qui a besoin du chiffrement? et Conformité HIPAA avec SQL Server 2008 sur le blog de sécurité SQL Server

3
Greenstone Walker

Réponse initialement laissée comme une modification à la question de l'auteur:

Solution utilisée

Après avoir présenté différentes options à l'administrateur système en charge du projet, il a été décidé d'utiliser le chiffrement de lecteur BitLocker. J'ai arrêté l'instance SQL pendant le processus de cryptage et je n'ai eu aucun problème à le redémarrer une fois le cryptage terminé.

0
user126897