Sécurisation des bases de données (SQL Server)
Ligne 78 : | Ligne 78 : | ||
[[Category:Base de données]] | [[Category:Base de données]] | ||
+ | [[Category:Version800]] |
Version du 7 mars 2018 à 12:54
Sommaire |
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.
Voir ici : Transparent data encryption
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
Alternative à TDE
Il existe des solutions alternatives à la mise en oeuvre de TDE.
- Bitlocker
- Bitlocker est une solution de cryptage de disque mais n'offre pas le même niveau de sécurité que TDE, en particulier un utilisateur connecté sur le serveur peut accéder aux fichiers de données de SQL non cryptés. Il n'est pas recommandé d'utiliser Bitlocker.
- SQL Server always encrypted (A partir SQL Server 2016 SP1)
- SQL Server always encrypted nécessite des modifications de l'application et n'est pas supporté.
- dbdefence est une solution tiers équivalente à TDE. dbdefence a été testé avec succès mais n'est pas supporté.
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.
Voir ici : Encrypting connections
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