Cifrado de copia de seguridad

Se aplica a:SQL Server

En este artículo se proporciona información general sobre las opciones de cifrado para las copias de seguridad de SQL Server. Incluye detalles del uso, los beneficios y las prácticas recomendadas para el cifrado durante la copia de seguridad.

Información general

A partir de SQL Server 2014 (12.x), SQL Server tiene la capacidad de cifrar los datos mientras crea una copia de seguridad. Al especificar el algoritmo y el sistema de cifrado (un certificado o una clave asimétrica) al crear una copia de seguridad, puede crear un archivo de copia de seguridad cifrado. Todos los destinos de almacenamiento: se admite el almacenamiento de Azure y en el entorno local. Además, las opciones de cifrado se pueden configurar para las operaciones de copia de seguridad administrada de SQL Server en Microsoft Azure, una nueva característica introducida en SQL Server 2014 (12.x).

Para cifrar durante la copia de seguridad, debe especificar un algoritmo y un sistema cifrado para proteger la clave de cifrado. A continuación se exponen las opciones admitidas de cifrado:

  • Algoritmo de cifrado: los algoritmos de cifrado admitidos son: AES 128, AES 192, AES 256 y Triple DES

  • Sistema de cifrado: un certificado o una clave asimétrica

Precaución

Es muy importante realizar una copia de seguridad del certificado o la clave asimétrica, y preferiblemente en una ubicación diferente de la que se usó para cifrar el archivo de copia de seguridad. Sin el certificado o la clave asimétrica, no puede restaurar la copia de seguridad, lo que deja inutilizable el archivo de copia de seguridad. También se debe realizar una copia de seguridad independiente de los certificados almacenados en una base de datos del sistema.

Restaurar la copia de seguridad cifrada: la restauración de SQL Server no requiere que se especifiquen parámetros de cifrado durante la restauración. Requiere que el certificado o la clave simétrica utilizada para cifrar el archivo de copia de seguridad está disponible en la instancia en la que está realizando la restauración. La cuenta de usuario que realiza la restauración debe tener permisos de VIEW DEFINITION en el certificado o la clave. Si restaura la copia de seguridad cifrada en una instancia diferente, debe asegurarse de que el certificado esté disponible en esa instancia.
La secuencia para restaurar una base de datos cifrada en una nueva ubicación es la siguiente:

  1. BACKUP CERTIFICATE (Transact-SQL) en la base de datos antigua
  2. CREATE MASTER KEY (Transact-SQL) en la base de datos master de la nueva ubicación
  3. CREATE CERTIFICATE (Transact-SQL) a partir del certificado de copia de seguridad de la antigua base de datos importada a una ubicación en el nuevo servidor
  4. Restaurar una base de datos a una nueva ubicación (SQL Server)

Si va a restaurar una copia de seguridad desde una base de datos cifrada TDE, el certificado TDE debe estar disponible en la instancia en la que va a restaurar. Para obtener más información, vea Mover una base de datos protegida por TDE a otra instancia de SQL Server.

Ventajas

  1. Cifrar las copias de seguridad de la base de datos ayuda a proteger los datos: SQL Server proporciona la opción de cifrar los datos de copia de seguridad al crear una copia de seguridad.

  2. El cifrado se puede utilizar también para las bases de datos que se cifran mediante TDE.

  3. El cifrado se admite para las copias de seguridad realizadas por las operaciones de copia de seguridad administrada de SQL Server en Microsoft Azure, lo que proporciona una seguridad adicional para las copias de seguridad fuera de las instalaciones.

  4. Esta característica admite varios algoritmos de cifrado, hasta AES de 256 bits. Esto ofrece la opción de seleccionar un algoritmo que se adapte a sus requisitos.

  5. Puede integrar las claves de cifrado con los proveedores de Administración extensible de claves (EKM).

Requisitos previos

Estos son los requisitos previos para cifrar una copia de seguridad:

  1. Crear una clave maestra de base de datos para la base de datos master: la clave maestra de base de datos (DMK) es una clave simétrica que se usa para proteger las claves privadas de certificados y las claves asimétricas presentes en la base de datos. Para obtener más información, vea SQL Server y claves de cifrado de base de datos (motor de base de datos).

  2. Cree un certificado o clave asimétrica para utilizarla en el cifrado de copia de seguridad. Para obtener más información sobre cómo crear un certificado, vea CREATE CERTIFICATE (Transact-SQL). Para obtener más información sobre cómo crear una clave asimétrica, vea CREATE ASYMMETRIC KEY (Transact-SQL).

    Importante

    Solo se admiten las claves asimétricas que residan en una Administración extensible de claves (EKM).

Limitaciones

A continuación se exponen las restricciones que se aplican a las opciones de cifrado:

  • Si utiliza una clave asimétrica para cifrar los datos de copia de seguridad, solo se admiten las claves asimétricas que residan en el proveedor EKM.

  • SQL Server Express y SQL Server Web no admiten el cifrado durante la copia de seguridad. Sin embargo, sí se admite la restauración de una copia de seguridad cifrada en una instancia de SQL Server Express o SQL Server Web.

  • Las versiones anteriores de SQL Server no pueden leer copias de seguridad cifradas.

  • La opción de anexar a un conjunto de copia de seguridad existente no se admite para las copias de seguridad cifradas.

Permisos

La cuenta que realiza las operaciones de copia de seguridad en una base de datos cifrada requiere permisos específicos.

  • Rol de nivel de base de datos db_backupoperator en la base de datos de la que se hace una copia de seguridad. Esto es necesario independientemente del cifrado.

  • Permiso VIEW DEFINITION en el certificado de la base de datos master.

    En el ejemplo siguiente se conceden los permisos adecuados para el certificado.

    USE [master]
    GO
    GRANT VIEW DEFINITION ON CERTIFICATE::[<SERVER_CERT>] TO [<db_account>]
    GO
    

Nota:

El acceso al certificado TDE no es necesario para realizar una copia de seguridad o restaurar una base de datos protegida por TDE.

Métodos de cifrado de copia de seguridad

Las secciones siguientes proporcionan una introducción breve a los pasos para cifrar los datos durante la copia de seguridad. Para ver un tutorial completo de los diferentes pasos para cifrar la copia de seguridad mediante Transact-SQL, vea Crear una copia de seguridad cifrada.

Uso de SQL Server Management Studio

Puede cifrar una copia de seguridad al crear la copia de seguridad de una base de datos en alguno de los siguientes cuadros de diálogo:

  1. Copia de seguridad de la base de datos (página Opciones de copia de seguridad) En la página Opciones de copia de seguridad, puede seleccionar Cifrado y especificar el algoritmo de cifrado y el certificado o la clave asimétrica que va a usar para el cifrado.

  2. Usar el Asistente para planes de mantenimiento Al seleccionar una tarea de copia de seguridad, en la pestaña Opciones de la página Definir la tarea de copia de seguridad , puede seleccionar Cifrado de copia de seguridady especificar el algoritmo de cifrado y el certificado o la clave que se usarán para el cifrado.

Uso de Transact-SQL

La siguiente es una instrucción Transact-SQL de ejemplo para cifrar el archivo de copia de seguridad:

BACKUP DATABASE [MYTestDB]
TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak'
WITH
  COMPRESSION,
  ENCRYPTION
   (
   ALGORITHM = AES_256,
   SERVER CERTIFICATE = BackupEncryptCert
   ),
  STATS = 10
GO

Para obtener la sintaxis completa de la instrucción Transact-SQL, vea BACKUP (Transact-SQL).

Usar PowerShell

En este ejemplo se crean las opciones de cifrado y se usan como valor de parámetro en el cmdlet Backup-SqlDatabase para crear una copia de seguridad cifrada.

$encryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"

Backup-SqlDatabase -ServerInstance . -Database "<myDatabase>" -BackupFile "<myDatabase>.bak" -CompressionOption On -EncryptionOption $encryptionOption

Cree una copia de seguridad del certificado de cifrado y las claves en una ubicación distinta del equipo local donde la instancia esté instalada. Para tener en cuenta escenarios de recuperación de desastres, considere almacenar una copia de seguridad del certificado o la clave en una ubicación fuera de las instalaciones. No puede restaurar una copia de seguridad cifrada sin el certificado usado para cifrarla.

Para restaurar una copia de seguridad cifrada, el certificado original utilizado cuando se realizó la copia de seguridad con la huella digital coincidente debe estar disponible en la instancia en la que va a realizar la restauración. Por consiguiente, el certificado no debe renovarse al caducar ni cambiarse de forma alguna. La renovación puede provocar la actualización el certificado, lo que desencadenaría el cambio de la huella digital y, por consiguiente, invalidaría el certificado para el archivo de copia de seguridad. La cuenta que realiza la restauración debe tener los permisos VIEW DEFINITION en el certificado o la clave simétrica utilizada para cifrar durante la copia de seguridad.

Las copias de seguridad de bases de datos del grupo de disponibilidad se suelen realizar en la réplica de copia de seguridad preferida. Si restaura una copia de seguridad en una réplica distinta de aquella en la que se creó la copia de seguridad, asegúrese de que el certificado original usado para la copia de seguridad está disponible en la réplica donde va a realizar la restauración.

Si la base de datos está habilitada para usar TDE, elija distintos certificados o claves asimétricas para cifrar la base de datos y la copia de seguridad a fin de aumentar la seguridad.