Cryptage des données de récupération dans la base de données

Mises à jour vers Configuration Manager (Current Branch)

Lorsque vous créez une stratégie de gestion BitLocker, Configuration Manager déploie le service de récupération sur un point de gestion. Dans la page Gestion des clients de la stratégie de gestion BitLocker, lorsque vous configurez BitLocker Management Services, le client backs up key recovery information to the site database. Ces informations incluent les clés de récupération BitLocker, les packages de récupération et les hages de mot de passe du TPM. Lorsque les utilisateurs sont verrouillés sur leur appareil protégé, vous pouvez utiliser ces informations pour les aider à récupérer l’accès à l’appareil.

Étant donné la nature sensible de ces informations, vous devez les protéger. Configuration Manager nécessite une connexion HTTPS entre le client et le service de récupération pour chiffrer les données en transit sur le réseau. Pour plus d’informations, voir Chiffrer les données de récupération sur le réseau.

Envisagez également de chiffrer ces données lorsqu’elles sont stockées dans la base de données de site. Si vous installez un certificat SQL Server, Configuration Manager chiffre vos données dans SQL.

Si vous ne souhaitez pas créer de certificat de chiffrement de gestion BitLocker, optez pour le stockage en texte simple des données de récupération. Lorsque vous créez une stratégie de gestion BitLocker, activez l’option permettant d’autoriser le stock des informations de récupération en texte simple.

Notes

Une autre couche de sécurité consiste à chiffrer la base de données de site entière. Si vous activez le chiffrement sur la base de données, il n’y a aucun problème fonctionnel dans Configuration Manager.

Chiffrez avec précaution, en particulier dans les environnements à grande échelle. En fonction des tableaux que vous chiffrez et de la version de SQL, vous pouvez remarquer une dégradation des performances de 25 %. Mettez à jour vos plans de sauvegarde et de récupération afin de pouvoir récupérer correctement les données chiffrées.

Notes

Configuration Manager ne supprime jamais les informations de récupération des appareils de la base de données, même si le client est inactif ou supprimé. Ce comportement est valable pour des raisons de sécurité. Il est utile dans les scénarios où un appareil est volé mais récupéré ultérieurement. Pour les environnements de grande taille, l’impact sur la taille de la base de données est d’environ 9 Ko de données par volume chiffré.

SQL Server de chiffrement

Utilisez ce certificat SQL Server configuration Manager pour chiffrer les données de récupération BitLocker dans la base de données de site. Vous pouvez créer un certificat auto-signé à l’aide d’un script SQL Server.

Vous pouvez également utiliser votre propre processus pour créer et déployer ce certificat, à condition qu’il réponde aux exigences suivantes :

  • Le nom du certificat de chiffrement de gestion BitLocker doit être BitLockerManagement_CERT .

  • Chiffrez ce certificat avec une clé principale de base de données.

  • Les utilisateurs SQL Server les autorisations de contrôle sur le certificat sont les suivantes :

    • RecoveryAndHardwareCore
    • RecoveryAndHardwareRead
    • RecoveryAndHardwareWrite
  • Déployez le même certificat sur chaque base de données de site de votre hiérarchie.

  • Créez le certificat avec la dernière version de SQL Server.

    Important

    • Les certificats créés SQL Server 2016 ou ultérieur sont compatibles avec SQL Server 2014 ou une antérieure.
    • Les certificats créés SQL Server 2014 ou une SQL Server 2016 ou ultérieure ne sont pas compatibles.

Gérer le certificat de chiffrement lors SQL Server mise à niveau

Si votre base de données de site est sur SQL Server 2014 ou une version antérieure, avant de mettre à niveau SQL Server vers la version 2016 ou ultérieure, utilisez la procédure suivante pour faire pivoter le certificat vers une version prise en charge.

  1. Sur une instance de SQL Server exécutant la dernière version disponible, au moins la version 2016 :

    1. Créer un certificat

    2. Back up the new certificate

  2. Sur l’SQL Server avec la base de données de sites chiffrée que vous prévoyez de mettre à niveau :

    1. Déplacez le certificat existant sur le serveur de base de données de site SQL Server instance vers un autre nom.

    2. Restituer le nouveau certificat.

    3. Faites pivoter le nouveau certificat pour le certificat existant. Utiliser la fonction SQL fournie[RecoveryAndHardwareCore].[RecryptKey]

Important

Si vous effectuez une mise SQL Server avant de faire pivoter le certificat, contactez le Support Microsoft pour obtenir de l’aide sur la marche à prendre.

Vous pouvez également utiliser ce processus si les besoins de votre entreprise spécifient que vous devez régulièrement renouveler ce certificat.

Exemples de scripts

Ces scripts SQL exemples pour créer et déployer un certificat de chiffrement de gestion BitLocker dans la base de données de site Configuration Manager.

Créer un certificat

Cet exemple de script fait les actions suivantes :

  • Crée un certificat
  • Définit les autorisations
  • Crée une clé principale de base de données

Avant d’utiliser ce script dans un environnement de production, modifiez les valeurs suivantes :

  • Nom de la base de données de site ( CM_ABC )
  • Mot de passe pour créer la clé principale ( MyMasterKeyPassword )
  • Date d’expiration du certificat ( 20391022 )
USE CM_ABC
IF NOT EXISTS (SELECT name FROM sys.symmetric_keys WHERE name = '##MS_DatabaseMasterKey##')
BEGIN
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MyMasterKeyPassword'
END

IF NOT EXISTS (SELECT name from sys.certificates WHERE name = 'BitLockerManagement_CERT')
BEGIN
    CREATE CERTIFICATE BitLockerManagement_CERT AUTHORIZATION RecoveryAndHardwareCore
    WITH SUBJECT = 'BitLocker Management',
    EXPIRY_DATE = '20391022'

    GRANT CONTROL ON CERTIFICATE ::BitLockerManagement_CERT TO RecoveryAndHardwareRead
    GRANT CONTROL ON CERTIFICATE ::BitLockerManagement_CERT TO RecoveryAndHardwareWrite
END

Notes

La date d’expiration du certificat n’est pas vérifiée ou appliquée par SQL Server lorsque le certificat est utilisé pour le chiffrement de base de données, comme c’est le cas ici.

Si les besoins de votre entreprise spécifient que vous renouvelez régulièrement ce certificat, utilisez le même processus pour gérer le certificat de chiffrement lors SQL Server mise à niveau.

Certificat de la back up

Cet exemple de script permet de récupérer un certificat. Lorsque vous enregistrez le certificat dans un fichier, vous pouvez le restaurer dans d’autres bases de données de site dans la hiérarchie.

Avant d’utiliser ce script dans un environnement de production, modifiez les valeurs suivantes :

  • Nom de la base de données de site ( CM_ABC )
  • Chemin d’accès et nom du fichier ( C:\BitLockerManagement_CERT_KEY )
  • Exporter le mot de passe de la clé ( MyExportKeyPassword )
USE CM_ABC
BACKUP CERTIFICATE BitLockerManagement_CERT TO FILE = 'C:\BitLockerManagement_CERT'
    WITH PRIVATE KEY ( FILE = 'C:\BitLockerManagement_CERT_KEY',
        ENCRYPTION BY PASSWORD = 'MyExportKeyPassword')

Important

Toujours back up the certificate. Si vous avez besoin de récupérer la base de données de site, vous devrez peut-être restaurer le certificat pour pouvoir accéder de nouveau aux clés de récupération.

Stockez le fichier de certificat exporté et le mot de passe associé dans un emplacement sécurisé.

Restaurer un certificat

Cet exemple de script restaure un certificat à partir d’un fichier. Utilisez ce processus pour déployer un certificat que vous avez créé sur une autre base de données de sites.

Avant d’utiliser ce script dans un environnement de production, modifiez les valeurs suivantes :

  • Nom de la base de données de site ( CM_ABC )
  • Mot de passe de clé principale ( MyMasterKeyPassword )
  • Chemin d’accès et nom du fichier ( C:\BitLockerManagement_CERT_KEY )
  • Exporter le mot de passe de la clé ( MyExportKeyPassword )
USE CM_ABC
IF NOT EXISTS (SELECT name FROM sys.symmetric_keys WHERE name = '##MS_DatabaseMasterKey##')
BEGIN
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MyMasterKeyPassword'
END

IF NOT EXISTS (SELECT name from sys.certificates WHERE name = 'BitLockerManagement_CERT')
BEGIN

CREATE CERTIFICATE BitLockerManagement_CERT AUTHORIZATION RecoveryAndHardwareCore
FROM FILE  = 'C:\BitLockerManagement_CERT'
    WITH PRIVATE KEY ( FILE = 'C:\BitLockerManagement_CERT_KEY',
        DECRYPTION BY PASSWORD = 'MyExportKeyPassword')

GRANT CONTROL ON CERTIFICATE ::BitLockerManagement_CERT TO RecoveryAndHardwareRead
GRANT CONTROL ON CERTIFICATE ::BitLockerManagement_CERT TO RecoveryAndHardwareWrite
END

Vérifier le certificat

Utilisez ce script SQL pour vérifier qu’SQL Server correctement créé le certificat avec les autorisations requises.

USE CM_ABC
declare @count int
select @count = count(distinct u.name) from sys.database_principals u
join sys.database_permissions p on p.grantee_principal_id = u.principal_id or p.grantor_principal_id = u.principal_id
join sys.certificates c on c.certificate_id = p.major_id
where u.name in('RecoveryAndHardwareCore', 'RecoveryAndHardwareRead', 'RecoveryAndHardwareWrite') and
c.name = 'BitLockerManagement_CERT' and p.permission_name like 'CONTROL'
if(@count >= 3) select 1
else select 0

Si le certificat est valide, le script renvoie la valeur 1 .

Voir aussi

Pour plus d’informations sur SQL commande, consultez les articles suivants :

Prochaines étapes

Déployer le client de gestion BitLocker