Criptografia de backup

Aplica-se a:SQL Server

Este artigo fornece uma visão geral das opções de criptografia para backups do SQL Server. Ele inclui detalhes do uso, benefícios e práticas recomendadas para criptografia durante o backup.

Visão geral

A partir do SQL Server 2014 (12.x), o SQL Server pode criptografar os dados enquanto cria um backup. Especificando o algoritmo de criptografia e o criptografador (um certificado ou uma chave assimétrica) ao criar um backup, você pode criar um arquivo de backup criptografado. Todos os destinos de armazenamento: há suporte para armazenamento local e do Azure. Além disso, as opções de criptografia podem ser configuradas para operações de backup gerenciado do SQL Server no Microsoft Azure, um novo recurso introduzido no SQL Server 2014 (12.x).

Para realizar a criptografia durante o backup, você deve especificar um algoritmo de criptografia, e um criptografador para proteger a chave de criptografia. Estas são as opções de criptografia com suporte:

  • Algoritmo de criptografia: os algoritmos de criptografia com suporte são: AES 128, AES 192, AES 256 e DES triplo

  • Criptografador: um certificado ou uma chave assimétrica

Cuidado

É muito importante efetuar backup do certificado ou da chave assimétrica e, preferencialmente, em um local diferente do arquivo de backup usado para criptografar. Sem o certificado ou a chave assimétrica, você não pode restaurar o backup, tornando o arquivo de backup inutilizável. O backup de certificados armazenados em um banco de dados do sistema independente também deverá ser efetuado.

Restauração do backup criptografado: a restauração do SQL Server não requer nenhum parâmetro de criptografia a ser especificado durante as restaurações. Ela requer que o certificado ou a chave assimétrica usada para criptografar o arquivo de backup esteja disponível na instância em que você está fazendo a restauração. A conta de usuário que executa a restauração deve ter as permissões VIEW DEFINITION no certificado ou na chave. Se você estiver restaurando o backup criptografado para uma instância diferente, verifique se o certificado está disponível nessa instância.
A sequência para restaurar um banco de dados criptografado para um novo local é:

  1. BACKUP CERTIFICATE (Transact-SQL) no banco de dados antigo
  2. CREATE MASTER KEY (Transact-SQL) no banco de dados master do novo local
  3. CREATE CERTIFICATE (Transact-SQL) do certificado de backup do banco de dados antigo importado para um local no novo servidor
  4. Restaurar um banco de dados em um novo local (SQL Server)

Se você estiver restaurando um backup de um banco de dados criptografado TDE, o certificado TDE deverá estar disponível na instância para a qual você estiver restaurando. Para obter mais informações, confira Mover um banco de dados protegido por TDE para outro SQL Server.

Benefícios

  1. A criptografia dos backups de banco de dados ajuda a proteger os dados: o SQL Server oferece a opção para criptografar os dados do backup ao criar um backup.

  2. A criptografia também pode ser usada para bancos de dados criptografados usando a TDE.

  3. Há suporte para a criptografia nos backups feitos pelo backup gerenciado do SQL Server no Microsoft Azure, que fornece segurança adicional para backups externos.

  4. Esse recurso oferece suporte a vários algoritmos de criptografia até AES de 256 bits. Isso permite que você selecione um algoritmo que atenda aos seus requisitos.

  5. Você pode integrar chaves de criptografia com provedores de EKM (Gerenciamento Extensível de Chaves).

Pré-requisitos

Estes são os pré-requisitos para criptografar um backup:

  1. Criar uma chave mestra de banco de dados para o banco de dados master: a chave mestra de banco de dados (DMK) é uma chave simétrica usada para proteger as chaves privadas dos certificados e as chaves assimétricas presentes no banco de dados. Para obter mais informações, consulte Chaves de criptografia do SQL Server e banco de dados (Mecanismo de Banco de Dados).

  2. Crie um certificado ou uma chave assimétrica a ser usada na criptografia de backup. Para obter mais informações sobre a criação de um certificado, consulte CREATE CERTIFICATE (Transact-SQL). Para obter mais informações sobre a criação de uma chave assimétrica, consulte CREATE ASYMMETRIC KEY (Transact-SQL).

    Importante

    Há suporte somente para chaves assimétricas que residem em um EKM (Gerenciamento Extensível de Chaves).

Limitações

Estas são as restrições que se aplicam às opções de criptografia:

  • Se você estiver usando a chave assimétrica para criptografar os dados de backup, haverá suporte somente para as chaves assimétricas que residem no provedor EKM.

  • O SQL Server Express e o SQL Server Web não oferecem suporte à criptografia durante o backup. No entanto, há suporte para a restauração de um backup criptografado para uma instância do SQL Server Express ou SQL Server Web.

  • As versões anteriores do SQL Server não podem ler backups criptografados.

  • Não há suporte para a anexação a uma opção de conjunto de backup existente em backups criptografados.

Permissões

A conta que faz operações de backup em um banco de dados criptografado requer permissões específicas.

  • A função de nível de banco de dados db_backupoperator no banco de dados cujo backup está sendo feito. Isso é necessário independentemente da criptografia.

  • Permissão VIEW DEFINITION no certificado no banco de dados master.

    O exemplo a seguir concede as permissões apropriadas para o certificado.

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

Observação

Não é necessário ter acesso ao certificado TDE para fazer backup ou restaurar um banco de dados protegido.

Métodos de criptografia de backup

As seções a seguir fornecem uma breve introdução às etapas de criptografia dos dados durante o backup. Para obter um passo a passo completo das diferentes etapas de criptografia de backup usando o Transact-SQL, consulte Criar um backup criptografado.

Usar o SQL Server Management Studio

Você pode criptografar um backup ao criar o backup de um banco de dados em qualquer uma destas caixas de diálogo:

  1. Backup de Banco de Dados (página Opções de Backup) Na página Opções de Backup, selecione Criptografia; em seguida, especifique o algoritmo de criptografia e o certificado ou a chave assimétrica a serem usados na criptografia.

  2. Usando o Assistente de Plano de Manutenção Ao selecionar uma tarefa de backup, na guia Opções da página Define Backup ()Task (Definir ()Tarefa de Backup) , selecione Criptografia de Backupe especifique o algoritmo de criptografia e o certificado ou a chave a serem usados na criptografia.

Usar o Transact-SQL

Este é um exemplo de instrução Transact-SQL para criptografar o arquivo de backup:

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 obter a sintaxe completa da instrução Transact-SQL, consulte BACKUP (Transact-SQL).

Usar o PowerShell

Esse exemplo cria as opções de criptografia e as utiliza como um valor de parâmetro no cmdlet Backup-SqlDatabase para criar um backup criptografado.

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

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

Crie um backup do certificado e das chaves de criptografia em um local que não seja o computador local em que a instância está instalada. Para dar conta de cenários de recuperação de desastre, é recomendável armazenar um backup do certificado ou da chave em um local externo. Não é possível restaurar um backup criptografado sem o certificado usado para criptografar o backup.

Para restaurar um backup criptografado, o certificado original usado quando o backup foi feito com a impressão digital correspondente deve estar disponível na instância para a qual você está restaurando. Portanto, o certificado não deve ser renovado quando expirar nem alterado de forma alguma. A renovação pode resultar na atualização do certificado que está disparando a alteração da impressão digital, tornando o certificado inválido para o arquivo de backup. A conta que executa a restauração deve ter as permissões VIEW DEFINITION no certificado ou na chave assimétrica usada na criptografia durante o backup.

Os backups de banco de dados do Grupo de Disponibilidade são tipicamente executados na réplica de backup preferencial. Se restaurar um backup em uma réplica diferente daquela em que foi feito o backup, verifique se o certificado original usado para o backup está disponível na réplica para a qual você está restaurando.

Se o banco de dados for habilitado para TDE, escolha diferentes certificados ou chaves assimétricas na criptografia do banco de dados e do backup para aumentar a segurança.