TDE (Transparent Data Encryption)

Muitas medidas de segurança podem ser tomadas em contexto de infra-estrutura dentro de uma empresa, porem, em relação aos arquivos de banco de dados, não existe realmente tantas maneiras assim de se previnir que uma pessoa interna copie este arquivo, restaure-o em outra instancia SQL Server e começe a utilizar de forma ilegal seus dados.
Pensando nisso, um recurso interessante que o SQL Server possui é o TDE (Transparent data Encryption, Criptação transparente de dados), que é uma criptografia em tempo real de escrita em nivel de pagina.

Steps para ativação da TDE em uma base de dados:
1. Criar a SMK (Server Master Key, Chave Master do Servidor), com o comando:

	CREATE MASTER KEY ENCRYPTION BY PASSWORD='SuaSenha'

2. Cria um certificado para TDE, após a realização do mesmo, é muito importante a realização do backup do mesmo:

	CREATE CERTIFICATE TdeCert WITH SUBJECT='TDE CERTIFICATE'

3. Criar a DEK (Database Encryption Key, Chave de criptografia da base de dados).
	CREATE DATABASE ENCRYPTION KEY
		WITH ALGORITHM = AES_256
		ENCRYPTION BY SERVER CERTIFICATE TdeCert

4. Ative a criptografia em sua base de dados a partir do comando:

	<font size="2" face="VERDANA" color="blue">ALTER DATABASE SuaBase SET ENCRYPTION ON

Codigos adicionais:
1. Criar um backup do seu certificado:

	BACKUP CERTIFICATE TdeCert TO FILE = 'C:\Folder1\Folder2\HostName_TdeCert'
	WITH PRIVATE KEY(FILE = 'C:\Folder1\Folder2\HostName_TdeCert',
	ENCRYPTION BY PASSWORD = 'SuaSenha')

2. Restaurar um certificado em outro servidor caso exista a necessidade de movimentação de bases ou restore (Comandos executados em outro servidor, onde a TDE não foi ativada):

	USE MASTER
	CREATE SERVER MASTER KEY ENCRYPTION BY PASSWORD = 'SuaSenha'
	CREATE CERTIFICATE TdeCert
	FROM FILE = 'C:\Folder1\Folder2\Folder3\HostName_TdeCert'
	WITH PRIVATE KEY('FILE = 'C:\Folder\Folder2\HostName_TdeCert'
	DECRYPTION BY PASSWORD = 'SuaSenha')

Algumas informações:
– TDE trabalha em nivel de paginas de dados.
– Apenas dados em discos são criptografados, TDE não trabalha com criptografia em memoria.
– Quando uma pagina é gravada em disco, previamente é criptografada.
– Quando uma pagina é requisitada e transportada para a memoria, previamente descriptografada.
– Os algoritmos de criptografia suportados são:
AES_128
AES_192
AES_256
– Dados em SnapShots de uma base criptografada, tambem são criptografados.
– Não se pode habilitar a TDE em bases de sistema.
– Se a base possuir ao menos um FileGroup read-only, não sera possivel a aplicação do TDE.
– TDE esta disponivel apenas nas versões Enterprise e Developer do SQL Server 2008[R2].
– Backups de uma base criptografada, tambem estarão criptografados.
– Sem o backup do certificado, sera impossivel restaurar essa base em outra instancia ou servidor.

Para a monitoração do TDE, utilize a seguinte query:

	SELECT db_name(database_id), encryption_state
	FROM sys.dm_database_encryption_keys

Como conclusões finais é possivel dizer que o recurso TDE é muito interessante em questão de criptografia, claro que a partir do momento em que o mesmo foi ativado, é necessario tomar muito cuidado, principalmente com o certificado, se não, voce pode ter um problema grande em transporte de base de dados, migração de servidores, ou qualquer mudança estrutural, em compensação, oferece uma seguraça muito maior a seus dados.

Anúncios
Post a comment or leave a trackback: Trackback URL.

Trackbacks

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: