Cifrado de datos de recuperación en la base de datos
Se aplica a: Configuration Manager (rama actual)
Al crear una directiva de administración de BitLocker, Configuration Manager implementa el servicio de recuperación en un punto de administración. En la página Administración de clientes de la directiva de administración de BitLocker, al configurar los servicios de administración de BitLocker, el cliente realiza una copia de seguridad de la información de recuperación de claves en la base de datos del sitio. Esta información incluye claves de recuperación de BitLocker, paquetes de recuperación y hashes de contraseña de TPM. Cuando los usuarios están bloqueados fuera de su dispositivo protegido, puede usar esta información para ayudarles a recuperar el acceso al dispositivo.
Dada la naturaleza confidencial de esta información, debe protegerla. Configuration Manager requiere una conexión HTTPS entre el cliente y el servicio de recuperación para cifrar los datos en tránsito a través de la red. Para obtener más información, consulte Cifrado de datos de recuperación a través de la red.
Considere también la posibilidad de cifrar estos datos cuando se almacenan en la base de datos del sitio. Si instala un certificado de SQL Server, Configuration Manager cifra los datos en SQL.
Si no desea crear un certificado de cifrado de administración de BitLocker, opte por el almacenamiento de texto sin formato de los datos de recuperación. Al crear una directiva de administración de BitLocker, habilite la opción Permitir que la información de recuperación se almacene en texto sin formato.
Nota:
Otra capa de seguridad es cifrar toda la base de datos del sitio. Si habilita el cifrado en la base de datos, no hay ningún problema funcional en Configuration Manager.
Cifre con precaución, especialmente en entornos a gran escala. En función de las tablas que cifre y de la versión de SQL, es posible que observe una degradación del rendimiento de hasta un 25 %. Actualice los planes de copia de seguridad y recuperación para que pueda recuperar correctamente los datos cifrados.
Nota:
Configuration Manager nunca quita ni elimina la información de recuperación de los dispositivos de la base de datos, incluso si el cliente está inactivo o eliminado. Este comportamiento es por motivos de seguridad. Ayuda con escenarios en los que se roba un dispositivo, pero más adelante se recupera. En entornos grandes, el impacto en el tamaño de la base de datos es de aproximadamente 9 KB de datos por volumen cifrado.
SQL Server certificado de cifrado
Use este certificado de SQL Server para Configuration Manager para cifrar los datos de recuperación de BitLocker en la base de datos del sitio. Puede crear un certificado autofirmado mediante un script en SQL Server.
Como alternativa, puede usar su propio proceso para crear e implementar este certificado, siempre y cuando cumpla los siguientes requisitos:
El nombre del certificado de cifrado de administración de BitLocker debe ser
BitLockerManagement_CERT
.Cifre este certificado con una clave maestra de base de datos.
Los siguientes SQL Server usuarios necesitan permisos de control en el certificado:
- RecoveryAndHardwareCore
- RecoveryAndHardwareRead
- RecoveryAndHardwareWrite
Implemente el mismo certificado en cada base de datos de sitio de la jerarquía.
Cree el certificado con la versión más reciente de SQL Server.
Importante
- Los certificados creados con SQL Server 2016 o posterior son compatibles con SQL Server 2014 o versiones anteriores.
- Los certificados creados con SQL Server 2014 o versiones anteriores no son compatibles con SQL Server 2016 o posterior.
Administración del certificado de cifrado en SQL Server actualización
Si la base de datos del sitio está en SQL Server 2014 o anterior, antes de actualizar SQL Server a la versión 2016 o posterior, use el procedimiento siguiente para rotar el certificado a una versión compatible.
En una instancia de SQL Server ejecutar la versión más reciente disponible, al menos la versión 2016:
En la instancia de SQL Server con la base de datos de sitio cifrada que tiene previsto actualizar:
Mueva el certificado existente en el servidor de base de datos de sitio SQL Server instancia a otro nombre.
Gire el nuevo certificado en para el certificado existente. Uso de la función SQL proporcionada
[RecoveryAndHardwareCore].[RecryptKey]
Importante
Si actualiza SQL Server antes de rotar el certificado, póngase en contacto con Soporte técnico de Microsoft para obtener ayuda con un trabajo.
También puede usar este proceso si los requisitos empresariales especifican que necesita renovar periódicamente este certificado.
Scripts de ejemplo
Estos scripts SQL son ejemplos para crear e implementar un certificado de cifrado de administración de BitLocker en la base de datos de sitio Configuration Manager.
Creación de un certificado
Este script de ejemplo realiza las siguientes acciones:
- Crea un certificado
- Establece los permisos
- Crea una clave maestra de base de datos
Antes de usar este script en un entorno de producción, cambie los valores siguientes:
- Nombre de base de datos del sitio (
CM_ABC
) - Contraseña para crear la clave maestra (
MyMasterKeyPassword
) - Fecha de expiración del 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:
La fecha de expiración del certificado no se comprueba ni se aplica SQL Server cuando el certificado se usa para el cifrado de base de datos, como sucede aquí.
Si los requisitos empresariales especifican que renueva periódicamente este certificado, use el mismo proceso para administrar el certificado de cifrado en SQL Server actualización.
Copia de seguridad del certificado
Este script de ejemplo hace una copia de seguridad de un certificado. Al guardar el certificado en un archivo, puede restaurarlo a otras bases de datos de sitio de la jerarquía.
Antes de usar este script en un entorno de producción, cambie los valores siguientes:
- Nombre de base de datos del sitio (
CM_ABC
) - Ruta de acceso y nombre del archivo (
C:\BitLockerManagement_CERT_KEY
) - Exportar contraseña de clave (
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
Realice siempre una copia de seguridad del certificado. En caso de que necesite recuperar la base de datos del sitio, es posible que tenga que restaurar el certificado para recuperar el acceso a las claves de recuperación.
Almacene el archivo de certificado exportado y la contraseña asociada en una ubicación segura.
Restaurar certificado
Este script de ejemplo restaura un certificado a partir de un archivo. Use este proceso para implementar un certificado que creó en otra base de datos de sitio.
Antes de usar este script en un entorno de producción, cambie los valores siguientes:
- Nombre de base de datos del sitio (
CM_ABC
) - Contraseña de clave maestra (
MyMasterKeyPassword
) - Ruta de acceso y nombre del archivo (
C:\BitLockerManagement_CERT_KEY
) - Exportar contraseña de clave (
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
Comprobación del certificado
Use este script SQL para comprobar que SQL Server creado correctamente el certificado con los permisos necesarios.
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 el certificado es válido, el script devuelve un valor de 1
.
Vea también
Para obtener más información sobre estos comandos SQL, consulte los artículos siguientes:
- claves de cifrado de SQL Server y base de datos
- Creación de un certificado
- Certificado de copia de seguridad
- Creación de una clave maestra
- Clave maestra de copia de seguridad
- Concesión de permisos de certificado