Partilhar via


Encriptar dados de recuperação na base de dados

Aplica-se a: Configuration Manager (ramo atual)

Quando cria uma política de gestão BitLocker, o Gestor de Configuração implementa o serviço de recuperação num ponto de gestão. Na página de Gestão de Clientes da política de gestão BitLocker, quando configurar serviços de gestão bitLocker, o cliente faz o back up informações de recuperação chave para a base de dados do site. Esta informação inclui chaves de recuperação BitLocker, pacotes de recuperação e hashes de senha de TPM. Quando os utilizadores estiverem bloqueados fora do seu dispositivo protegido, pode utilizar estas informações para os ajudar a recuperar o acesso ao dispositivo.

Dada a natureza sensível desta informação, precisa protegê-la. O Gestor de Configuração requer uma ligação HTTPS entre o cliente e o serviço de recuperação para encriptar os dados em trânsito através da rede. Para obter mais informações, consulte os dados de recuperação de encriptação sobre a rede.

Considere também encriptar estes dados quando armazenados na base de dados do site. Se instalar um certificado de SQL Server, o Gestor de Configuração encripta os seus dados em SQL.

Se não quiser criar um certificado de encriptação de gestão BitLocker, opte pelo armazenamento de texto simples dos dados de recuperação. Quando criar uma política de gestão BitLocker, ative a opção de permitir que as informações de recuperação sejam armazenadas em texto simples.

Nota

Outra camada de segurança é encriptar toda a base de dados do site. Se ativar a encriptação na base de dados, não existem problemas funcionais no Gestor de Configurações.

Criptografe com cuidado, especialmente em ambientes de grande escala. Dependendo das tabelas que encripta e da versão de SQL, poderá notar até uma degradação de desempenho de 25%. Atualize os seus planos de backup e recuperação, para que possa recuperar com sucesso os dados encriptados.

Nota

O Gestor de Configuração nunca remove ou elimina informações de recuperação de dispositivos da base de dados, mesmo que o cliente esteja inativo ou eliminado. Este comportamento é por razões de segurança. Ajuda em cenários onde um dispositivo é roubado, mas depois recuperado. Para os grandes ambientes, o impacto no tamanho da base de dados é de cerca de 9 KB de dados por volume encriptado.

SQL Server certificado de encriptação

Utilize este certificado de SQL Server para o Gestor de Configuração encriptar os dados de recuperação do BitLocker na base de dados do site. Pode criar um certificado auto-assinado usando um script em SQL Server.

Em alternativa, pode utilizar o seu próprio processo para criar e implantar este certificado, desde que cumpra os seguintes requisitos:

  • O nome do certificado de encriptação de gestão BitLocker deve ser BitLockerManagement_CERT .

  • Criptografe este certificado com uma chave principal de base de dados.

  • Os seguintes SQL Server os utilizadores precisam de permissões de Controlo no certificado:

    • RecoveryAndHardwareCore
    • RecoveryAndHardwareRead
    • RecoveryAndHardwareWrite
  • Implemente o mesmo certificado em todas as bases de dados do site da sua hierarquia.

  • Crie o certificado com a versão mais recente do SQL Server no seu ambiente. Por exemplo:

    • Os certificados criados com SQL Server 2016 ou posteriormente são compatíveis com SQL Server 2014 ou mais cedo.
    • Os certificados criados com SQL Server 2014 ou anteriormente não são compatíveis com SQL Server 2016 ou posteriormente.

Scripts de exemplo

Estes SQL scripts são exemplos para criar e implementar um certificado de encriptação de gestão BitLocker na base de dados do site do Gestor de Configuração.

Criar certificado

Este guião de amostra faz as seguintes ações:

  • Cria um certificado
  • Define as permissões
  • Cria uma chave principal de base de dados

Antes de utilizar este script num ambiente de produção, altere os seguintes valores:

  • Nome da base de dados do site CM_ABC ()
  • Senha para criar a chave principal MyMasterKeyPassword ()
  • Data de validade do certificado 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

Nota

A data de validade do certificado não é verificada ou executada por SQL Server quando o certificado é utilizado para encriptação de base de dados, como é o caso aqui.

Certificado de back-up

Este guião de amostra confirma um certificado. Quando guardar o certificado num ficheiro, pode restaurá-lo para outras bases de dados do site na hierarquia.

Antes de utilizar este script num ambiente de produção, altere os seguintes valores:

  • Nome da base de dados do site CM_ABC ()
  • Caminho e nome do arquivo C:\BitLockerManagement_CERT_KEY ()
  • Senha-chave de exportação 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')

Importante

Guarde o ficheiro de certificado exportado e a palavra-passe associada num local seguro.

Certificado de restauro

Este script de amostra restaura um certificado de um ficheiro. Utilize este processo para implementar um certificado que criou noutra base de dados do site.

Antes de utilizar este script num ambiente de produção, altere os seguintes valores:

  • Nome da base de dados do site CM_ABC ()
  • Senha chave principal MyMasterKeyPassword ()
  • Caminho e nome do arquivo C:\BitLockerManagement_CERT_KEY ()
  • Senha-chave de exportação 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

Verificar certificado

Utilize este SQL script para verificar se SQL Server criado com sucesso o certificado com as permissões necessárias.

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

Se o certificado for válido, o script devolve um valor de 1 .

Ver também

Para obter mais informações sobre estes comandos SQL, consulte os seguintes artigos:

Passos seguintes

Implementar cliente de gestão BitLocker