Criptografia de backup no SQL Server

0

Atualmente, as violações de segurança ocorrem com muita frequência. Como administradores de banco de dados e/ou desenvolvedores de software, devemos todos tomar cuidado extra com dados confidenciais e garantir que estamos criptografando corretamente.

A partir do SQL 2014, o SQL Server agora tem a capacidade de criptografar seus dados durante o processo de backup. Não só isso, mas eles fizeram o processo simples. Antes de 2014, a única maneira de criptografar backups era a Transparent Data Encryption (TDE) , e isso requer Enterprise Edition, o que tornava isso fora de alcance para a maioria.

Primeiro você deve criar uma chave mestra e um certificado (ou chave assimétrica) . Você notará que o certificado tem uma data de expiração. Se isso expirar, não será possível restaurar seu backup, mas você não poderá executar novos backups até criar um novo certificado. Dependendo do seu ambiente, você pode ter que ter um processo rotineiro de gerenciamento de certificados e renovações. Se você não fizer isso, tome cuidado com a data definida para evitar isso.

//criacao da chave
 USE Master;   
 GO   
 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'COD1G0SimPl3$6hwD8';   
 GO  
   
 USE Master;   
 GO  
 CREATE CERTIFICATE ExampleCert1    
    WITH SUBJECT = 'Teste cripto',    
    EXPIRY_DATE = '20200831';   
 GO  
    

//verificacao se criou corretamente
    SELECT C.name,C.certificate_id,C.pvt_key_encryption_type_desc,C.subject,C.start_date,C.expiry_date FROM sys.certificates AS C WHERE C.name = 'ExampleCert1';  



//setar premissao

use [Master]  
GO  
GRANT VIEW DEFINITION ON CERTIFICATE::[ExampleCert1] TO userCodigoSimples  
GO  

 

Usando a GUI,

No banco de dados MASTER, vá para Segurança e depois para Usuário.

Escolha o usuário que você deseja conceder permissão para ir para as propriedades.

Clique em Securables, você vai notar que está em branco. Você precisa escolher a pesquisa.

Securables

Escolha CERTIFICADOS ,

CERTIFICADOS

Verifique o Certificado para o qual você recebeu direitos e marque GRANT para VER DEFINIÇÃO

VER DEFINIÇÃO

Agora tente fazer o backup do seu banco de dados. Observe a opção Criptografia e o nome do certificado do servidor.

//backup
 BACKUP DATABASE [AdventureWorks2014]   
 TO DISK = N'C:\temp\AWEncrypt.bak'   
 WITH   
   COMPRESSION,   
   ENCRYPTION    
    (   
    ALGORITHM = AES_256,   
    SERVER CERTIFICATE = [ExampleCert1]   
    ),   
   STATS = 10   
 GO  




//restore
USE [master]
RESTORE DATABASE [AdventureWorks2014]
FROM DISK = N 'C: \ temp \ AWEncrypt.bak'   COM ARQUIVO = 1, NOUNLOAD, STATS = 5
IR 

 

A restauração é apenas uma restauração normal, desde que a chave e o certificado estejam presentes nesse servidor. É um processo bastante simples para garantir que seus backups sejam criptografados. A parte complicada é certificar-se de fazer backup da chave mestra e do certificado e protegê-los com segurança. Se você não os tiver, não poderá restaurar (vale a pena repetir). Portanto, dê um passo extra se puder e tornar seus dados ainda mais seguros, criptografando seus backups.

Referencias: CSharCorner / Microsoft

Um grande abraço!

Compartilhe.

Sobre o autor

Criador do blog Código Simples e com mais 9 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist. Atuando em funções analista, desenvolvedor, arquiteto, líder técnico e gestor de equipes. Mais informações em : http://jhonathansoares.com