Herstelgegevens in de database versleutelen

Van toepassing op: Configuration Manager (current branch)

Wanneer u een BitLocker-beheerbeleid maakt, implementeert Configuration Manager de herstelservice naar een beheerpunt. Op de pagina Clientbeheer van het BitLocker-beheerbeleid maakt de client een back-up van belangrijke herstelgegevens naar de sitedatabase wanneer u BitLocker Management Services configureert. Deze informatie omvat BitLocker-herstelsleutels, herstelpakketten en TPM-wachtwoordhashes. Wanneer gebruikers zijn vergrendeld van hun beveiligde apparaat, kunt u deze informatie gebruiken om hen te helpen de toegang tot het apparaat te herstellen.

Gezien de gevoelige aard van deze informatie, moet u deze beveiligen. Configuration Manager vereist een HTTPS-verbinding tussen de client en de herstelservice om de gegevens die via het netwerk worden verzonden, te versleutelen. Zie Herstelgegevens versleutelen via het netwerk voor meer informatie.

Overweeg ook deze gegevens te versleutelen wanneer deze worden opgeslagen in de sitedatabase. Als u een SQL Server-certificaat installeert, versleutelt Configuration Manager uw gegevens in SQL.

Als u geen BitLocker-versleutelingscertificaat voor beheer wilt maken, meldt u zich aan voor opslag zonder opmaak van de herstelgegevens. Wanneer u een BitLocker-beheerbeleid maakt, schakelt u de optie Toestaan dat herstelgegevens worden opgeslagen in tekst zonder opmaak in.

Opmerking

Een andere beveiligingslaag is het versleutelen van de hele sitedatabase. Als u versleuteling inschakelt voor de database, zijn er geen functionele problemen in Configuration Manager.

Versleutel met voorzichtigheid, met name in grootschalige omgevingen. Afhankelijk van de tabellen die u versleutelt en de versie van SQL, ziet u mogelijk een prestatievermindering van 25%. Werk uw back-up- en herstelplannen bij, zodat u de versleutelde gegevens kunt herstellen.

Opmerking

Configuration Manager verwijdert of verwijdert nooit herstelgegevens voor apparaten uit de database, zelfs niet als de client inactief of verwijderd is. Dit gedrag is om veiligheidsredenen. Het helpt bij scenario's waarin een apparaat wordt gestolen maar later wordt hersteld. Voor grote omgevingen is de impact op de databasegrootte ongeveer 9 kB aan gegevens per versleuteld volume.

SQL Server-versleutelingscertificaat

Gebruik dit SQL Server-certificaat voor Configuration Manager om BitLocker-herstelgegevens in de sitedatabase te versleutelen. U kunt een zelfondertekend certificaat maken met behulp van een script in SQL Server.

U kunt ook uw eigen proces gebruiken om dit certificaat te maken en te implementeren, mits het voldoet aan de volgende vereisten:

  • De naam van het BitLocker-beheerversleutelingscertificaat moet zijn BitLockerManagement_CERT.

  • Versleutel dit certificaat met een databasehoofdsleutel.

  • De volgende SQL Server gebruikers beheermachtigingen voor het certificaat nodig hebben:

    • RecoveryAndHardwareCore
    • RecoveryAndHardwareRead
    • RecoveryAndHardwareWrite
  • Implementeer hetzelfde certificaat op elke sitedatabase in uw hiërarchie.

  • Maak het certificaat met de nieuwste versie van SQL Server.

    Belangrijk

    • Certificaten die zijn gemaakt met SQL Server 2016 of hoger, zijn compatibel met SQL Server 2014 of eerder.
    • Certificaten die zijn gemaakt met SQL Server 2014 of eerder, zijn niet compatibel met SQL Server 2016 of hoger.

Het versleutelingscertificaat bij SQL Server upgrade beheren

Als uw sitedatabase zich op SQL Server 2014 of eerder bevindt, gebruikt u voordat u SQL Server upgradet naar versie 2016 of hoger, de volgende procedure om het certificaat te roteren naar een ondersteunde versie.

  1. Op een exemplaar van SQL Server waarop de meest recente beschikbare versie wordt uitgevoerd, ten minste versie 2016:

    1. Een nieuw certificaat maken

    2. Een back-up maken van het nieuwe certificaat

  2. Op het SQL Server exemplaar met de versleutelde sitedatabase die u wilt upgraden:

    1. Verplaats het bestaande certificaat op de sitedatabaseserver SQL Server-exemplaar naar een andere naam.

    2. Het nieuwe certificaat herstellen.

    3. Draai het nieuwe certificaat in voor het bestaande certificaat. De opgegeven SQL-functie gebruiken [RecoveryAndHardwareCore].[RecryptKey]

Belangrijk

Als u SQL Server bijwerkt voordat u het certificaat roteert, neemt u contact op met Microsoft Ondersteuning voor hulp bij het omzeilen van het certificaat.

U kunt dit proces ook gebruiken als uw bedrijfsvereisten aangeven dat u dit certificaat regelmatig moet vernieuwen.

Voorbeeldscripts

Deze SQL-scripts zijn voorbeelden voor het maken en implementeren van een BitLocker-beheerversleutelingscertificaat in de Configuration Manager sitedatabase.

Certificaat maken

Met dit voorbeeldscript worden de volgende acties uitgevoerd:

  • Hiermee maakt u een certificaat
  • De machtigingen instellen
  • Hiermee maakt u een hoofdsleutel voor de database

Wijzig de volgende waarden voordat u dit script in een productieomgeving gebruikt:

  • Naam van sitedatabase (CM_ABC)
  • Wachtwoord voor het maken van de hoofdsleutel (MyMasterKeyPassword)
  • Vervaldatum van certificaat (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

Opmerking

De vervaldatum van het certificaat wordt niet gecontroleerd of afgedwongen door SQL Server wanneer het certificaat wordt gebruikt voor databaseversleuteling, zoals hier het geval is.

Als uw bedrijfsvereisten aangeven dat u dit certificaat regelmatig vernieuwt, gebruikt u hetzelfde proces om het versleutelingscertificaat te beheren op SQL Server upgrade.

Een back-up maken van certificaat

Dit voorbeeldscript maakt een back-up van een certificaat. Wanneer u het certificaat opslaat in een bestand, kunt u het vervolgens terugzetten naar andere sitedatabases in de hiërarchie.

Wijzig de volgende waarden voordat u dit script in een productieomgeving gebruikt:

  • Naam van sitedatabase (CM_ABC)
  • Bestandspad en -naam (C:\BitLockerManagement_CERT_KEY)
  • Sleutelwachtwoord exporteren (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')

Belangrijk

Maak altijd een back-up van het certificaat. Als u de sitedatabase wilt herstellen, moet u mogelijk het certificaat herstellen om weer toegang te krijgen tot de herstelsleutels.

Sla het geëxporteerde certificaatbestand en het bijbehorende wachtwoord op een veilige locatie op.

Certificaat herstellen

Met dit voorbeeldscript wordt een certificaat uit een bestand hersteld. Gebruik dit proces om een certificaat te implementeren dat u hebt gemaakt in een andere sitedatabase.

Wijzig de volgende waarden voordat u dit script in een productieomgeving gebruikt:

  • Naam van sitedatabase (CM_ABC)
  • Hoofdsleutelwachtwoord (MyMasterKeyPassword)
  • Bestandspad en -naam (C:\BitLockerManagement_CERT_KEY)
  • Sleutelwachtwoord exporteren (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

Certificaat verifiëren

Gebruik dit SQL-script om te controleren of SQL Server het certificaat met de vereiste machtigingen hebt gemaakt.

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

Als het certificaat geldig is, retourneert het script de waarde van 1.

Zie ook

Zie de volgende artikelen voor meer informatie over deze SQL-opdrachten:

Volgende stappen

BitLocker-beheerclient implementeren