Problem
Pada saat melakukan backup database SQL Server, sebenarnya file backup tersebut masih berupa plain text, dimana kalau dibuka di wordpad atau sejenisnya, masih akan terlihat data record aslinya. Nah, kebutuhannya adalah bagaimana agar file hasil backup tersebut aman tidak bisa dibuka sembarangan, dan yang lebih penting lagi adalah tidak bisa direstore di sembarang server.
Solusi
Kini SQL Server 2008 dilengkapi teknologi yang disebut "Transparent data Encryption" (TDE). TDE ini akan mengaktifkan enkripsi di SQL Server dengan menggunakan algoritma Enkripsi seperti AES dan RSA dengan teknik asymmetric key.
Disebut transparent karena begitu database telah dienkripsi dengan menginstall certificate di database tersebut, maka data yang tersimpan di database, backup file, tempdb dan seterusnya otomatis ter-enkripsi dengan aman.
Langkah-langkah konfigurasi:
- Bikin master key di database master
USE master
go
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'my_Pa$$w0rd'
- Kemudian membuat server-base certificate yang digunakan untuk enkripsi database
CREATE CERTIFICATE NorthwindCert
WITH SUBJECT =' Certificate untuk Northwind Database'
- Selanjutnya, masuk ke database yang akan dienkripsi
USE Northwind
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE NorthwindCert
GO
- Kemudian mengaktifkan enkripsi di database Northwind
ALTER DATABASE Northwind
SET ENCRYPTION ON
- Test dengan melakukan backup database
BACKUP DATABAE Northwind
TO DISK='C:\Northwind_encrypted.bak'
WITH INIT, STATS=10
- Lakukan restore Backup tersebut ke Server Lain, hasilnya .......
Tra..da... anda akan mendapat pesan sebagai berikut :
"Restore failed for Server XXX (Microsoft.SqlServer.SmoExtended)
Additional Information :
System.Data.SqlClient.SqlError : cannot find server certificate with thumprint bla..bla.."
Error diatas muncul karena pada saat restore, system akan mencari Certificate yang sebelumnya sudah ditanam di Database Northwind yang otomatis juga akan ikut di file backup.
Solusinya
Jika mendapatkan Error seperti di atas, lakukan backup Certificate terlebih dahulu di server sebelumnya yang diinstal certificate untuk database Northwind
USE master
GO
BACKUP CERTIFICATE NorthwindCert
TO FILE='C:\NorthwindCert_File.cer'
WITH PRIVATE KEY (FILE = 'C:\NortwindCert_Key.pvk',
ENCRYPTION BY PASSWORD = 'my_Pa$$w0rd'
Kemudian di server Tujuan yang akan digunakan untuk Restore Database, lakukan
USE MASTER
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD='EnKrypt3d_Pa$$w0rd'
GO
- Lakukan import Certificate
CREATE CERTIFICATE NorthwindCert
FROM FILE ='c:\NorthwindCert_File.cer'
WITH PRIVATE KEY (FILE= 'C:\NorthwindCert_Key.pvk',
DECRYPTION BY PASSWORD='my_Pa$$w0rd'
GO
- Kemudian lakukan Restore Database, dan hasilnya... tentunya harus berhasil, kalau tidak berarti ada step yang kelewat..
1 komentar:
Mohon izin jika berkenan saya ingin meminta contact Bapak Mustofa terkait dengan TDE yang ingin saya tanyakan. Terima kasih
Posting Komentar