« Sécurisation des bases de données (SQL Server) » : différence entre les versions

De Wiki1000
Ligne 4 : Ligne 4 :
[https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/transparent-data-encryption Transparent data encryption]
[https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/transparent-data-encryption Transparent data encryption]


{{tip|TDE n'est disponible qu'à partir de la version SQL Enterprise et SQL Azure}}
{{tip|TDE n'est disponible qu'à partir de la version SQL Enterprise ainsi que sur SQL Azure}}


A titre d'exemple la mise en oeuvre de TDE peut être réalisée sur la base des scripts suivants :
A titre d'exemple la mise en oeuvre de TDE peut être réalisée sur la base des scripts suivants :

Version du 7 mars 2018 à 09:43

Mise en oeuvre de TDE

TDE est une technologie de Microsoft SQL Server qui permet d'encrypter les données sur disques de manière transparaente pour les Applications.

Transparent data encryption

Tip : TDE n'est disponible qu'à partir de la version SQL Enterprise ainsi que sur SQL Azure

A titre d'exemple la mise en oeuvre de TDE peut être réalisée sur la base des scripts suivants :

USE master;  
GO  
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MySecretPassword';  
go  
CREATE CERTIFICATE MyServerCert WITH SUBJECT = 'My DEK Certificate';  
go  

USE dbMaster800TDESSL;  
GO  
CREATE DATABASE ENCRYPTION KEY  
WITH ALGORITHM = AES_128  
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;  
GO  
ALTER DATABASE dbMaster800TDESSL  
SET ENCRYPTION ON;  
GO  

USE dbDemoSF800;  
GO  
CREATE DATABASE ENCRYPTION KEY  
WITH ALGORITHM = AES_128  
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;  
GO  
ALTER DATABASE dbDemoSF800  
SET ENCRYPTION ON;  
GO  

Mise en oeuvre de SSL

SSL permet d'encrypter les connexions clientes et de chiffrer les données échangées entre le serveur et les clients.

Encrypting connections

Tip : SSL est activé par défaut sur SQL Azure

SSL peut être configuré coté serveur pour forcer toutes les connexions à utiliser SSL, ou bien coté client pour n'encrypter que certaines connexions.

Coté serveur :

Coté client :

Vérification de la connexion

Il est possible de vérifier que le chiffrement est bien activé sur une connexion avec les requêtes suivantes :

SELECT session_id, encrypt_option
FROM sys.dm_exec_connections