Chapter 1 Securing Your Server and Network(11):使用透明資料庫加密,chaptersecuring

來源:互聯網
上載者:User

Chapter 1 Securing Your Server and Network(11):使用透明資料庫加密,chaptersecuring
原文出處:http://blog.csdn.net/dba_huangzj/article/details/38398813,專題目錄:http://blog.csdn.net/dba_huangzj/article/details/37906349

未經作者同意,任何人不得以“原創”形式發布,也不得已用於商業用途,本人不負責任何法律責任。

        前一篇:http://blog.csdn.net/dba_huangzj/article/details/38368737

 

前言:

 

如果沒有對資料庫檔案(MDF/LDF等)做許可權控制,攻擊者可以把這些檔案複製走,然後附加到自己機器上進行分析。第一層保護就是對SQL Server檔案所在的NTFS檔案系統進行許可權管控。如果希望進一步保護資料庫,可以使用透明資料庫加密(Transparent Database Encryption,TDE),這個功能可以保護對應資料庫的所有檔案,不管有多少個檔案。因為檔案已經加密,即使這些檔案被複製走,如果沒有資料庫主要金鑰,也一樣不能使用。同時,這種加密不影響使用者對資料庫的使用,開發人員不需要對此做額外的工作。

需要注意,只有開發版、且一般和資料中心版才支援TDE。

 

實現:

 

1. 建立伺服器加密主要金鑰:

USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '強密碼';


 

2. 馬上備份主要金鑰,並放到安全的地方,如果丟失了主要金鑰,將導致自己都無法使用:

BACKUP MASTER KEY TO FILE = '\\path\SQL1_master.key' ENCRYPTION BY PASSWORD = '強密碼';


其中密碼必須複合Windows 安全性原則要求,並且SQL Server服務帳號要有對對應目錄的寫入權限。

 

3. 在Master庫中建立伺服器憑證:

CREATE CERTIFICATE TDECert WITH SUBJECT = 'TDE Certificate';


4. 備份認證:

BACKUP CERTIFICATE TDECert TO FILE = '\\path\SQL1_TDECert.cer'   WITH PRIVATE KEY (     FILE  = '\\path\SQL1_TDECert.pvk',     ENCRYPTION BY PASSWORD = '另外一個強密碼' );

原文出處:http://blog.csdn.net/dba_huangzj/article/details/38398813

5. 建立對應資料庫的資料庫加密金鑰:

USE 目標資料庫; GO CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128 ENCRYPTION BY SERVER CERTIFICATE TDECert; --TDECert為認證名

原文出處:http://blog.csdn.net/dba_huangzj/article/details/38398813

6. 啟用資料庫加密:

ALTER DATABASE 目標資料庫 SET ENCRYPTION ON;
 

原理:

 

TDE自動加密磁碟上的資料和記錄檔,不需要對資料庫額外修改,並且可以加密所有資料庫或記錄備份。實現方式也很容易。對於密碼編譯演算法,通常可以使用AES_128/192/256 或者Triple_des_3key。其中TRIPLE-DES強度更高。但是可能影響效能。

對於TDE的效能分析,可以訪問這篇文章:http://www.databasejournal.com/features/mssql/article.php/3815501/Performance-Testing-SQL-2008146s-Transparent-Data-Encryption.htm(Performance Testing SQL 2008's Transparent Data Encryption,SQL Server 2008 TDE/透明資料庫加密效能測試)。

如果需要還原加密後的資料庫檔案到另外一台伺服器,需要首先還原認證到目標伺服器:

USE master; CREATE CERTIFICATE TDECert FROM FILE = '\\path\SQL1_TDECert.cer'   WITH PRIVATE KEY (     FILE  = '\\path\SQL1_TDECert.pvk',     DECRYPTION BY PASSWORD = '密碼' );
原文出處:http://blog.csdn.net/dba_huangzj/article/details/38398813

然後就能開始還原資料庫或記錄檔。




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.