Comment crypter votre backup SQL ?

bonjour a tous

La sécurité des informations est l’une des principales priorités d’un administrateur de base de données parmi celle il inclut la sécurité de la sauvegarde

SQL Server 2014 nous offre la possibilité de mettre des sauvegardes cryptées

Cette fonctionnalité est prise en charge sur les versions Enterprise, Business Intelligence et Standard de SQL Server 2014, mais une sauvegarde chiffrée peut être restaurée sur les éditions Web et Express de SQL Server

Une chose à garder à l’esprit est que les sauvegardes cryptées ne peuvent pas être ajoutées à un jeu de sauvegarde existant

Vous devez effectuer une sauvegarde du certificat et des clés de chiffrement, puis les conserver, car une sauvegarde chiffrée ne peut pas être restaurée sans le certificat utilisé pour le chiffrement

je vais vous montrer comment créer une sauvegarde cryptée avec l’ Assistant Base de données de sauvegarde SQL Server Management Studio et le code Transact-SQL

Afin de créer une sauvegarde cryptée, nous devons créer une clé principale de base de données

Create master key encryption by password='ITACADEMY'

Puis Nous devons créer un certificat pour agir en tant que chiffreur

Create certificate cert1 with subject='ITACADEMY'

Maintenant on va procéder a sauvegarder le certificat et  La clé principale du service

La clé principale du service représente la racine de la hiérarchie de chiffrement. Elle doit être sauvegardée et stockée en lieu sûr, en dehors de votre lieu de travail. La création de cette sauvegarde doit être l’une des premières actions administratives effectuées sur le serveur

BACKUP MASTER KEY
TO FILE = 'D:\backup\master_key'
ENCRYPTION BY PASSWORD = 'ITACADEMY';
BACKUP CERTIFICATE cert1
TO FILE = N'D:\backup\MySalaryCert.cer'
WITH PRIVATE KEY
( FILE = N'D:\backup\MySalaryCert.pvk'
, ENCRYPTION BY PASSWORD = N'g8<4G(VkiK3X{s6)'
)

Sans titre

Création de sauvegarde cryptée avec l’assistant de sauvegarde de base de données SSMS

faites un clic droit sur la base de données que vous voulez sauvegarder | sélectionnez l’option « Tâches » et sélectionnez l’option « Sauvegarder … ». Sur la première page de l’assistant, nous choisissons le type et la destination de sauvegarde comme indiqué ci-dessous.

Sans titre

Comme les sauvegardes chiffrées ne peuvent pas être ajoutées à un jeu de sauvegarde existant sur la page « Options média » de l’assistant, nous devons choisir « Sauvegarder vers un nouveau jeu de supports et effacer tous les jeux de sauvegarde existants ». Le nom et la description du nouveau jeu de médias sont facultatifs.

Sans titre

La dernière étape de l’assistant nous permet de chiffrer les sauvegardes en cochant l’option « Encrypt Backup« . Après avoir coché cette option, nous devons sélectionner un algorithme de cryptage et un certificat ou une clé asymétrique comme indiqué ci-dessous

Sans titre

Utilisation de Transact-SQL pour créer des sauvegardes de base de données chiffrées

Ce qui suit est le script Transact-SQL que j’utilise pour sauvegarder toute une base de données Database_Encryption avec un chiffrement à l’aide d’un certificat. Comme vous pouvez le voir, la commande BACKUP DATABASE ci-dessous inclut l’option de chiffrement, où j’ai spécifié un algorithme de chiffrement, et le certificat de serveur que nous avons créé précédemment

BACKUP DATABASE [Database_Encryption] TO DISK = N'D:\backup\Database_Encryption.bak'
WITH COMPRESSION
,ENCRYPTION (ALGORITHM = AES_256
,SERVER CERTIFICATE = cert1)
,STATS = 10
GO

Restauration d’une sauvegarde de base de données chiffrée

La commande permettant de restaurer la sauvegarde cryptée est la même que celle que vous utiliseriez lors de la restauration de la base de données non cryptée. Pour plus d’informations, consultez RESTORE (Transact-SQL)sur les livres MSDN en ligne

Il est important que vous sauvegardiez immédiatement le certificat et la clé principale de base de données (DMK) associée au certificat. Si le certificat devient indisponible ou si vous souhaitez restaurer ou attacher la base de données sur un autre serveur, vous devez disposer des sauvegardes du certificat et du DMK. Sinon, vous ne pourrez pas ouvrir la base de données

Procédant maintenant a faire la suppression du certificat et on faire une opération du restauration

Drop certificate cert1

Faisant maintenant une opération du restauration

Restore headeronly from disk='D:\backup\Database_Encryption.bak'

la résultat du restauration est un message d’erreur le message nous indique l’absence du certificat qui est nécessaire pour faire l’opération du restauration

Sans titre

Restaurer la certification

Il n’y a pas de commande RESTORE CERTIFICATE car la commande CREATE CERTIFICATE accomplit la même chose

Pour restaurer le certificat, vous effectuez la même procédure que CREATE CERTIFICATE. Pour mon certificat exporté, j’exécuterai:

Create certificate cert1
from file = N'D:\backup\MySalaryCert.cer'
with private key
( FILE = N'D:\backup\MySalaryCert.pvk'
, decryption by password = N'ITACADEMY'
);

Sans titre.png

NB:Il est très important de sauvegarder le certificat ou la clé asymétrique, et de préférence à un emplacement différent du fichier de sauvegarde utilisé pour le chiffrement. Sans le certificat ou la clé asymétrique, vous ne pouvez pas restaurer la sauvegarde, ce qui rend le fichier de sauvegarde inutilisable

Bonne Chiffrement de vos données